★★★调用recvfrom获取的IP地址与实际的发送方地址不同,请高手帮忙看看代码!!★★★

silven 2004-11-12 10:39:49
简单写一下接收部分代码:
unsigned long ip;
//绑定到1024端口后开始接收
recvfrom(sock, recvbuf, buflen, 0, (struct sockaddr *)&addrfrom, &addrsize);
ip = addrfrom.sin_addr.S_un.S_addr;
发送方:
stto.sin_family = AF_INET;
stto.sin_addr.s_addr = inet_addr("192.168.3.24"); //这是我的机器的ip
stto.sin_port = htons(1024);
addr_size = sizeof(struct sockaddr_in);
sendto(s, achout, sizeof(achout), 0, (struct sockaddr *)&stto, addr_size);

单机测试时接收方能够收到发送方的数据,但是我在接收方获取的ip与本机的ip地址不一样:
ip变量和inet_addr("192.168.3.24")不相等,这是怎么回事?
请指教,谢谢!!


...全文
201 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
silven 2004-11-12
  • 打赏
  • 举报
回复
silven 2004-11-12
  • 打赏
  • 举报
回复
silven 2004-11-12
  • 打赏
  • 举报
回复
我是内网,也许是nat的原因吧
karonhome 2004-11-12
  • 打赏
  • 举报
回复
hehe
zzlong 2004-11-12
  • 打赏
  • 举报
回复
你是内网吧,发过去是nat的地址,也就是你真正的IP,检查拨号的机子的IP就知道了
silven 2004-11-12
  • 打赏
  • 举报
回复
自己顶一下!
vicky_jam 2004-11-12
  • 打赏
  • 举报
回复
呵呵~~
nat的原因
因为是内网 发送 时 nat自动 把你的ip替换了
详情 查看 nat技术~~:)

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧