【发布时间】:2012-02-07 11:34:06
【问题描述】:
很抱歉,如果之前有人问过这个问题,但找不到关于这个特定问题的任何信息。
我试图找出我的计算机使用我自己的哪个 ip 来连接到远程 ip。 我以两种方式使用某种套接字设置等,并将我的 ip(和其他带有 xml 的东西)发送到另一台服务器,以便它知道如何联系我。 但是我如何确定我应该发送哪个 ip 呢? 我有服务器 ip 或主机名,但尝试使用
Dns.GetHostEntry("host").AddressList
但这只会给我远程主机的 ip,而不是我的计算机如何到达它。
我的问题完全可以解决还是只是一厢情愿?
【问题讨论】:
-
如果您在 NAT 网关后面(例如大多数家庭路由器、蜂窝连接等),发送您的本地 IP 将毫无用处。它会是(比如说)10.x.x.x 并且无法从外部访问。
-
Minitech:也在考虑这个问题,但是如果用户有多个局域网,例如虚拟机,就很难知道哪个局域网与连接的服务器有关。
-
Marc B:这是此内容中的一个计算风险 :) 大多数用户都知道他们需要一个公共 IP 才能通过 Internet 连接。但这主要用于内部网络。
-
这还有必要吗?如果您先连接到服务器,它会知道您从哪个 IP 连接,因此可以使用它来“回电”,假设不涉及 NAT。您只需要告诉服务器您正在侦听的端口号。
标签: c# sockets ip-address system.net