0

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

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

服务器代码 ss = new ServerSocket(4444); 客户端 c = ss.accept();

客户端代码 Socket client = new Socket(, 4444); printWriter = new PrintWriter(new OutputStreamWriter(client.getOutputStream()));

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

提前致谢!

4

2 回答 2

0

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

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

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

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

于 2013-12-12T00:07:42.123 回答
0

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

于 2014-11-15T14:07:28.630 回答