18,356
社区成员
发帖
与我相关
我的任务
分享
if (!strHttpProtocol.IsEmpty())
{
//MessageBox(hwnd,"开始发送","1",MB_OK);
//int nBytes = send(sockClient, strHttpProtocol, strHttpProtocol.GetLength(), 0);
if (send(sockClient, strHttpProtocol, strHttpProtocol.GetLength(), 0) == SOCKET_ERROR)
{
//MessageBox(hwnd,"发送失败","1",MB_OK);
closesocket(sockClient); //关闭TCP套接字
WSACleanup(); //释放winsock库
return strRSAKey;
}
}
else
{
closesocket(sockClient); //关闭TCP套接字
WSACleanup(); //释放winsock库
return strRSAKey;
}
//MessageBox(pPassWord->GetSafeHwnd(),"发送成功","1",MB_OK);
int nRetBytes = 0;
try
{
CString strRec;
CString strContent;
strContent.Empty();
int nContentLen = 0;
while (1)
{
nRetBytes = recv(sockClient,strRecvData,10240,0);//获取返回信息
//MessageBox(pPassWord->GetSafeHwnd(),strRecvData,"pos返回数据",MB_OK);
if(nRetBytes == SOCKET_ERROR || nRetBytes == 0)
{
int nCode = GetLastError();
CString strError;
strError.Format("错误码%d", nCode);
WriteLog(strError);
closesocket(sockClient); //关闭TCP套接字
WSACleanup(); //释放winsock库
return strRSAKey;
}
else
{
strRec = strRecvData;
strRec = strRec.Right(strRec.GetLength() - strRec.Find(_T("Content-Length:")) - strlen(_T("Content-Length:")) -1);
//MessageBox(pPassWord->GetSafeHwnd(),strRec,"pos返回数据",MB_OK);
nContentLen = atoi(strRec.Left(strRec.Find(_T("\r\n"))));
strContent += strRec.Right(strRec.GetLength() - strRec.Find(_T("\r\n\r\n")) - 4);
//MessageBox(pPassWord->GetSafeHwnd(),strContent,"pos返回数据",MB_OK);
if (strContent.GetLength() >= nContentLen)
{
break;
}
}
}
}