У меня есть сервер на основе выбора.Сокеты находятся в режиме блокировки, но для функции select () я использую 250 мс.timeout.
В основном мой сервер принимает только одного клиента и отправляет данные этому клиенту.Если я просто отправляю данные с сервера клиенту, он работает неделями без проблем.
Но я понял, что если клиент отправляет данные на сервер через 3-4 часа в строке select (), это дает исключение переполнения стека (0xC00000FD).Я красную десятки раз MSDN страницы Select (), но ничего не упомянуто, связанных с этим.Я действительно застрял.Любая помощь будет оценена.
Кстати, я нашел в сети пример;
http://tangentsoft.net/wskfaq/examples/basics/select-server.cpp
здесь, после принятия клиентского соединения, он устанавливает его в неблокирующий режим.И отмечается, что
// Mark the socket as non-blocking, for safety.
Что означает «безопасность» выше?Так ты думаешь это моя проблема?Потому что в моей реализации подключенные находятся в режиме блокировки?
Заранее спасибо