18,356
社区成员
发帖
与我相关
我的任务
分享
while(pcs->m_thexit)
{
Sleep(2000);
pcs->m_ConSerflg=FALSE;//与服务器连接失败或未连接上
try
{
if (!pcs->WinSockInit())
{
AfxMessageBox(_T("Socket 库初始化失败!"));
return FALSE;
}
pcs->m_ServerSocket = socket(AF_INET , SOCK_STREAM , IPPROTO_TCP);
if (pcs->m_ServerSocket == INVALID_SOCKET)
{
lstxt="SOCKET创建失败,请重启.........";
return TRUE;
}
sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(9527);
server.sin_addr.s_addr = inet_addr("192.168.1.1");
/////////////////////////////////////////////////////////////
lircons=0;
while(pcs->m_thexit)
{
liconr=-1;
liconr=connect(pcs->m_ServerSocket, (struct sockaddr *)&server, sizeof(struct sockaddr));
if (liconr == SOCKET_ERROR )
{
pcs->is_rboot=TRUE;
memset(loginlog1,0,sizeof(loginlog1));
MultiByteToWideChar(CP_ACP, 0, "连接服务器失败,正在试图重新连接", -1, loginlog1, sizeof(loginlog1));
pcs->m_pWnd->PostMessage(WM_ADD_EDIT,(DWORD)0,(LPARAM)(LPCTSTR)loginlog1);
lircons++;
Sleep(3000);
if (lircons>=50)
{
pcs->StopServer();
Sleep(10000);
CString sysname;
sysname="wwatutstart.exe";
pcs->RestarSys(sysname);
TerminateProcess(GetCurrentProcess(),0);
return TRUE;
}
}
else
{
break;
}
}
pcs->is_rboot=TRUE;
GetLocalTime(&pcs->is_discontime);
iRet = recv(pcs->m_ServerSocket, (char *)szBuf, Recv_BUF_SIZE, 0);
if (iRet>0)
{
......................
}
else
{
closesocket(pcs->m_ServerSocket);
WSACleanup();
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format(_T("clent__Workheahtsend:%s"),e.ErrorMessage());
pcs->wApp->writelogs(errormessage);
}
}