-1

クライアント接続を受け入れるソケットベースのサーバーがあります。問題は、サーバーが 1 つのクライアント接続しか受け入れられないことです。複数のクライアントを受け入れたい。

サーバーコード:

        class Conn extends Thread{
        ServerSocket ss;
        Socket s;
        public void run()
        {
            status.setText(status.getText()+"connecting");
            try{
            while(true)
            {
            ss=new ServerSocket(3000);
            s=ss.accept();
            Read r=new Read(s);
            r.start();
            }
            }catch(Exception e){}
        }            
    }
4

2 に答える 2

0

Connクラスに、次のようなものを入れます。

try {
    ss = new ServerSocket(3000);
    while(true) {
        s = ss.accept();
        Read r = new Read(s);
        r.start();
    }
} catch (Exception e) {}

サーバー ソケットを開き、ループ内ですべての着信接続を受け入れて処理し、新しいスレッドを開始します。

于 2012-06-13T10:17:10.797 に答える
0

接続されたクライアントをリストに保持し、メッセージを書いたクライアントにのみ送信する代わりに、着信文字列をすべてのクライアントに送信できます。

于 2012-06-13T11:54:11.467 に答える