現在android端末から文字列を送ってPCのサーバで受信された文字列を標示するプログラムを開発しているのですが、連続した文字列を送信した場合に最初の一行のみしか受信できていません。どのようにしたら連続した文字列を受信できるようになるでしょうか?
どうぞよろしくお願いいたします。
lang
1import java.io.BufferedReader; 2import java.io.BufferedWriter; 3import java.io.IOException; 4import java.io.InputStream; 5import java.io.OutputStream; 6import java.net.ServerSocket; 7import java.net.Socket; 8import java.net.SocketAddress; 9 10public class TCPSample { 11 12 private static final int BUFSIZE = 1024; // 受信バッファサイズ 13 private static final int port = 54321; 14 15 public static void main(String[] args){ 16 17 ServerSocket ss; 18 Socket socket; 19 InputStream in; 20 OutputStream out; 21 BufferedReader br; 22 BufferedWriter bw; 23 int rcevsize; 24 25 // サーバソケットの作成 26 try{ 27 ss = new ServerSocket(port); 28 byte[] buf = new byte[BUFSIZE]; 29 30 // クライアントからの接続を待ち受けるループ 31 while (true) { 32 System.out.println("接続待機中..."); 33 socket = ss.accept(); // クライアントの接続を取得; 34 SocketAddress clientAddress = socket.getRemoteSocketAddress(); 35 System.out.println("接続中:" + clientAddress); 36 in = socket.getInputStream(); 37 out = socket.getOutputStream(); 38 39 while ((rcevsize = in.read(buf)) != -1) { 40 String str = new String(buf,0,buf.length,"UTF-8"); 41 System.out.println(str); 42 out.write(buf, 0, buf.length); 43 } 44 socket.close(); 45 } 46 }catch(IOException e){ 47 e.printStackTrace(); 48 } 49 // 到達不能コード 50 } 51}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。