请问一下,我在写断线重连,关闭了服务器检测到已断线之后,在客户端写了这些代码来续连
if (client->sockCreate)
{
AfxMessageBox(_T("与服务器断开连接"));
client->sockCreate=false;
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr("xxx.xxx.xxx.xxx");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);
while (1)
{
reConn=connect(client->sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
if (reConn==SOCKET_ERROR)
{
//AfxMessageBox(_T("SOCKET_ERROR"));
//return 0;
}
else
{
client->sockCreate=true;
AfxMessageBox(_T("连接成功"));
break;
}
}
}
请问这样有没有什么问题,运行的结果是整个界面卡住了,也没有连接上
首先你得确定reConn返回的是什么状态消息。找到为什么没连接上的原因。
整个界面卡住是因为如果在没连上的情况下你的代码会进入无限循环。