我们知道recvfrom函数具有以下提要可以从Socket的recvfrom函数中提取发件人的IP地址吗?
SYNOPSIS
#include <sys/socket.h>
int recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen);
的从具有的sockaddr的结构。
struct sockaddr {
__uint8_t sa_len; // total length
sa_family_t sa_family; // [XSI] address family
char sa_data[14]; // [XSI] addr value (actually larger)
};
但sockaddr似乎无法保存IP地址。
不宜recvfrom的是使用结构socaddr_in *从因为
struct sockaddr_in {
__uint8_t sin_len;
sa_family_t sin_family;
in_port_t sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
而sin_addr会给IP地址。这是一个有效的假设吗?
当你尝试过时发生了什么? – EJP