UDP不通的问题,大家有没有遇到啊

whitedwang 2009-07-29 04:30:09
做了一个简单的UDP程序,客户端发数据,服务端收数据,
出现以下几种情况:
1、在本机上运行服务端和客户端,数据能正常发送
2、本机同另外一台机器通信,UDP一边发送,另一端没有收到
3、换两台机器又可以通信了
4、最郁闷的是,过了几天发现另外两台本来通的也不通了

总之就是有时候通,有时候不通,
请问怎么解决呢?
...全文
7599 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
whitedwang 2009-08-06
  • 打赏
  • 举报
回复
机器在同一网段,ping也可以ping通的
hdqqq 2009-08-06
  • 打赏
  • 举报
回复
udp收的一方,端口是需要固定的,可能端口被占用了。
Wenxy1 2009-08-05
  • 打赏
  • 举报
回复
解决办法,用TCP。
一定要用UDP,那只有自己设计超时重传机制。
Wenxy1 2009-08-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 whitedwang 的回复:]
做了一个简单的UDP程序,客户端发数据,服务端收数据,
出现以下几种情况:
1、在本机上运行服务端和客户端,数据能正常发送
2、本机同另外一台机器通信,UDP一边发送,另一端没有收到
3、换两台机器又可以通信了
4、最郁闷的是,过了几天发现另外两台本来通的也不通了

总之就是有时候通,有时候不通,
请问怎么解决呢?
[/Quote]

UDP协议是不可靠的,无连接的协议,那么用UDP socket来通信,是可能丢包的。
yekoufeng 2009-08-02
  • 打赏
  • 举报
回复
ping 一下看看通不通,
nihaoanihaoa 2009-08-02
  • 打赏
  • 举报
回复
你看看机器是否在同一个网段,
防火墙是否做了限制,
Ghost226 2009-08-02
  • 打赏
  • 举报
回复
你的问题我曾经也遇到过,除了网络,端口,防火墙,丢包等问题之外,按照你的描述,要么是服务端的问题,要么是连接的问题,建议你从头到尾系统的检查一遍
wsj239237 2009-07-31
  • 打赏
  • 举报
回复
Ghost226 2009-07-31
  • 打赏
  • 举报
回复
同意楼上的
icesnowjank 2009-07-30
  • 打赏
  • 举报
回复
ACE或者boost.asio几行代码就可以搞定了~~
rendao0563 2009-07-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 whitedwang 的回复:]
做了一个简单的UDP程序,客户端发数据,服务端收数据,
出现以下几种情况:
1、在本机上运行服务端和客户端,数据能正常发送
2、本机同另外一台机器通信,UDP一边发送,另一端没有收到
3、换两台机器又可以通信了
4、最郁闷的是,过了几天发现另外两台本来通的也不通了

总之就是有时候通,有时候不通,
请问怎么解决呢?
[/Quote]

1. UDP会丢包。
2. UDP无连接。发的只管发。收的只管收。telnet是针对TCP的。
3. 默认windows防火墙不阻止UDP的包。
4. 他这个代码年代久远。就不要用了。像你应该比较适合用MFC的。
zwicker 2009-07-30
  • 打赏
  • 举报
回复 1
应该是数据包的大小超过限制了,我以前也遇到过,在局域网内可以运行,在公网上不能运行,udp的数据包大小最好控制在512字节内。
lzl_2008 2009-07-30
  • 打赏
  • 举报
回复
下个网络嗅探器,比如ethereal,在接收端安装上,看包发过来没有.
Wenxy1 2009-07-30
  • 打赏
  • 举报
回复
防火墙阻档了。
UDP在网络忙的情况下会丢包。
whitedwang 2009-07-30
  • 打赏
  • 举报
回复
如果连不上,换了端口也不行的
qian_longN1 2009-07-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 socoola 的回复:]
是否有端口冲突的问题?
[/Quote]是否端口被其他软件占用
weidong0210 2009-07-30
  • 打赏
  • 举报
回复
时好时坏 不是代码的问题 很可能是物理连接 网络什么的。。。
刚刚凉 2009-07-30
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 whitedwang 的回复:]
没有装瑞星啊,怎么用TELNET来看啊?
[/Quote]
telnet 是dos命令 可以看某个端口好不好用 进dos 然后telnet /? 就得到telnet的用法了
whitedwang 2009-07-30
  • 打赏
  • 举报
回复
tianmeshi:
路由器拦截屏蔽了端口,给拦截了??
怎么确认这个呢?
我辣椒哥 2009-07-30
  • 打赏
  • 举报
回复
路由器拦截屏蔽了端口,给拦截了
加载更多回复(14)

18,356

社区成员

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

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