VB.NET-сервер не получает запросы на подключение от удаленных клиентов
Серверное приложение VB.NET не видит запросы на подключение от другого клиента в сети (т. Е. С другим IP-адресом). Однако он видит запросы на подключение от клиентского приложения, работающего на том же компьютере, что и сервер.
Разъем для прослушивания создается со следующими параметрами
System.Net.Sockets.AddressFamily.InterNetwork
System.Net.Sockets.SocketType.Stream
System.Net.Sockets.ProtocolType.IP
Мы экспериментировали с предшествующим безуспешно.
Конечная точка, к которой привязан прослушивающий сокет, указывает локальный IP-адрес и конкретный номер порта.
Код ожидания соединения является асинхронным в учебнике:
thelistener.Listen(10)
thelistener.BeginAccept(New System.AsyncCallback(AddressOf targetofaccept), thelistener)
Если клиент, пытающийся подключиться, находится на том же компьютере, что и прослушиватель, то targetofaccept успешно запущен. Если клиент, пытающийся установить соединение, находится на каком-либо другом компьютере в сети, то targetofaccept не запускается.
Такое поведение наблюдается для любого другого клиента в сети (т. Е. Не только для одного).
Думая, что возникла какая-то проблема с брандмауэром, мы создали серверы и клиенты VB6, используя те же адреса и порты. Сервер VB6 будет получать запросы на подключение независимо от клиентской системы.
Насколько мы можем видеть, с клиентом и сервером не возникает никаких других проблем. Архитектура сети не изменялась в течение ряда лет.
Мы отлаживаем код как консольное приложение VB.NET.
Любые советы по диагностике приветствуются.