一个关于VC中线程的问题,急请高手指点,有分

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:02:32
我建立一个名为GetInfo的基于对话框的工程,在该工程中有建立一个对话框,对话框绑定在类CGetInfoDlg中(建立类向导),我在GetInFoDlg.cpp中有这样的代码CWinThread *pThreadLisen;
BOOL CGetInfoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
pThreadLisen=::AfxBeginThread(_ListenTcpThread,this);
return TRUE;
}
UINT _ListenTcpThread(LPVOID lparam)//监听线程
{
CGetInfoDlg *pDlg=(CGetInfoDlg *)lparam;
CSocket sockSrvr;
//pDlg->m_Port=PORT//保存当前使用端口,用于关闭PORT 被宏定义为34567
int createSucceed=sockSrvr.Create(PORT);
if(createSucceed==0)
{
AfxMessageBox("_ListenTcpThread Create错误!"+GetLastError());
return -1;
}
int listenSucceed=sockSrvr.Listen(); //sockSrvr.Listen()为阻塞函数 开始监听
if(listenSucceed==0)
{
AfxMessageBox("_ListenTcpThread Listen错误!"+GetLastError());
return -1;
}
CSocket recSo;
SOCKADDR_IN client;
int iAddrSize=sizeof(client);
int acceptSucceed=sockSrvr.Accept(recSo,(SOC

楼主楼上已经说了“调试下看是哪里出的错”

还问怎么解决?就是调试咯,可以在下面这行加个中断 (F9)
CGetInfoDlg *pDlg=(CGetInfoDlg *)lparam;

然后按F10一步步的运行,不信就找不出问题所在,

如果还没有运行到中断就出错了,那就是别的地方有错了。

调试下看是哪里出的错。
应该是访问内存的问题

莫名错误