向各位大哥大姐求教..
为什么...?? 为什么..???
为什么总是显示: 创建Socket失败??!!
代码:
//全局定义开始;
CWinThread* ServerThread;
CWinThread* ClientThread;
CSocket socksrv;
CSocket sockclt;
UINT ThreadSrv(LPVOID pParam);
UINT ThreadClt(LPVOID pParam);
//全局定义结束;
//对话框区
void CMuChatDlg::OnBtnServer()
{
ServerThread = AfxBeginThread(ThreadSrv,this);
}
void CMuChatDlg::OnBtnClient()
{
ClientThread = AfxBeginThread(ThreadClt,this);
}
//对话框区结束
//线程区
UINT ThreadSrv(LPVOID pParam)
{
CMuChatDlg* pDlg = (CMuChatDlg*)pParam;
if(!socksrv.Create(6000))
{
AfxMessageBox("创建Socket出错..!");
return 0;
}
if(!socksrv.Listen())
{
AfxMessageBox("监听出错..!");
socksrv.Close();
return 0;
}
CSocket sockact;
SOCKADDR_IN sockadr;
int Len = sizeof(SOCKADDR);
if(!socksrv.Accept(sockact,(SOCKADDR*)&sockadr,&Len))
{
AfxMessageBox("Accept错误!");
socksrv.Close();
return 0;
}
socksrv.Send(pDlg->m_MsgOne,pDlg->m_MsgOne.GetLength()+1);
socksrv.Close();
sockact.Close();
return 1;
}
UINT ThreadClt(LPVOID pParam)
{
CMuChatDlg* pDlg = (CMuChatDlg*)pParam;
sockclt.Create();
if(!sockclt.Connect("127.0.0.1",6000))
{
AfxMessageBox("连接错误!!");
sockclt.Close();
return 0;
}
sockclt.Receive(&pDlg->m_MsgOne,pDlg->m_MsgOne.GetLength()+1);
sockclt.Close();
return 1;
}
//线程区结束;