У меня есть два приложения Windows Forms, одно из которых выступает в качестве сервера (то есть Winform: роль сервера ), а другое - в качестве клиента (то есть Winform: Роль клиента ),В моей настройке локальной сети есть 6 компьютеров, и эти компьютеры подключены друг к другу через 8-портовый коммутатор, и у каждого компьютера есть более одной карты локальной сети.
На одном компьютере работает [Winform: роль сервера] ипять других работают под [Winform: клиентская роль].В [Winform: роль сервера] я использую следующий код для получения локального IP-адреса , номера порта и [Winform: роль сервера] прослушивать все входящие запросы TCP в соответствии с этим автоматически назначаемым IP-адресом и номером порта.
Dim Listener As System.Net.Sockets.TcpListener
Dim Client As New System.Net.Sockets.TcpClient
Dim Message As String = ""
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Listener = New System.Net.Sockets.TcpListener(System.Net.IPAddress.Any, 0)
Listener.Start()
End Sub
Как все [Winform: роль клиента] знают мои [Winform:Роль сервера] IP-адрес и номер порта во время выполнения?
Мне нужно уточнить свое намерение.Мой текущий подход к моему намерению может быть неверным.Я пытаюсь создать «сеть клиент-сервер с нулевой конфигурацией», и это «подключи и работай».Сервер будет знать, где находится клиент, и наоборот.Я знаю, что есть программа (то есть MaxiVista), которая сделала это точно.
MaxiVista имеет два приложения, то есть сервер и клиент.Пользователям нужно только запустить серверное приложение на ПК, обозначенном как роль сервера, и запустить клиентское приложение на другом ПК, обозначенном как роль клиента.Тогда сервер сможет найти всех исполняющих клиентов в одной локальной сети.
Мое намерение именно это.Подключи и играй «клиент-сервер сети нулевой конфигурации» в той же локальной сети.