class MyUdpSocket : public CSocket
{public:
static DWORD WINAPI ListenThread(LPVOID lpParam);
}DWORD WINAPI MyUdpSocket::ListenThread(LPVOID lpParam)
{
MyUdpSocket* Listen=(MyUdpSocket*)lpParam;
char CRecvBuff[1024];
CString ip;
unsigned int port;
while(1)
{
Listen->ReceiveFrom(CRecvBuff,sizeof (CRecvBuff),ip,port,0);
}
return 1;
}
MyUdpSocket继承CSocket类。
编译通过,但执行这个线程之后,点击对话框就提示出错(不能为read),是什么问题呢?
{public:
static DWORD WINAPI ListenThread(LPVOID lpParam);
}DWORD WINAPI MyUdpSocket::ListenThread(LPVOID lpParam)
{
MyUdpSocket* Listen=(MyUdpSocket*)lpParam;
char CRecvBuff[1024];
CString ip;
unsigned int port;
while(1)
{
Listen->ReceiveFrom(CRecvBuff,sizeof (CRecvBuff),ip,port,0);
}
return 1;
}
MyUdpSocket继承CSocket类。
编译通过,但执行这个线程之后,点击对话框就提示出错(不能为read),是什么问题呢?
我想在类里面用线程,不想用全局函数的线程
也没有初始化,
这样当当然会出现read错误,明显指针出错了.用一楼的方法,
把线程函数写成全局函数,
把下句:
public:
static DWORD WINAPI ListenThread(LPVOID lpParam);
删掉,
DWORD WINAPI MyUdpSocket::ListenThread(LPVOID lpParam)
改为:
DWORD WINAPI ListenThread(LPVOID lpParam)