请教一个socket断开重连问题,该如何实现?
void ConnServer()
{
hsocket = socket(AF_INET, SOCK_STREAM, 0);
WSAAsyncSelect(hsocket, hDWnd, WM_SOCKET, FD_CONNECT | FD_READ | FD_CLOSE);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr(szIPAddress);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(IPPort);
connect(hsocket, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));
}
void DisConn()
{
closesocket(hsocket);
hsocket = NULL;
SetTimer(hDWnd, TimerReConn, 1000, NULL);
}我使用上面的代码:在case FD_CONNECT: 里收到断开消息,调用DisConn
在TimerReConn里面调用ConnServer()进行重连,但是如果服务器有时关机了,而客户端重连数比较多,比如200个,会造成客户端完全无法上网.
IE都打不开,是不是资源给耗尽了,还是我代码哪里出问题了?谁能帮帮我,头疼了好久的一个问题.谢谢了,
...全文
相关推荐
完美解决spring websocket自动断开连接再创建引发的问题
问题:由于 web session 超时时间为 30 分钟,如用户在 web session 规定时间内没有退出系统,但由于其它原因 用户却断开的 websocket 的连接,如果用户还要聊天或是其它 websocket 方面的操作,那么就只能重新连接… 看代码: var socket; var $ = function() { return document.getElementById(arguments[0]); } var log = function(msg) { $("log")[removed] ? $("log")[removed] += "" + msg
c#socket断开重连
c#socket断开重新连接,以及循环接收数据,c#socket断开重新连接,以及循环接收数据,
C# SOCKET 客户端 主机断开自动重连
文档内有客户端和服务端socket,实际项目中只用到了客户端,会比较详细,支持断开重连
Qt实现Socket断线重连机制
自己写的源码,请拿去用!
Android socket实现Tcp长连接,断开自动重连
手写简化版tcp长链接的socket实现,主要功能有断开重连,以及收发读取解码解析,适用于需要用到长链接的原生开发。


网络编程

