我正在尝试了解客户端/服务器和套接字,但我对更大范围的事情感到困惑。我按照一个教程,有一个客户端作为Android应用程序,服务器是一个Java应用程序。我在eclipse上运行它们都很好。
我现在的问题是如何让这种全球化?所以我将把我用java编写的服务器代码导出到一个名为server.java的文本中,然后将其上传到我的个人网站?然后当我启动我的客户端Android应用程序时,我会打电话说http://blah.com/server.java启动我的服务器,对吧?然后我的服务器将开始侦听该端口,我的客户端可以连接到它?
服务器:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;
public class SimpleTextServer {
private static ServerSocket serverSocket;
private static Socket clientSocket;
private static InputStreamReader inputStreamReader;
private static BufferedReader bufferedReader;
private static String message;
public static void main(String[] args) {
try {
serverSocket = new ServerSocket(4444); // Server socket
} catch (IOException e) {
System.out.println("Could not listen on port: 4444");
}
System.out.println("Server started. Listening to the port 4444");
while (true) {
try {
clientSocket = serverSocket.accept(); // accept the client connection
inputStreamReader = new InputStreamReader(clientSocket.getInputStream());
bufferedReader = new BufferedReader(inputStreamReader); // get the client message
message = bufferedReader.readLine();
System.out.println(message);
//will later add an output stream to write back to android
inputStreamReader.close();
clientSocket.close();
} catch (IOException ex) {
System.out.println("Problem in message reading");
}
}
}
}