1

クライアント側で回線が終了するServerSocketBufferedReader.readLine()入力が読み取られますが、入力を読み取り、回線が終了する前に出力を送信する方法はありますか?

ServerSocket SRVSOCK = new ServerSocket(35553);
while(true){
    Socket SOCK = SRVSOCK.accept();
    InputStreamReader IR = new InputStreamReader(SOCK.getInputStream());
    BufferedReader BR = new BufferedReader(IR);

    String MESSAGE = BR.readLine();

    PrintStream PS = new PrintStream(SOCK.getOutputStream());
    System.out.println(MESSAGE);
    PS.print("Returned Successfully");
}
4

2 に答える 2

0

この答えを見てください。

サイズが制御下にあるバッファーに入力を読み取ることができます。

(自己回答へのリンクが悪いと見なされている場合はお詫びします。再利用したいと思いました。結局、私たちは開発者です。)

于 2013-03-19T11:18:32.393 に答える
0

bufferedReader.read()一度に1文字ずつ値を返す which を使用できます

StringBuffer response = "";    

while ((c = bufferedReader.read()) != -1) 
{
        //Since c is an integer, cast it to a char. If it isn't -1, it will be in the correct range of char.
        response.append( (char)c ) ;  
}

この方法を使用する場合、いつ結果の解析を開始して返信を送信できるかを判断するのはあなた次第です。

于 2013-03-19T11:05:23.143 に答える