双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

请教一个socket断开重连问题,该如何实现?

小菜鸟总是被攻击 小菜鸟总是被攻击 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
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都打不开,是不是资源给耗尽了,还是我代码哪里出问题了?谁能帮帮我,头疼了好久的一个问题.谢谢了,
...全文

相关推荐

评论 5
收藏 已收藏
分享
返回顶部