Я обновляю устаревший код, написанный на VB6, используя элементы управления Winsock.По сути, я пытаюсь подключить 4 компьютера через локальную сеть, чтобы компьютеры могли обмениваться файлами друг с другом при необходимости.Первоначально, как только связь была установлена, они удерживали их на неопределенный срок.Однако через 12-24 часа эти ошибки могут быть восстановлены.
Что еще хуже, вся сеть обернута в строгой безопасности, и у нас есть только определенное количество портов для работы с(их брандмауэр блокирует все другие порты.) Я подозреваю, что сетевая безопасность ответственна за закрытие соединений, которые были неактивными слишком долго, и являются причиной нашей нестабильности (наши тесты здесь выполнялись бесконечно и восстанавливались самостоятельно, еслимы перезагрузили любой из компьютеров.)
Моя мысль - устанавливать соединения только по требованию, когда необходимо отправить файл, чтобы избежать этой возможности.Проблема, с которой я сталкиваюсь, заключается в том, что вы не можете подключиться через один и тот же порт в течение четырех минут .Таким образом, не более одного файла может быть отправлено в четырехминутном окне (если у вас не все файлы одновременно, но они генерируются в разное время). Использование трех портов позволяет отправлять три файла одновременно (по одному для каждого узла).) но потом я заперт еще на четыре минуты.Я мог бы продолжать добавлять порты, но в лучшем случае это выглядит не элегантно и в худшем случае не будет разрешено их ИТ-отделом.
Есть идеи?Я не могу найти другие элементы управления сокетом для VB6, которые позволяют повторно используемые связанные порты .