有一台电脑运行 [Winform: 服务器角色],另外五台运行 [Winform: 客户端角色]。在 [Winform: 服务器角色] 中,我使用以下代码获取本地IP地址和端口号,[Winform: 服务器角色]将根据此自动分配的 IP 地址和端口号监听所有传入的 TCP 请求。
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
所有的客户端如何在运行时知道我的服务器IP地址和端口号?
我需要澄清我的意图。我现在的方法可能是不正确的。我试图创建一种“零配置客户端-服务器网络”,这是即插即用的。服务器将知道客户端的位置,反之亦然。我知道有一个程序(即MaxiVista)已经完全做到了这一点。
MaxiVista有两个应用程序,即服务器和客户端。用户只需在指定为服务器角色的PC上执行服务器应用程序,在另一台指定为客户端角色的PC上执行客户端应用程序。然后,服务器将能够找到同一局域网中的所有正在执行的客户端。
我的意图就是这样。在同一局域网内使用即插即用的“零配置客户端-服务器网络”。