我制作了一个简单的java客户端 - 服务器应用程序,其中客户端(android mobile)向服务器(pc)发送消息,但是它们都连接到同一网络。如何通过互联网而不是localhost进行相同的服务?例如,在我的手机上使用3G。 我也试过使用我的公共IP,但它没有用。 我的服务器就是这样:
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class PCServer {
public static void main(String[] args) throws IOException {
ServerSocket server = new ServerSocket(5000);
Socket client = server.accept();
Scanner s = new Scanner(client.getInputStream());
while (s.hasNextLine()) {
System.out.println(s.nextLine());
}
s.close();
server.close();
client.close();
}
}
答案 0 :(得分:1)
要从网络外部访问本地主机,您必须做一些事情
注意:要使此解决方案可用,您应该拥有静态IP,以便您可以依赖它并在客户端应用程序中使用它。
答案 1 :(得分:1)
当您说出公共IP 时,我认为您指的是当您访问What is my ip等网站时桌面浏览器所表达的公共IP
这与Java或Android无关。
或者,你可以使用Heroku并称之为好。