0

我使用笔记本电脑作为服务器,使用移动设备作为客户端。我需要在他们之间发送消息。我可以通过使用笔记本电脑的本地 IP 地址并将它们都连接到同一个 wifi 网络来做到这一点。但是,如果我需要发送消息,尽管它们通过不同的 wifi 网络连接到不同的互联网,我如何使用 IP 地址。这是客户端中的代码:

 client = new Socket("192.168.0.103", 4444); //local ip address of server

这是服务器中的代码:

serverSocket = new ServerSocket(4444);  //Server socket
clientSocket = serverSocket.accept();   //accept the client connection
inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
bufferedReader = new BufferedReader(inputStreamReader); //get the client message
String input=bufferedReader.readLine();

我可以使用网关或动态或静态 ip 来解决这个问题吗?如果有怎么办?

4

1 回答 1

0

您需要在服务器端配置调制解调器/路由器,以便(从客户端 mobil)到端口 4444 的外部呼叫将被重定向到子网中的正确设备。

这是必须在路由器上手动完成的配置更改。此外,并非所有路由器都支持这种服务重定向功能(但大多数都支持)。即使路由器支持它,有时也可能很难找到正确的方法,因为模型之间可能有不同的名称。

通常,即使有单个设备连接到路由器,您也必须这样做。

在某些安装中,路由器和模型是两个不同的物理设备,但您也可以在单个设备中找到这两个功能。如果您有能力将多个设备连接到您的调制解调器,那么您的调制解调器也可能提供路由功能。但是,我记得过去看到一些调制解调器无法将外部服务调用重定向到特定设备(或者至少,我个人从未找到如何为这些模型执行此操作)。

如果您的网络只有一个路由器 - 就像大多数家庭安装一样;那么网关和路由器之间没有真正的区别。但是,如果您的服务器位于具有多个路由器的复杂本地网络上,那么正确配置整个网络会变得非常困难;特别是当您进行安全检查时。

因此,如果您在家,您应该查阅 wify 设备的文档,或者请负责公司网络的人员进行配置。

于 2013-03-12T21:09:48.167 回答