【问题标题】:Java socket between 2 hosts on different subnets不同子网上的 2 台主机之间的 Java 套接字
【发布时间】:2011-01-21 11:57:07
【问题描述】:

在Java中,我们可以用new ServerSocket(port)打开一个ServerSocket,然后用new *Socket(server_adress",port)*连接它;
但是如何连接,如果服务器在不同的网络中,而两个网络都在 NAT 之后。

我知道必须有一个解决方案。 Skype 和其他应用程序已经找到它。

有什么想法吗?

问候,安德鲁。

【问题讨论】:

  • 如果服务器和客户端位于不同的子网中,您是否真的有问题,或者您只是假设有问题?向我们展示您尝试过的一些代码,也许我们可以帮助您解决您遇到的任何问题?
  • 服务器和客户端是否在不同的子网上都没有关系。你遇到了什么问题?
  • 这与其说是一个 java 问题,不如说是一个网络问题。您应该提供有关网络拓扑的更多详细信息(路由器、NAT、IP 地址……)
  • 有两种解决方案,1. 在路由器中设置端口转发。 2. 像 Skype 一样进行打孔(预计将在一年中的大部分时间以一般方式实现这一点)。

标签: java web-services sockets subnet


【解决方案1】:

有关所有方法的列表,其中一些被 Skype 使用,请参阅http://en.wikipedia.org/wiki/NAT_traversal

选择方法后,请使用 Google 搜索该方法的 Java 实现。 (或点击该 wiki 页面上的链接,例如 http://jstun.javawi.de/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    相关资源
    最近更新 更多