У меня есть два приложения Windows Forms, одно действует как сервер (то есть Winform: роль сервера ), а другое - как клиент (то есть Winform: роль клиента ). В моей конфигурации локальной сети 6 ПК, и эти ПК подключены друг к другу через 8-портовый коммутатор, и на каждом ПК установлено более одной сетевой карты.
На одном ПК работает [Winform: роль сервера] и еще пять работают [Winform: роль клиента]. В [Winform: роль сервера] я ' m, используя следующий код для получения локального 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-адрес и номер порта во время выполнения?
Мне нужно уточнить мое намерение. Возможно, мой нынешний подход к моему намерению неверен. Я пытаюсь создать «сеть клиент-сервер с нулевой конфигурацией» - это plug & play. Сервер будет знать, где находится клиент, и наоборот. Я знаю, что есть программа (то есть MaxiVista) именно для этого.
MaxiVista имеет два приложения, то есть сервер и клиент. Пользователям необходимо только выполнить серверное приложение на ПК, обозначенном как роль сервера, и выполнить клиентское приложение на другом ПК, обозначенном как роль клиента. Тогда сервер сможет найти всех исполняющих клиентов в одной локальной сети.
Я намерен именно так. Подключи и работай «сеть клиент-сервер с нулевой конфигурацией» в одной локальной сети.