调试了半天,发现前几个命令好用,后面的就死了,最后发现错误的包后面多了个r,查找下才知道
if(sendto(sock_UDP, sendbuf.c_str(), (int)sendbuf.size()+1, 0, (struct sockaddr*)&destaddr, length))
一定要(int)sendbuf.size()+1,不加以的话最后的结束字符时不能发送出去的,或者也可以在接收端每次接收后都清零,一些细节得慢慢积累,呵呵
还有一个问题没有继续搞明白,就是主线程创建了socket,而子线程用socketrecvfrom,发现两个socket的值不同,不过微软说过不建议在dllmain里创建线程,所以在recvfrom那里有重新初始化了一个socket专门用于来接受数据
最后
以上就是俏皮可乐最近收集整理的关于UDP发送总结的全部内容,更多相关UDP发送总结内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复