我正在用Java实现一个Socket程序,并意识到Socket和ServerSocket类只能在我的LocalNetwork中使用。我需要做什么,以便远程PC(不同的路由器)可以连接到我的PC(服务器)?我应该使用什么API?
答案 0 :(得分:5)
Socket
和ServerSocket
没有任何内容限制它们到本地网络。防火墙等可能存在问题,但类本身不会产生任何额外的约束。
答案 1 :(得分:1)
没有限制,它也可以在互联网上使用,理想情况下你要做的是确保防火墙允许你连接到套接字监听的端口,你可以通过你的端口创建一个端口转发DMZ或NAT用于过滤和转发请求到监听机器。
答案 2 :(得分:1)
“Socket和ServerSocket类只能在我的LocalNetwork中使用。”
你从哪里得到的?
无论如何,Socket和ServerSocket根本不限于本地网络。这不是本地的:
Socket s = new Socket("www.java2s.com", 80);
但是,如果您的客户端和服务器位于不同的网络上,则必须设置正确的路由(即配置路由器的DMZ等)。