gpt4 book ai didi

java - 无法通过 WAN 将客户端程序连接到服务器程序

转载 作者:行者123 更新时间:2023-12-01 17:26:26 26 4
gpt4 key购买 nike

我用java语言创建了一个客户端服务器程序,其中包含serversocket和socket类,以及用于发送和接收数据的datainputstream和dataoutputstream。

但问题是,当我在 LAN(局域网)或本地主机上运行它时,它可以正常工作,但是当我尝试通过 WAN(广域网)连接客户端与服务器时,它甚至无法连接到服务器

为了通过WAN连接它,我输入了服务器端程序的IP地址作为套接字类承包商的参数,例如:socket s= new socket(ipadd,port);并且它无法连接到服务器,没有任何错误或其他情况

所以请帮我解决这个问题很长时间了。

这是我的服务器端程序代码 this is my server side program

这是我的客户端程序代码 this is my client side program code

最佳答案

您正在使用您的手机向您的服务器(即您的笔记本电脑)提供互联网,因此您的手机在这里充当路由器,并且您的手机已向连接到它的设备提供本地 IP 地址。所以发生的情况是,当您在客户端应用程序中输入笔记本电脑(服务器)的 IP 地址以启动连接时,您的计算机没有任何公开的 IP 地址(它有一个由您的手机分配的 IP 地址,但不是公开的)可用,并且它是一个本地 IP 地址,通常以 192.168 开头........),因此客户端应用程序无法检测到您的服务器以及连接到路由器的服务器,同样适用于它们的情况。

解决这个问题的方法是,您在客户端应用程序中输入您的移动设备(为您的服务器提供互联网)的 IP 地址,然后使用任何端口转发器应用程序将端口转发到您的服务器(您的笔记本电脑)的 IP 地址(它是您的手机/路由器分配给笔记本电脑的本地 IP 地址)和端口(您用于与客户端通信的端口),并且 Google Play 商店上有许多端口转发器应用程序,您可以使用其中任何一个。因此,在您的情况下开始与客户端和服务器连接的步骤是:

1:从手机商店安装并启动手机中的任何端口转发器应用程序。 2:无法将端口转发(对于每个到达您手机的IP地址的请求)到您的服务器的IP地址(由您的手机分配给您的服务器)。 3:然后在客户端应用程序中输入手机的 IP 地址。

它将连接到您的服务器...

关于java - 无法通过 WAN 将客户端程序连接到服务器程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61203583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com