社区
网络编程
帖子详情
[求助]如何知道对方的socket连接已经关闭了?
bb2003
2005-09-29 05:04:46
如题,谢谢!
...全文
453
14
打赏
收藏
[求助]如何知道对方的socket连接已经关闭了?
如题,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
MuseIn
2005-10-03
打赏
举报
回复
TO:football(gugu)
你测试一下吧。
sevencat
2005-10-03
打赏
举报
回复
自己判断
football
2005-09-30
打赏
举报
回复
to MuseIn(air supply * 学好Linux)::
如果当时对等socket没有close,并且有内容发送过来,你的方法能判断吗???
??????????????????/
周江涛
2005-09-30
打赏
举报
回复
补充:同步时:recv返回0表示正常关闭,返回socket_error表示异常断开。
周江涛
2005-09-30
打赏
举报
回复
如何知道对方的socket连接已经关闭了?
异步: 收到FD_CLOSE消息
同步: recv返回0
gohappy_1999
2005-09-30
打赏
举报
回复
mark
xxrl
2005-09-30
打赏
举报
回复
一般是采用心跳包的检测机制 主动去检测
jazy
2005-09-30
打赏
举报
回复
用FD_CLOSE消息判断还需要考虑异常断线:用WSAIoctl设置SIO_KEEPALIVE_VALS才可以
nuaawenlin
2005-09-29
打赏
举报
回复
加上heartbeat,检测不正常的退出
long_xing
2005-09-29
打赏
举报
回复
处理CSocket类的OnClose
如果对方的SOCKET关闭后,这个函数就会自动响应
MuseIn
2005-09-29
打赏
举报
回复
用recv来判断就可以。
numbytes=recv(cli_fd,(char *)&hdr,sizeof(hdr),0);
if (numbytes==0 || numbytes ==SOCKET_ERROR) {
clear_socketfd(cli_fd);
//perror("recv header error or socket closed");
return REV_HDR_ERROR;
}
football
2005-09-29
打赏
举报
回复
使用连接超时是不太可能的。系统默认的超时时间有1个多小时。
先用select,
在用recv.去判断。
请看msdn上的select函数中对select函数返回的注释。
readfds:
If listen has been called and a connection is pending, accept will succeed.
Data is available for reading (includes OOB data if SO_OOBINLINE is enabled).
Connection has been closed/reset/terminated.
lifengice0706
2005-09-29
打赏
举报
回复
recv()到socket_error(对端关闭)或双方定义echo(心跳)指令!
zhangnanonnet
2005-09-29
打赏
举报
回复
连接超时
Socket
编程快速入门
本课程将理本课程将理啊 论结合实践,带你从零开始,系统学习
Socket
编程技术,让
Socket
的学习不再那么零散与难以掌握,同时会提炼出
Socket
网络传输的核心思想与构架,并带你踩坑出坑,增加你的分析与处理问题的啊aas...
下列关于python
socket
错误的是_python中
socket
error 10054的解决方法
一个
连接
被对方重设。一个建立的
连接
被远程主机强行
关闭
,若远程主机上的进程异常终止运行(由于内存冲突或硬件故障),或者针对套接字执行了一次强行
关闭
,便会产生10054错误.在写一个传输文件的
socket
程序时,...
java
socket
服务器 接收不到消息,【新人】 java
socket
通信,客户端无法读取服务器端写回的消息,求解...
【新人
求助
】 java
socket
通信,客户端无法读取服务器端写回的消息,求解这是客户端的代码:这是服务器端的:求解.完整代码:(其他先可以不看,现在是book()这一块,我的其他两个,问题也是一样,都是服务器端能...
子进程及时
知道
父进程
已经
退出的最简单方案
[精彩] 子进程及时
知道
父进程
已经
退出的最简单... <br /> 父进程如果退出,子进程如何
知道
呢,最笨的方法,父子进程之间建立
socket
连接
,然后建立心跳,没隔1秒测试一把,当然太笨了,通过管道
在
SOCKET
编程中.select()函数的作用
转贴...!!急!!!
求助
!!有谁
知道
在
SOCKET
编程中,select()函数的作用,最好有代码的2006-08-22 14:22急!!!急!!!
求助
!!有谁
知道
在
SOCKET
编程中,select()函数的作用,最好
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章