关于网友提出的“ 请教一个客户端单线程Socket问题”问题疑问,本网通过在网上对“ 请教一个客户端单线程Socket问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 请教一个客户端单线程Socket问题
描述:
使用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, ...)?
以上介绍了“ 请教一个客户端单线程Socket问题”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2980579.html