UDT::close后UDT::epoll_wait不到UDP数据将

lan19900512 2012-11-12 10:12:38
最近项目用到UDT来建立点对点连接。
建立连接后测试发现一个很扯的问题。
假设有三个客户端A、B、C。三个客户端的都是同一个应用程序。程序中使用UDT::epoll_wait()等待有数据收发事件的UDT和UDP套接字。

下面是测试步骤:
(1) 首先A与B已经建立连接了(通过UDP打洞后),然后A、B相互收发数据。B关闭UDT连接(使用UDT::close())。
(2) 然后打开C,让C去连接A,这中间会有UDP数据传输打洞。测试发现两端的端口、地址都是正确的,且C能正常发出UDP数据,但是在A方用UDT::epoll_wait()等不到收到数据的UDP套接字。

还有就是,在B退出时用UDT::cleanup()也会出现这种情况。

相信使用UDT的朋友们在打洞、连接等遇到解决过很多问题,所以希望各位大侠支招。不胜感激!!!!!
...全文
382 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hkcrazyhkcrazy 2013-01-08
  • 打赏
  • 举报
回复
求份udt打洞demo代码!!!929041889@qq.com
hanyang_cg 2012-12-20
  • 打赏
  • 举报
回复
有没有 UDT::epoll用法的例子啊 求楼主发一个 75104206@qq.com,谢谢楼主
lan19900512 2012-11-13
  • 打赏
  • 举报
回复
是个BUG,换了个新版本4.10就解决了。UDT::epoll还是很好用的。 现在打洞建立连接都完成了,也测试了,结果发现两个客户端只有一端主动去连接另外一端才会成功,反过来,被动建立连接的一端会因收不到UDP数据包而建立连接失败。
lan19900512 2012-11-12
  • 打赏
  • 举报
回复
感觉UDT::epoll问题很多,我还是用的版本号4.8的。 UDX没用过啊,只是大概了解了一些。 现在项目已经使用了UDT,到了后期了,改也来不及了。只能是见着什么问题解决问题。
UDX协议 2012-11-12
  • 打赏
  • 举报
回复
可能是一个BUG. 你们也可以了解一下UDX协议。
UDX协议 2012-11-12
  • 打赏
  • 举报
回复
那就不用UDT;;epoll。

18,356

社区成员

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

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