Как получить IP-адрес и номер порта, назначенные .NET

У меня есть два приложения 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 имеет два приложения, то есть сервер и клиент. Пользователям необходимо только выполнить серверное приложение на ПК, обозначенном как роль сервера, и выполнить клиентское приложение на другом ПК, обозначенном как роль клиента. Тогда сервер сможет найти всех исполняющих клиентов в одной локальной сети.

Я намерен именно так. Подключи и работай «сеть клиент-сервер с нулевой конфигурацией» в одной локальной сети.

7
задан Peter Mortensen 10 April 2014 в 04:48
поделиться