1
**Server Code**
Dim serverSocket As Socket
Dim clientSocket As Socket
Dim PubIP as String = "82.XX.XX.XX"
Dim LocalIP as String = "192.XX.XX.XX"
Dim byteData(1023) As Byte
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim host As String = Dns.GetHostName
Dim ip As IPHostEntry = Dns.GetHostEntry(host)
serverSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim IpEndPoint As IPEndPoint = New IPEndPoint(System.Net.IPAddress.Parse(PubIP), 8080)
Me.Text = IpEndPoint.ToString
serverSocket.Bind(IpEndPoint) 'it can't bind public ip but i need public ip to run the client from other pc and connect to server for chating.
serverSocket.Listen(5)
serverSocket.BeginAccept(New AsyncCallback(AddressOf OnAccept), Nothing)
End Sub
**Client Code**
Dim clientSocket As Socket
Dim byteData(1023) As Byte
Dim PubIP as String = "82.XX.XX.XX"
Dim LocalIP as String = "192.XX.XX.XX"
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim ipAddress As IPAddress = ipAddress.Parse(PubIP)
Dim ipEndPoint As IPEndPoint = New IPEndPoint(ipAddress, 8080)
clientSocket.BeginConnect(ipEndPoint, New AsyncCallback(AddressOf OnConnect), Nothing)
End Sub
當我與localip運行服務器,它運行良好,我只能連接客戶端從我的電腦只(服務器運行)。如果我嘗試從另一臺計算機運行客戶端,它將不會連接到服務器。套接字客戶端和服務器不工作
所以我分配公共IP,但是當我運行該程序時,Visual Studio顯示此錯誤:請求的地址在其上下文中無效。
所以我卡在這裏。我只能連接客戶端,如果從我的電腦運行,但我需要連接客戶端從我的朋友電腦到我的電腦我的服務器。
歡迎任何替代方式。