В настоящее время у нас проблема с самописным серверным приложением, работающим в Windows (встречается в разных версиях). Сервер прослушивает порт TCP, принимает соединения, обменивается некоторыми данными, а затем снова закрывает соединения. Время от времени подключается около 100 клиентов.
Иногда сервер перестает работать: файлы журнала показывают, что соединения по-прежнему принимаются, но при первой попытке чтения возникает ошибка сокета (10054 - Сброс соединения по одноранговой сети). Я не думаю, что это проблема клиента, потому что она внезапно перестает работать для всех клиентов.
Теперь мы узнали, что та же проблема возникает с нашим старым серверным программным обеспечением, которое даже написано на другом языке программирования. Так что, похоже, что в нашей программе это не ошибка - я думаю, что это какая-то проблема с ОС / брандмауэром? Конечно, брандмауэры были деактивированы, что еще не решило проблему.
Есть идеи, где искать? Журналы Wireshark будут в ближайшее время ..
Выдержка из журнала (метка времени, идентификатор темы, сообщение)
11:37:56.137 T#3960 Connection from 10.21.13.3
11:37:56.138 T#3960 Client Exception: Socket Error # 10054
Connection reset by peer.
11:37:56.138 T#3960 ClientDisconnected
11:38:00.294 T#4144 Connection from 10.21.13.3
Вы можете видеть, что исключение возникает почти одновременно с принятием соединения, в этом случае клиент повторно подключается через несколько секунд.