我有一个基于选择的服务器。套接字处于阻塞模式,但对于 select() 函数,我使用了 250 毫秒。暂停。
基本上我的服务器只接受一个客户端并向该客户端发送数据。如果我只是将数据从服务器发送到客户端,它可以正常工作数周。
但我意识到,如果客户端在 select() 行 3-4 小时后将数据发送到服务器,则会出现堆栈溢出异常(0xC00000FD)。我红了几十次 Select() 的 MSDN 页面,但没有提到与此相关的内容。我真的被困住了。任何帮助将不胜感激。
顺便说一下,我在网上找到了例子;
http://tangentsoft.net/wskfaq/examples/basics/select-server.cpp
在这里接受客户端连接后,他将其设置为非阻塞模式。有人评论说;
// Mark the socket as non-blocking, for safety.
上面的“安全”是什么意思?所以你认为这是我的问题吗?因为在我的实现中,连接的处于阻塞模式?
提前致谢