Java TCP客户端服务器通过LAN工作,端口转发但不支持hamachi

时间:2013-12-11 22:58:00

标签: java sockets tcp hamachi

我有一个基本的Java客户端服务器TCP程序,它可以通过局域网连接,也可以使用我的公共IP和端口转发。

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

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

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

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

提前致谢!

2 个答案:

答案 0 :(得分:0)

hamachi实际上可以阻止一个端口吗?我喜欢使用ncatnmap来测试这些内容。

“ncat -l portNumber”将启动侦听portNumber

的服务器

“nmap -Pn -p1234 someHost”将查看端口1234是否在someHost上打开(没有执行ping以确定主机是否先出现)

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

答案 1 :(得分:0)

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