⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_42750.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:42750 发表者:rabbie 发表日期:2003-06-05 16:27:54
<br>主题:如果客户机异常退出,服务器如何知道已经断开?
<br>内容:发现一个问题.tcp/ip连接的计算机在正常退出的情况下可以知道对方已经退出,但是如果对方忽然死机或则别的原因引起的网络中断,服务器就没有办法知道了,有什么解决的办法吗&gt;?<BR>我用了setsockopt函数的keepalive参数都不行.
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:xiongli 回复日期:2003-06-05 21:33:15
<br>内容:没有任何办法<BR>tcp/ip设计思想就是要求无论网络出现什么问题,都要尽可能保证运行<BR>所以如果你要判断对方是不是出现了异常,你必须自己设计心跳包来监视这个连接<BR>keepalive一般时间是两个小时,而是是针对全局socket,不建议使用<BR>同时要不要监视连接也是一个有讲究的地方<BR>考虑这种情况,对方网线松动,但是十分钟后恢复正常.这种错误是很常见的,但是如果你因为对方一时的网络错误而段开服务器连接,显然是不适当的.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zmp 回复日期:2003-06-16 11:56:23
<br>内容:"如果你因为对方一时的网络错误而段开服务器连接,显然是不适当的." ???&nbsp;&nbsp;对于网络要求比较高的情况,一时的网络断开连接也是不允许的吧?&nbsp;&nbsp;所以重新连接是必要的。 我现在做的socket就加了一个测试数据包的发送和接收,双方都隔几秒发送测试数据包,隔几秒就检测一下有没收到,如果长时间没收到就表示网络已经断开,就重新连接或者作其他处理。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:(zl剑客) 回复日期:2003-06-17 10:15:43
<br>内容:我最近也碰到这样的难题,不知楼上2位有没有代码<BR>能不能发我研究一下,谢了!&nbsp;&nbsp; zengl@guoguang.com.cn
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:(zl剑客) 回复日期:2003-06-17 10:20:01
<br>内容:请问zmp:<BR>//我现在做的socket就加了一个测试数据包的发送和接收,双方都隔几秒<BR>//发送测试数据包<BR><BR>这个数据包是在工作的SOCKET上发送和接受,<BR>还是另外启动了SOCKET来进行发送和接受<BR><BR>另外如果是在同一个工作SOCKET上进行的,那么应该在什么地方<BR>发送测试包呢
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:rabbie 回复日期:2003-06-18 01:19:56
<br>内容:应该是工作的SOCKET上发送和接受,否则不能知道这个socket是否活着.<BR>另外我做过试验,如果对方断线了,向这个socket发送数据失败以后,recv函数也返回错误.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:zmp 回复日期:2003-06-26 10:27:15
<br>内容:是在工作的socket上发送测试数据包。 我已经用过了,效果还不错。是我自己编的一个类。 可以重用。 不过客户端和服务器端都要用那个类来做收发数据的工作了。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:rabbie 回复日期:2003-06-26 12:10:25
<br>内容:谢谢各位的指点
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -