我有一个基本的Java客户端服务器TCP程序,它可以通过局域网连接,也可以使用我的公共IP和端口转发。
让我困扰的是,当我尝试在hamachi VPN网络中使用相同的程序时,它不起作用。我想让它在那里工作,因为许多人试图避免端口转发,但使用hamachi,因为它似乎更容易。
服务器代码 ss = new ServerSocket(4444); 客户c = ss.accept();
客户代码 套接字客户端=新套接字(,4444); printWriter = new PrintWriter( new OutputStreamWriter( client.getOutputStream()));
我用谷歌搜索,无法找到有关此问题的任何信息,像往常一样,人们会问如何避免端口转发,并被告知使用hamachi为例,或者学习如何转发他们的端口。
提前致谢!
答案 0 :(得分:0)
hamachi实际上可以阻止一个端口吗?我喜欢使用ncat和nmap来测试这些内容。
“ncat -l portNumber”将启动侦听portNumber
的服务器“nmap -Pn -p1234 someHost”将查看端口1234是否在someHost上打开(没有执行ping以确定主机是否先出现)
使用您的服务器和客户端设置上述内容,尝试使用您的端口4444并尝试使用一些无人阻塞的端口,如80或443.如果它适用于那些普通端口,但不适用于4444,那么(hamachi? )阻止该端口。
答案 1 :(得分:0)
错误是该程序的另一部分确实关闭了一些流,并且在java关闭时,一个封装的流关闭了它下面的所有内容。