【发布时间】:2020-09-02 11:35:38
【问题描述】:
我正在用 Java 编写一个胖客户端,它允许发送文件。 因此,从具有公共 IP(所谓的 pip1)的 LAN 1,具有本地 IP(lip1)的第一个胖客户端(fc1)通过 WAN 将文件发送到 LAN 2(pip2)上的第二个胖客户端(fc2)。 我在端口 8081 上使用 TCP/IP 协议。因此,只有当我将 LAN1 路由器上的 lip1 端口 8081 和 LAN2 路由器上 lip2 的端口 8081 端口转发时,它才有效...
太糟糕了:我想你已经明白我不擅长网络东西。 :秒 你的建议是什么?我使用 java.net.ServerSocket
【问题讨论】:
-
一个客户端不能向另一个客户端发送数据。某处必须有服务器。如果该服务器位于 NAT 设备后面,则必须进行端口转发。这不是编程问题,而是网络设置问题。
-
是的,我将我的应用程序命名为胖客户端,因为它安装在每个用户的环境中。但在其中,有一个真正的客户端部分使用套接字发送数据,还有一个服务器部分,在另一个线程中启动,等待使用 ServerSocket 传入的数据。
-
确实,当你在你的电脑上安装一个软件时,它不能等待来自外部的数据?
标签: java sockets portforwarding