【发布时间】:2013-02-28 14:00:47
【问题描述】:
我使用笔记本电脑作为服务器,使用移动设备作为客户端。我需要在他们之间发送消息。我可以通过使用笔记本电脑的本地 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 来解决这个问题吗?如果有怎么办?
【问题讨论】:
-
你的问题真的不是编程问题。你的问题是路由器的配置。当您在同一个网络中时,您可以使用您的内部 IP。当您在不同的网络中时,您需要指定两个网络的公共 IP。我建议您将问题移至 ServerFault (serverfault.com/?as=1),在那里更有网络经验的人将能够更好地帮助您。
标签: java sockets network-programming ip-address serversocket