| 发表于:2007-06-05 10:17:363楼 得分:0 |
handle hthread=createthread(null,0,recvproc,(lpvoid)precvparam,0,null); closehandle(hthread); dword winapi cchatdlg::recvproc(lpvoid lpparameter) { socket sock=((recvparam*)lpparameter)-> sock; hwnd hwnd=((recvparam*)lpparameter)-> hwnd; delete lpparameter; //视频讲述时,遗忘了释放内存的操作。sunxin sockaddr_in addrfrom; int len=sizeof(sockaddr); char recvbuf[200]; char tempbuf[300]; int retval; while(true) { retval=recvfrom(sock,recvbuf,200,0,(sockaddr*)&addrfrom,&len); if(socket_error==retval) break; sprintf(tempbuf, "%s说: %s ",inet_ntoa(addrfrom.sin_addr),recvbuf); ::postmessage(hwnd,wm_recvdata,0,(lparam)tempbuf); } return 0; } 提示,这是tcp的,自己修改下 | | |
|