0

我在 vb.net 中创建了一个简单的 tcp 客户端-服务器应用程序。当我将本地主机(127.0.0.1)设置为 IP 地址时,一切正常。我希望与远程机器建立连接(将客户端放在我的机器上,将服务器放在另一台机器上 - 反之亦然)。

编辑:

好的,感兴趣的代码如下:

服务器:

昏暗服务器 As TcpListener = New TcpListener(IPAddress.Any, port)

客户端:

Dim theip As IPAddress = IPAddress.Parse(TextBox1.Text) client = New TcpClient(theip.ToString, port)

现在,如果我的客户端在远程计算机上(通过 Internet 连接)而服务器在另一台计算机上(其外部 IP 地址已知),我应该在“TextBox1.Text”中输入什么?我可以直接在文本框中输入运行服务器的机器的外部 IP 地址吗?另外,我是否需要处理诸如“端口转发”/“让防火墙允许连接”之类的事情?如果是,您能否指导我或链接一个教程,以便我的应用程序自动执行此操作,或者是否有其他方法可以实现此目的,因此不需要端口转发?非常感谢!

4

1 回答 1

0

你说另一台机器有一个外部IP地址。这意味着它也有一个本地IP 地址;即它位于 NAT 防火墙或类似防火墙后面。在这种情况下,您必须配置防火墙以允许进行通信,例如通过设置端口转发。MSN Messenger、VOIP 客户端等应用程序具有自动协商的复杂机制,但它们通常不是很成功。

于 2013-07-14T15:21:58.333 回答