2

Server-Clientプログラムが同じネットワークに接続されている小さなプログラムがありますが、同じプログラムconnection time outがクライアント プログラムでエラーを示しています。ケーブルを使用して 2 つのシステムを接続しましたLAN

サーバ

import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

public class DateServer {

  public static void main(String[] args) throws IOException {
    ServerSocket listener = new ServerSocket(9090);
    try {
      while (true) {
        Socket socket = listener.accept();
        try {
          PrintWriter out =
            new PrintWriter(socket.getOutputStream(), true);
          out.println(new Date().toString());
        } finally {
          socket.close();
        }
      }
    } finally {
      listener.close();
    }
  }
}

クライアント

import java.io.BufferedReader;
import java.io.IOException ;
import java.io.InputStreamReader;
import java.net.Socket;

import javax.swing.JOptionPane;

public class DateClient {

  public static void main(String[] args) throws IOException {
    String serverAddress = JOptionPane.showInputDialog(
      "Enter IP Address of a machine that is\n" +
      "running the date service on port 9090:");
    Socket s = new Socket(serverAddress, 9090);
    BufferedReader input =
      new BufferedReader(new InputStreamReader(s.getInputStream()));
    String answer = input.readLine();
    JOptionPane.showMessageDialog(null, answer);
    System.exit(0);
  }
}
4

2 に答える 2

0

2 つのシステムを LAN ケーブルで接続するだけでは不十分です。それらが別個の IP アドレスを持っていること、両方が同じ IP サブネット内にあること、および/または適切な IP ルーティング テーブルが定義されていることを確認する必要があります。より一般的には、ルーターを介して両方を接続します。

于 2015-04-14T07:08:19.580 に答える
0

コードは同じコンピューター上で実行されるため、次の 3 つの可能性が思い浮かびます。

  1. 問題は、ファイアウォール/ポート権限へのアクセス、または他のフェローが言及したIPアドレスのいずれかである可能性があります.
  2. サーバーのIPアドレスを間違って設定しています。
  3. サーバーの IP アドレスは、ネットワークのサブネット マスクにはありません。2 台のコンピュータを文字通りケーブルで接続している (途中にルーターがない) 場合は、DHCP を設定していない可能性があります。つまり、IP アドレスを手動で選択する必要があります。IP がランダムに選択されている場合、クライアント コンピューターがサーバー コンピューターを見つけられない可能性があります。両方のコンピュータの IP アドレスを、同じサブネット マスク範囲内の無効なアドレスに手動で設定してみて、機能するかどうかを確認してください。

たとえば、次のアドレスを設定します。

クライアント IP: 192.168.1.10 サブネットマスク: 255.255.255.0

サーバー IP: 192.168.1.11 サブネットマスク: 255.255.255.0

于 2015-04-14T06:47:14.573 に答える