社区
网络编程
帖子详情
在服务器端OnClose中怎么知道是哪个客户断开了连接
flight_lcf
2004-11-21 08:42:07
在服务器端OnClose中怎么知道是哪个客户断开了连接
...全文
141
3
打赏
收藏
在服务器端OnClose中怎么知道是哪个客户断开了连接
在服务器端OnClose中怎么知道是哪个客户断开了连接
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Hotthing
2004-11-21
打赏
举报
回复
BOOL CConnectSocket::HasConnectionDropped(void)
{
BOOL bConnDropped = FALSE;
INT iRet = 0;
BOOL bOK = TRUE;
if (m_hSocket == INVALID_SOCKET)
return TRUE;
struct timeval timeout = { 0, 0 };
fd_set readSocketSet;
FD_ZERO(&readSocketSet);
FD_SET(m_hSocket, &readSocketSet);
iRet = ::select(0, &readSocketSet, NULL, NULL, &timeout);
bOK = (iRet > 0);
if(bOK)
{
bOK = FD_ISSET(m_hSocket, &readSocketSet);
}
if(bOK)
{
CHAR szBuffer[1] = "";
iRet = ::recv(m_hSocket, szBuffer, 1, MSG_PEEK);
bOK = (iRet > 0);
if(!bOK)
{
INT iError = ::WSAGetLastError();
bConnDropped = (( iError == WSAENETRESET) ||
(iError == WSAECONNABORTED) ||
(iError == WSAECONNRESET) ||
(iError == WSAEINVAL) ||
(iRet == 0));
}
}
return(bConnDropped);
}
oyljerry
2004-11-21
打赏
举报
回复
每个socket对应一个客户端
sharkhuang
2004-11-21
打赏
举报
回复
socket是一一对应的
在HTTP通讯过程
中
,是
客户
端还是服务端主动
断开
连接
?
比如说:IE访问IIS,获取文件,肯定是要建立一个
连接
,这个
连接
在完成通讯后,是
客户
端Close了
连接
,还是服务端Close了
连接
。我用程序测模拟IE和IIS,都没有收到
断开
连接
的消息,也就是都没有触发
OnClose
事件。我是用Socket建立的
连接
。如果两方面都没有主动
断开
连接
,那么我猜测可能是传输的数据
中
有结束的标志,请问这个标志是怎样的?谢谢各位。 解决方案 » 不
知道
i...
HTTP请求是如何
断开
TCP
连接
的?
比如说:IE访问IIS,获取文件,肯定是要建立一个
连接
,这个
连接
在完成通讯后,是
客户
端Close了
连接
,还是服务端Close了
连接
。我用程序测模拟IE和IIS,都没有收到
断开
连接
的消息,也就是都没有触发
OnClose
事件。我是用Socket建立的
连接
。如果两方面都没有主动
断开
连接
,那么我猜测可能是传输的数据
中
有结束的标志,请问这个标志是怎样的?谢谢各位。 解决方案 » 不
知道
iis是怎么弄得h...
WebSocket刷新
断开
原因、设计心跳机制防止自动
断开
连接
1、
断开
原因 WebSocket
断开
的原因有很多,最好在WebSocket
断开
时,将错误打印出来。 ws.
onclose
= function (e) { console.log('websocket
断开
: ' + e.code + ' ' + e.reason + ' ' + e.wasClean) console.log(e) } 错误状态码: WebSocket
断开
时,会触发CloseEvent, CloseEvent会在
连接
关闭时发送给使用 WebSockets 的
客户
端. 它在
WebSocket
断开
原因、心跳机制防止自动
断开
连接
1、
断开
原因 WebSocket
断开
的原因有很多,最好在WebSocket
断开
时,将错误打印出来。 ws.
onclose
= function (e) { console.log('websocket
断开
: ' + e.code + ' ' + e.reason + ' ' + e.wasClean) console.log(e) } 错误状态码: WebSocket
断开
时,会触发CloseEvent, CloseEvent会在
连接
关闭时发送给使用 WebSockets 的
客户
端. 它在
websocket检测服务器是否
断开
_WebSocket心跳检测和重连机制
为什么会进行心跳检测简单地说是为了证明
客户
端和服务器还活着。websocket 在使用过程
中
,如果遭遇网络问题等,这个时候服务端没有触发
onclose
事件,这样会产生多余的
连接
,并且服务端会继续发送消息给
客户
端,造成数据丢失。因此需要一种机制来检测
客户
端和服务端是否处于正常
连接
的状态,心跳检测和重连机制就产生了。如何进行心跳检测和重连思路是:每隔一段指定的时间(计时器),向服务器发送一个数据,服务...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章