在讀取Socket時注意的問題

在SOcket中有個奇怪的現象,如果放到socket的字節大於5000,socket會分兩次發送,
在讀取的時候就算new byte[30000],也只能讀取4380字節,其餘的將不會讀取,所以解決方法就是分次讀取.
使用while(){}讀取返回值爲-1的時候停止.可以按照下面的例子讀取socket中的內容

 String sign1 =""; 
 
   for(int i=0;i>-1;){
  byte[] bs=new byte[30000];
   i=req.getInputStream().read(bs);
  System.err.println("cout-----"+i);
  
  if(i==-1){
   break;
  }
  
   System.err.println(new String(bs));
  sign1=sign1+new String(bs,0,i);
  }
發佈了40 篇原創文章 · 獲贊 0 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章