私が読んできたすべてのチュートリアルJavaソケットプログラミングについては、localhostという共通の必須単語が1つ含まれています。私はしばらくの間、Javaサーバ - クライアントのプログラムで遊んできた、少しの実験をした。しかし、いつも、私のコンピュータはサーバとクライアントの両方だったので、自分のコンピュータでホストされているサーバに接続しようとする他のコンピュータに関しては、どうやって動作させるか分かりませんでした。Javaソケットプログラミング
例えば、以下の基本的なサーバ・クライアントクラスを取る:
サーバークラス
public class TestServerSocket {
public static void main(String args[]) throws IOException {
final int portNumber = 444;
System.out.println("Creating server socket on port " + portNumber);
ServerSocket serverSocket = new ServerSocket(portNumber);
while (true) {
Socket socket = serverSocket.accept();
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os, true);
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//...code...
}
socket.close();
pw.close();
os.close();
br.close();
}
}
クライアントクラス
今public class TestClientSocket {
public static void main(String args[]) throws IOException {
final String host = "localhost";
final int portNumber = 444;
System.out.println("Creating socket to '" + host + "' on port " + portNumber);
while (true) {
Socket socket = new Socket(host, portNumber);
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader userInputBR = new BufferedReader(new InputStreamReader(System.in));
//...code...
}
socket.close();
out.close();
br.close();
userInputBR.close();
}
}
、私は上のTestServerSocketを実行したいと言います私のコンピュータは、私の友人が彼のTestClientSocketを実行している。このコードが動作するためには、このコードにどのような変更を加える必要がありますか?
https://superuser.com/questions/321734/how-does-localhost-127-0-0-1-workは何かを読んでください。 –