Это называется тайм-аут!
WebSockets - это просто оболочка для необработанных сокетов TCP / IP ( Socket класс в .NET) - какой тайм-аут, если ничего не отправлено и ничего не сохраняетсясвязь жива.
AFAIK В настоящее время API WebSocket не очень хорошо определен в том, как поддерживать соединение активным.Я испытывал то же самое, и мне пришлось просто переключиться на использование ping (пустое сообщение), чтобы сохранить соединение (я использую реализацию сокетов Microsoft).
Если вы изобретаете зановоколесо для не окончательной спецификации, просто помните, что вам придется продолжать изобретать его каждый раз, когда меняется спецификация.Я специально решил использовать предварительный просмотр сокетов Microsoft, чтобы после его выпуска мне не пришлось менять код.Я не работаю в IIS - я работаю как консольное приложение, и оно пока работает в основном замечательно, но у меня очень мало пользователей.
Примечание. Проблема, с которой я столкнулся, заставила меня найти этот вопрос: если я отправлю 10 сообщений без ответа, соединение будет закрыто.Я все еще выясняю, почему это так - будь то ошибка / особенность WebSockets или особенность класса Socket.Возможно, я достигаю лимита в 65 Кб, но мои сообщения маленькие, и я не думаю, что именно поэтому.Просто знайте об этом при тестировании того, над чем вы работаете, потому что оно выдает ту же ошибку, что и вы.