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

📄 subject_55449.htm

📁 vc
💻 HTM
字号:
<p>
序号:55449 发表者:矢玄 发表日期:2003-10-09 23:29:40
<br>主题:Socket 消息问题
<br>内容:我的客户/服务程序是用SOCKET实现的,不过实际使用中,一般客户接口关闭服务端都能正常捕捉到消息来删除相应的进程,可是如果由于网络断线,或某些不明原因也会出现服务端得不到消息的情况.请问有没有服务端来检测客户连接是否断开的方法(且不通过传输数据),或有什么更好的解决方案. 先谢了!
<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-10-10 10:07:07
<br>内容:这个问题讨论过多次<BR>这个涉及到tcp/ip设计哲学<BR>tcp/ip的目的是无论在多么恶劣条件下,都尽量保证网络可用,所以他不负责检查以外的网络断开这种问题,因为断开的网络可以随时接上继续使用。如果传达网络断开的消息,你让peer怎么办呢?放弃?放弃就以为这网络恢复了这个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>
回复者:矢玄 回复日期:2003-10-10 20:03:37
<br>内容:感谢xiongli&nbsp;&nbsp;的回答,虽然没有完全解决问题,但我会考虑在后续的版本中参考你的建议.谢谢!
<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 + -