有个关于网络编程的错误,麻烦帮小弟看看!
这个是发送消息线程,但是有错,我调试了,每次执行到sockClient.Create();就出错,但是我不知道这句话错在哪里了,求指点
/////TCP发送信息线程//////////UINT _SendMsgThread(LPVOID lparam) { // CTestDlg *pDlg=(CTestDlg *)lparam; //if(pDlg->StopServer==true) return -1; //pThreadLisen=::AfxBeginThread(_ListenTcpThread,this); //开始TCP线程 CSocket sockClient; sockClient.Create(); CString ip,strError; //pDlg->m_You_IP.GetWindowText(ip); int conn=sockClient.Connect(otherip, PORT+pDlg->m_client); if(conn==0) /////////////////////////////////// { AfxMessageBox("_SendMsgThread Connect错误!"+pDlg->GetError(GetLastError())); sockClient.ShutDown(2); sockClient.Close(); AfxEndThread(1L); return 0; } //首先发送标记M为信息,2 int end=0; end=sockClient.Send("M",FLAG); if(end==SOCKET_ERROR) { AfxMessageBox("_SendMsgThread Send错误!"+pDlg->GetError(GetLastError())); return -1; } else if(end!=2) { AfxMessageBox("消息头错误"); return -1; } CString strMsg=pDlg->m_MsgSend; end=sockClient.Send(strMsg,strMsg.GetLength()); if(end==SOCKET_ERROR) { AfxMessageBox("_SendMsgThread Send错误!"+pDlg->GetError(GetLastError())); return -1; } CString strLocalName; pDlg->GetLocalHostName(strLocalName); CString strLocalIP; pDlg->GetIpAddress(strLocalName,strLocalIP); pDlg->AddMsgList(strLocalIP+"->"+strLocalName,strMsg); int i=0; sockClient.Close(); return 0;}