在Winsocket的FD_READ事件中为什么接受到的数据,再创建一个线程处理,为何数据丢失了,急求救!
在Winsocket的FD_READ事件中为什么接受到的数据,再创建一个线程处理,为何
数据丢失了,急求救!
代码如下:
FD_READ:
if ( recv(local_server,buf,sizeof(buf),0)>0 )
CreateThread(NULL,0,ProccessRD,buf,0,&ThreadId);
}
DWORD WINAPI ProccessRD(LPVOID buf)
{
MessageBox(GetActiveWindow(),buf,NULL,MB_OK);
return 0;
}
如果接收时的数据buf="akldjfajdfajsdf",在线程中显示数据都没有呢,
应该怎么处理数据才不会丢失,程序一定要用线程处理该怎么办?