【问题标题】:How do I get the client IP and Port from it's NAT via HTTP?如何通过 HTTP 从它的 NAT 获取客户端 IP 和端口?
【发布时间】:2014-05-06 00:12:33
【问题描述】:

我想申请将电子邮件和消息作为P2P 服务直接发送给其他客户,使用网络服务器维护在线客户列表,并注册IPPort 发送的NAT 客户端将在其中读取列表以直接连接到命运客户端。

是否可以在HTTP Web 服务器中接收此信息?我该怎么做?或者我可以只使用UDP 服务器 (UDP Hole Punch)?

类似于原始 Skype,但带有网络服务器。

【问题讨论】:

    标签: php p2p nat upnp


    【解决方案1】:

    你不能。

    从“外部”NAT 充当您唯一的客户端,您只知道它的(NAT 的)源 IP 和(不总是)源端口。

    【讨论】:

    • 但是如果目的地想要响应发送者呢?它是否应该不知道发送者的端口,以便 NAT 将答案发送到正确的本地计算机?
    • @EASI:如果您使用的是 tcp/ip - 您可以使用已建立的连接发送响应。因此,您正在响应 NAT,然后 NAT 使用自己的映射表将数据包转发到原始客户端。
    • 谢谢,但是我怎样才能得到这两个信息呢?我想在转向自定义服务器之前测试这种可能性。 IP 是$_SERVER['REMOTE_ADDR'] ,但是端口呢?
    • @EASI:$_SERVER['REMOTE_PORT']。不知道它对你有什么帮助
    猜你喜欢
    • 2014-12-29
    • 2015-08-04
    • 2013-10-28
    • 2011-01-08
    • 2018-12-25
    • 2015-03-01
    • 2019-05-08
    • 2016-08-31
    • 2011-01-19
    相关资源
    最近更新 更多