0

コードは完成しましたが、次のエラーのために自分のコンピューターに接続できません (Google で調べたところ、ポート番号を変更する必要があると言われました。ポート番号を変更しましたが、何も起こりませんでした)。

Exception in thread "Thread-4" java.net.BindException: Address already in use: JVM_Bind

以下は、サーバーのコードです。

public class server extends Thread {
    public Socket client = null;
    public ServerSocket server = null;
    private int port = 4444; 

public void run(){  
    while (true){ //loop waits for incomming connection
        try { //start the server and listen to a port
                server = new ServerSocket(port);
            }catch (IOException e){
                System.err.println(e);
                System.exit(-1);
            }

            try { //establish a connection when receiving request
                client = server.accept();
            }catch (IOException e){
                System.err.println(e);
                System.exit(1);
            }

            Thread t = new Thread(new Connection(client));
            t.start();
        }
    }
}

これは、サーバーを起動してポート 4444 をリッスンするコードです。

Server server = new Server();
server.start(); //to listen to a port

ありがとうございました

4

1 に答える 1

1

ループに入る前に ServerSocket を作成する必要があります。現在、反復ごとに作成しようとしていますが、これは意味がなく、閉じていないため、2 番目の作成は失敗します。

于 2012-11-03T01:19:31.800 に答える