从套接字接受数据后,我可以查看数据的标头吗?我想知道在多个接口上监听时数据包被发送到哪个IP地址。
答案 0 :(得分:3)
您可以使用getsockname
来获取套接字的本地IP地址。
int getsockname(int socket, struct sockaddr *restrict address,
socklen_t *restrict address_len);
以下是一个例子:
struct sockaddr_in addr;
socklen_t len = sizeof(addr);
memset(&addr, 0, sizeof(addr));
getsockname(s, &addr, &len);