Winsock2's select() on fd 0 (stdin) fails

*爱你&永不变心* 提交于 2019-11-29 18:17:22

This is expected behavior. As mentioned all over the documentation, winsock's select function only works on sockets, and stdin is not a socket.

If you had called WSAGetLastError, you undoubtedly would have found that the cause was

WSAENOTSOCK One of the descriptor sets contains an entry that is not a socket.

Try WSAEventSelect and WaitForMultipleObjectsEx; the latter can also wait on normal file handles as well as OVERLAPPED event objects from outstanding read operations on normal file handles.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!