[問題] Client接收String的問題
我寫一個測試的java程式
server部分code
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
String []hh = new String[100];
hh[0]="String1"; hh[1]="String2";
hh[2]="String3"; hh[3]="String4";
hh[4]="String5"; hh[5]="String6";
for(int i=0;i<=5;i++){
String outData = hh[i];
byte [] outByte = outData.getBytes();
out.write(outByte , 0 , outByte.length);
out.flush();
System.out.println(outData);
}
client部分code
DataInputStream in = new DataInputStream(socket.getInputStream());
for(int i=0;i<=5;i++){
byte[] inByte = new byte[1000];
in.read(inByte);
String servermsg = new String(inByte , 0 , inByte.length);
System.out.println("Message from server : "+i);
System.out.println(servermsg);
}
結果我很納悶因為他的執行結果跟我想的不太一樣
執行結果:
Message from server : 0
String1
Message from server : 1
String2String3String4String5String6
但是我預想的結果是
Message from server : 0
String1
Message from server : 1
String2
Message from server : 2
String3
Message from server : 3
String4
Message from server : 4
String5
Message from server : 5
String6
請問這是怎樣的問題呢?
要如何修改才能得到我預想的結果呢?
先謝謝各位
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.171.37.243
※ 編輯: wheredo 來自: 118.171.37.243 (09/11 21:55)
推
09/11 22:28, , 1F
09/11 22:28, 1F
→
09/11 22:30, , 2F
09/11 22:30, 2F
這樣client不就無法確認幾次可以收到?
這樣就無法用for loop去接收 那要如何接收呢?
→
09/11 23:08, , 3F
09/11 23:08, 3F
→
09/11 23:12, , 4F
09/11 23:12, 4F
※ 編輯: wheredo 來自: 114.39.5.215 (09/11 23:53)
推
09/11 23:58, , 5F
09/11 23:58, 5F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):