重新connect时无法检测到数据包 本帖最后由 dreameronair 于 2010-03-24 13:14:24 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 客户端端口不变?你在客户端绑定端口?那你设置了SO_REUSEADDR吗?另外,你要考虑下TIME_WAIT,可以通过设置SO_LINGER来实现 重新建立socket之前已经closesocket了啊,还需要SO_REUSEADDR吗?而且重新bind也成功了。设置的是非阻塞的socket。现在的情况是过一段时间就可以connect成功了,是不是网线重连后需要一段等待时间? Mark,好像我的程序在部分机器也出现这个问题! 客户端判断超时closesocket,重新建立socket程序逻辑上你重复判断了吗? connect成功而没有收到数据包?过一分钟之后才收到?一分钟之内没有做任何修改吗? 因为connect函数没有发出任何的数据包()答:这只是你的应用层没发送数据,但内核的tcp/ip协议栈肯定要发送syn, ack等包,去读读tcp的三次握手过程吧。 你这样监测看看: 1、在重复3和4的过程中看每次的socket的句柄是否一样 2、在服务器端,如果connect后,服务器的accept的句柄是否一样? 对话框的Socket应用程序,1个小时后界面异常 GetDC()函数截图问题 extern作用 奇怪,怎么dll无法释放? 这很可能是 ADO 里的所谓的“智能指针”存在问题!!!??? 如何在所有的分割窗体里显示OPenGL图形? 有ASP做P2P的Server端,可以减低开发难度吗? (菜鸟又提问啦~~!)打开的文件如何显示在editview里? mfc编程中,怎么接收左右键同时click的消息,马上给分! 学习,我很想了解指针、链表,各位能介绍一些资料给我吗? 鼠标左键单击对话框,关闭对话框? 对话框的调用自动运行。
Mark,好像我的程序在部分机器也出现这个问题!
程序逻辑上你重复判断了吗?
答:这只是你的应用层没发送数据,但内核的tcp/ip协议栈肯定要发送syn, ack等包,去读读tcp的三次握手过程吧。
1、在重复3和4的过程中看每次的socket的句柄是否一样
2、在服务器端,如果connect后,服务器的accept的句柄是否一样?