0

ソケット経由でファイル (byte[]) を送受信する Java

上記の質問を参照して、クライアント側から複数の画像を受信するためにこのコードをループに入れる方法を尋ねたかっただけです???? 私は試しましたが、最初に読み取った後は (count = is.read(bytes)) > 0 で停止しません。助けてください

4

1 に答える 1

0

あなたの質問を正確に理解しているかどうかは実際にはわかりませんが、助けようとします. それで、無限の時間クライアント/サーバーに接続したいですか?そのため、サーバー クライアントとクライアント自体の両方をスレッドとして作成し、スレッドをループに入れてみてください。このサンプルを試してください。

connection = new Socket("IP",PORT);
        input = new DataInputStream(connection.getInputStream());
        output = new DataOutputStream(connection.getOutputStream());
        new Thread(new Runnable() {

        public void run(){
            while(true){
            try
            {
                System.out.println(">>" + input.readUTF());
            }
            catch(Exception e){
                try
                {
                    input.close();
                    output.close();
                    connection.close();
                }
                catch(Exception e2)
                {}
             }
            }
        }
        }).start(); 

        Scanner scan = new Scanner(System.in);

        while(true)
        {
            String data = scan.nextLine();
            output.writeUTF(data);
        }

これはクライアントのコードです。また、すべてのデータを受け入れて情報を送り返す Client Service スレッドも必要です。質問を正しく理解したかどうかよくわからないので、役に立てば幸いです。幸運を!

于 2013-04-06T10:00:38.467 に答える