孙鑫老师15章chat程序里面,
定义了一个结构体
struct RECVPARAM
{
HWND hwnd;
SOCKET socket;
};
并且在OnInitDialog里面初始化结构体
RECVPARAM *pRecvParam = new RECVPARAM;
pRecvParam->hwnd = m_hWnd;
pRecvParam->socket = sockRev;线程入口函数
DWORD WINAPI CChatDlg::ThreadRecv(LPVOID lpParam)
{
SOCKET socket = ((RECVPARAM*)lpParam)->socket;
HWND hwnd = ((RECVPARAM*)lpParam)->hwnd;

delete lpParam; SOCKADDR_IN addrClient;
int retval;
char tempBuf[300];
char recvBuf[200];
int len = sizeof(SOCKADDR); while (true)
{
retval = recvfrom(socket, recvBuf,100,0,(SOCKADDR*)&addrClient, &len);
if (SOCKET_ERROR == retval)
break;
sprintf(tempBuf,"%s说:%s",inet_ntoa(addrClient.sin_addr),recvBuf);
::PostMessage(hwnd,WM_RECVDATA,0,(LPARAM)tempBuf);
}
return 0;}
可是我运行的时候,运行到红色代码处一直出错呢,提示
Chat.exe中的0x002d377b处有未处理的异常;0xC0000005;读取位置0x00000004时发生异常;
有哪位大虾能解答下,,,非常感谢,,,在线等