recvfrom的使用技能之第一次接受打印出的发送方IP地址总是0.0.0.0

while(1)

{

    recvfrom(sockfd, readbuff, UDP_CMD_BUFF_LENGTH - 1, 0, (struct sockaddr *)&Glob_remot_88_port_add, &len);

    PRINT("[recevudp]len %d IP is %s\n", len, inet_ntoa(Glob_remot_88_port_add.sin_addr));

}

这个函数, 第一次接受打印出的发送方IP地址总是0.0.0.0;

困扰了很久。直到今天!终于解决了。

在recvfrom之前加一句: len = sizeof(struct sockaddr);

就OK了!!!

发布了30 篇原创文章 · 获赞 13 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/qiaominghe/article/details/51283007