当前位置: 首页 > 知识库问答 >
问题:

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

连厉刚
2023-03-14

我已经用serversocket和套接字类在Java语言上创建了一个客户机服务器程序,带有datainputstream和dataoutputstream用于发送和接收数据。

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

并且为了通过WAN连接它,我输入了服务器端程序的ip地址作为socket类的Contractorex的参数:socket s=new socket(ipadd,port);并且它不会在没有任何错误的情况下连接到服务器

所以请帮帮我,我一直困在这个问题上。

共有1个答案

云季萌
2023-03-14

您正在使用移动电话向服务器(在您的情况下是您的笔记本电脑)提供internet服务,因此在这里您的移动电话充当了路由器,并且您的移动电话向连接到它的设备提供了本地ip地址。所以发生的情况是,当您在客户端应用程序中输入笔记本电脑(服务器)的ip地址以启动连接,而您的计算机没有任何公开的ip地址(它有一个由您的移动设备分配的ip地址,但它不是公开可用的,它是一个本地ip地址,通常以192.168开头........)因此客户端应用程序无法检测您的服务器和服务器连接到路由器相同的情况下应用。

因此,解决方案是,您输入您的移动端(它提供互联网到您的服务器)的ip地址在您的客户端应用程序,并与任何端口转发应用程序,您做端口转发到您的服务器(它是您的笔记本电脑)的ip地址(它是本地ip地址,由您的电话/路由器分配给您的笔记本电脑)和端口(您使用它与客户端通信),有许多端口forwader应用程序在Google play商店,您可以使用他们中的任何一个。因此,在您的情况下,开始与客户端和服务器连接的步骤如下:

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

它就会连接到你的服务器...

 类似资料:
  • 问题内容: 我为远程服务器编写了以下hbase客户端类: 它引发了一些异常: 您能告诉我为什么会引发异常,代码有什么问题以及如何解决它。 问题答案: 由于您的HBase服务器的hosts文件,因此会发生此问题。 您只需要编辑HBase服务器的/ etc / hosts文件。 从该文件中删除localhost条目,然后将localhost条目放在HBase服务器IP的前面。 例如,您的HBase服务

  • 从任何远程计算机将Apache Phoenix JDBC客户端(我使用sqlline.py进行测试)连接到Hbase时遇到问题。 我测试的方式如下: 我ssh到另一台运行linux的机器,然后尝试连接到我的zookeeper仲裁(目前只有一台机器:christianwith-KP): 尝试连接后,命令行什么也不做,几分钟后我得到了很多Java错误消息。 这是来自日志文件Zookeeper.out的

  • 编辑问题以包含所需的行为、特定问题或错误以及重现问题所需的最短代码。这将帮助其他人回答问题。 我有一个nodejs客户端,它使用bramqp连接到RabbitMQ服务器。我的客户端可以连接到localhost中的Rabbit MQ服务器,运行良好。但它无法连接到另一台机器上的远程RabbitMQ服务器。我在远程服务器中打开了端口5672,因此我认为问题在于rabbitMQ服务器的配置。我如何解决这

  • 我无法连接到我的节点。js服务器。当通过节点使用http web服务器在本地运行它时,它工作得很好,但是当连接到外部时,它会加载<code>socket.io。js文件很好,但当尝试使用套接字时,它会从URL中删除端口,无法连接。 而不是在网络请求中执行此操作: http://external-domain.com:3000/socket.io/?EIO=3 它是这样做的: http://exte

  • 问题内容: 如何处理多个客户端以连接到一台服务器?我有这个LogServer.java 和一个嵌入式小程序,其中包含部分代码,例如 现在的问题是,如果我在服务器上运行“ java LogServer”,它将打开应用程序并等待输入流,如果打开站点,它将开始流式传输日志。但是,如果我使用其他计算机/网络再打开一个,则第二个站点不会记录该流。似乎是因为第一个仍绑定到端口5000。 我该如何处理?套接字实

  • 我是java套接字编程的新手,我正在制作一个客户端服务器程序。服务器是多线程的。当客户端与服务器的连接打开时。服务器向客户端发送一个文本块,如下所示: 当我键入读取或退出或任何操作时,它工作正常,服务器响应。但是当我选择一个操作即插入时,就会出现问题—— 我不知道这个循环是如何发生的,特别是因为服务器在选择操作时正确接受输入,但是当选择插入操作时,它只是无限地接受输入,有人能帮忙吗,如果这个问题仍