【问题标题】:Java TCP Client Server working over LAN with port Forwarding but not with hamachiJava TCP 客户端服务器在 LAN 上使用端口转发但不使用 hamachi
【发布时间】:2013-12-30 04:01:54
【问题描述】:

我有一个基本的 Java 客户端服务器 TCP 程序,它能够通过 LAN 连接,并且当我使用带有端口转发的公共 ip 时。

困扰我的是,当我尝试在 hamachi VPN 网络中使用相同的程序时,它不起作用。我也想让它在那里工作,因为许多人试图避免端口转发但使用 hamachi,因为这对他们来说似乎更容易。

服务器代码 ss = 新服务器套接字(4444); 客户端 c = ss.accept();

客户端代码 套接字客户端 = new Socket(, 4444); printWriter = 新的 PrintWriter( 新的 OutputStreamWriter( client.getOutputStream()));

我用谷歌搜索并找不到有关此问题的任何信息,因为通常人们会问如何避免端口转发,并被告知例如使用 hamachi 或学习如何转发他们的端口。

提前致谢!

【问题讨论】:

    标签: java sockets tcp hamachi


    【解决方案1】:

    错误是程序的另一部分确实关闭了一些流,并且在 java 中关闭一个封装的流会关闭它下面的所有内容。

    【讨论】:

      【解决方案2】:

      hamachi 真的会阻塞一个端口吗?我喜欢使用ncatnmap 来测试这些东西。

      "ncat -l portNumber" 将启动一个监听 portNumber 的服务器

      "nmap -Pn -p1234 someHost" 将查看 someHost 上的端口 1234 是否打开(不执行 ping 以确定主机是否首先启动)

      使用您的服务器和客户端设置上述内容,尝试使用您的端口 4444 并尝试使用一些没有人阻塞的端口,例如 80 或 443。如果它适用于那些普通端口,但不适用于 4444,那么有些东西(hamachi? ) 正在阻塞该端口。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-03
        • 1970-01-01
        • 2023-03-21
        • 2013-02-09
        • 2017-07-16
        • 1970-01-01
        • 2014-08-18
        • 2013-08-07
        相关资源
        最近更新 更多