社区
网络编程
帖子详情
如何正确的切断网络联接(SDK)?
songyangk
2003-04-14 10:37:29
我用SDK编写了一个TCP/IP的通讯组件,服务端与客户端联接后通过另起一个线程(线程里循环调用recv方法)来接收对方的信息,但当客户端断开联接时应该用什么样的方法才能使用服务端收到正确的客户端已断开的消息呢?
我使用过disconnect方法或停止线程的方法,服务端收到的都是一个联接异常中止的错误信息,而不是正确的联接为开的信息。
请各位高手赐教!!
...全文
93
5
打赏
收藏
如何正确的切断网络联接(SDK)?
我用SDK编写了一个TCP/IP的通讯组件,服务端与客户端联接后通过另起一个线程(线程里循环调用recv方法)来接收对方的信息,但当客户端断开联接时应该用什么样的方法才能使用服务端收到正确的客户端已断开的消息呢? 我使用过disconnect方法或停止线程的方法,服务端收到的都是一个联接异常中止的错误信息,而不是正确的联接为开的信息。 请各位高手赐教!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
雪狼__
2003-04-14
打赏
举报
回复
关注中
songyangk
2003-04-14
打赏
举报
回复
搞定!在关闭的时候使用了以下方法,shutdown通过socket内部机制发送了结束的消息,再closesocket就可以得到正确的关闭联接结果了。
WSAAsyncSelect(paramc.conn_socket, NULL, NULL, FD_CLOSE);
shutdown(paramc.conn_socket, SD_BOTH);
谢谢以上几位朋友的帮忙。
songyangk
2003-04-14
打赏
举报
回复
但如果这样的话,我就不能判断出客户端是正常断开还是因为网络故障了!
求助中。。。
liuwei662656
2003-04-14
打赏
举报
回复
对,
应该如此。
网络中对于是否断开 不应光使用消息判断, 容易出问题。
一个笨方法, 但有效: 隔一段时间发 "test" 过去, 如果能正常发, 则连接正常。
rtdb
2003-04-14
打赏
举报
回复
由于硬件原因(例如网络中断或CLIENT死机)也可以导致联接丢失,
而此时服务器端可以不会收到任何信息。
所以建议服务器做超时检查。
这样能否收到“正确的联接为开的信息”就不重要了。
零基础入门:基于开源WebRTC,从0到1实现实时音视频聊天功能
去年初,突如其来的新冠肺炎疫情让线下就医渠道几乎被
切断
,在此背景下,在线问诊模式快速解决了大量急需就医病患的燃眉之急。而作为在线问诊中重要的一环——医患之间的视频问诊正是应用了实时音视频技术才得以实现...
多功能串口设备服务器 (2)
在
切断
与串口设备的连接之前必须关闭所使用的端口或者是
切断
与客户机的
联接
。 启动数据交换模块。 终止数据交换模块。在终止数据交换模块之前必须关闭所使用的端口或者是
切断
与客户机的
联接
。 退出系统。在...
我的面试题
网络
基础 TCP三次握手 1、OSI与TCP/IP 模型 2、常见
网络
服务分层 3、TCP与UDP区别及场景 4、TCP滑动窗口,拥塞控制 5、TCP粘包原因和解决方法 6、TCP、UDP报文格式 HTTP协议 ...
【名词解释】电信技术名词解释大全
设备还可组成带有自愈保护能力的环网形式,这样可有效地防止传输媒介被
切断
,通信业务全部终止的情况。 ——4 、 SDH 技术中采用的字节复接技术: —— 若把 SDH 技术与 PDH 技术的主要区别用铁路运输...
[转载]多功能串口设备服务器 (2)
在
切断
与串口设备的连接之前必须关闭所使用的端口或者是
切断
与客户机的
联接
。 启动数据交换模块。 终止数据交换模块。在终止数据交换模块之前必须关闭所使用的端口或者是
切断
与客户机的
联接
。 退出系统。在退出系统...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章