与运行在 VMWare 中的 TCP 服务器连接,其中网络类型为 NAT

本文关键字:中网 网络 类型 NAT 连接 运行 VMWare 中的 服务器 TCP | 更新日期: 2023-09-27 18:31:30

我有C# TCP服务器程序,该程序正在运行VMWare,网络类型为NAT。那里的TCP服务器用作http服务器,因此我可以使用浏览器连接它。现在,当我使用此 url http://localhost:33333/OrderDetails 连接它时,它可以毫无问题地工作。但是当我尝试使用此链接从 VMWare 外部连接它时 http://1.39.37.243:33333/OrderDetails1.39.37.243 是我 PC 的公共 IP),那么它不起作用。我无法更改网络类型 NAT,因为我客户的办公室网络系统也是 NAT 系统。我哪里做错了?任何想法或建议将不胜感激。

与运行在 VMWare 中的 TCP 服务器连接,其中网络类型为 NAT

这不起作用,因为接收 TCP 数据包的计算机没有理由将它们转发到 VM。换句话说,这是行不通的,因为你没有做任何事情来让它工作。

您需要配置 VMWare 的 NAT 以将这些传入的 TCP 连接转发到虚拟机。

您可能还会遇到其他问题:

  1. 服务器可能未侦听正确的 IP 地址。例如,如果侦听套接字绑定到本地主机,则只有本地主机连接才能工作。

  2. 路径中可能存在其他内容,阻止 TCP 数据包到达主机。例如,如果主机本身位于 NAT 后面,则可能需要在路由器中配置端口转发。

  3. 除非路由器支持发夹,否则端口转发将无法从 LAN 内部工作。如果主机本身位于 NAT 后面,请在路由器中设置端口转发后从 LAN 外部进行测试。