如下:
case FD_READ:
client = wParam;
SendMessage(hlistbox, LB_ADDSTRING, NULL, LPARAM(TEXT("m_nxp >= MAX_CLIENT")));
char szText[1024] = { 0 };
recv(client, szText, 1024, 0);
break;
倘若 把 recv(client, szText, 1024, 0); 去掉,那么当发送方发送第二条信息时候,将不会触发 FD_READ事件,除非调用recv把当前信息队列的数据接收掉。
本文探讨了在特定情况下,不执行recv操作会导致发送方发送的第二条消息无法触发FD_READ事件的问题。文中通过示例代码说明,只有在调用recv接收完当前队列中的所有数据后,后续的消息发送才能正常触发读取事件。
1144

被折叠的 条评论
为什么被折叠?



