-
-
[求助]请教一个单线程Socket编程问题
-
发表于:
2011-6-25 14:25
3848
-
使用WSAAsyncSelect模型
一个进程连接多个服务器,即:
RecvDate(DWORD index, ...)
{
...
//根据index,判断收到的是哪个连接的数据,并进行相应处理。
...
}
///////////////////////////////////////////////////////
case WM_SOCKET_1:
case FD_READ:
RecvDate(1,...);
break;
...
case WM_SOCKET_2:
case FD_READ:
RecvDate(2,...);
break;
...
case WM_SOCKET_3:
case FD_READ:
RecvDate(3...);
break;
....
case WM_SOCKET_N:
case FD_READ:
RecvDate(N,...);
break;
....
///////////////////////////////////////////////////////
问题:
在单线程的情况下,RecvDate(2, ...),正处理没还结束时,
WM_SOCKET_3,又有数据到来,会不会发生冲突?
它是不是要一直等待RecvDate(2, ...)执行返回后,再调用RecvDate(3, ...)?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课