免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2895 | 回复: 2
打印 上一主题 下一主题

[C++] UDP指定ip和端口发送不了数据 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-03-23 19:58 |只看该作者 |倒序浏览
本帖最后由 jd808 于 2016-03-23 20:30 编辑

  1. struct sockaddr_in ToAddr;
  2. //将数字ip转换成字符串
  3. char* inttoip(unsigned int ip)
  4. {
  5.         struct in_addr a;
  6.         a.s_addr = ip;
  7.         return inet_ntoa(a);
  8. }

  9. while (1)
  10.         {
  11.                 char * pchOutBuf;
  12.                 int nOutLen;
  13.                 if(CTRecv.UDTRecv(sock,&pchOutBuf,&nOutLen,&ToAddr))
  14.                 {//则pchOutBuf和nOutLen分别表示接收缓冲区和接收长度
  15.                       sendto(sock,"ssssssssss",10,0,(struct sockaddr*)&(ToAddr),sizeof(ToAddr));//这样可以

  16.                       struct sockaddr_in To;
  17.                       To.sin_family = AF_INET;
  18.                       To.sin_port = htons(ToAddr.sin_port);
  19.                       if(inet_aton(inttoip(ToAddr.sin_addr.s_addr),&To.sin_addr)<0){
  20.                           perror("inet_aton");
  21.                            break;
  22.                       }
  23.                       sendto(sock,"ssssssssss",10,0,(struct sockaddr*)&(To),sizeof(To));//这样不可以可以
  24.                  }
  25.         }
复制代码
为什么?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2016-03-23 20:40 |只看该作者
将 To.sin_port = htons(ToAddr.sin_port);改成 To.sin_port = ToAddr.sin_port;
去掉htons就可以了,

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
3 [报告]
发表于 2016-03-24 14:29 |只看该作者
直接用ToAddr即可,何必多此一举
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP