Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java socket编程中的端口转发_Java_Sockets_Networking_Tcp_Wan - Fatal编程技术网

Java socket编程中的端口转发

Java socket编程中的端口转发,java,sockets,networking,tcp,wan,Java,Sockets,Networking,Tcp,Wan,我使用套接字编程在Java中创建了一个程序,它在两个设备之间发送消息。它在局域网中工作得很好,但在广域网中不起作用。我搜索了很多,很多人说在我的路由器中启用端口转发。我有一个疑问,我们在计算机中使用了许多连接到互联网的应用程序。各种应用程序也与服务器通信,它们都不需要任何端口转发。 那么为什么这个java程序需要端口转发之类的东西才能工作呢?…各种应用程序也与服务器通信。。。如果您的程序正在代理服务器,即侦听特定端口上的连接,则需要端口转发。您不仅需要端口转发,还需要公共internet上的地址

我使用套接字编程在Java中创建了一个程序,它在两个设备之间发送消息。它在局域网中工作得很好,但在广域网中不起作用。我搜索了很多,很多人说在我的路由器中启用端口转发。我有一个疑问,我们在计算机中使用了许多连接到互联网的应用程序。各种应用程序也与服务器通信,它们都不需要任何端口转发。
那么为什么这个java程序需要端口转发之类的东西才能工作呢?

…各种应用程序也与服务器通信。。。如果您的程序正在代理服务器,即侦听特定端口上的连接,则需要端口转发。您不仅需要端口转发,还需要公共internet上的地址。您的IP可能是动态的,因此会发生变化-您需要设置一个dynDNS提供商,希望您不会落后于运营商级别的NAT。@PresidentJamesK.Polk是的,我创建了Server.java以接受Client.java发送的连接。但是你能解释一下或者提供一些资源给我,为什么服务器需要端口转发enabled@BoristheSpider我刚刚创建了这个小程序用于学习,所以我不认为动态DNS会给测试带来问题。但主要的问题是关于端口转发,以及理解为什么实际需要端口转发,以及为什么其他应用程序dontA服务器需要接收连接-它需要在路由上的每个NAT上都有一个端口转发。你的路由器是公寓里的接待员——如果你不告诉它你在等邮件,它会拒绝接受任何包裹。关于不需要dynDNS-您计划在客户的“目的地地址”中输入什么?