socket有关问题,请朋友们来帮忙看看

socket问题,请朋友们来帮忙看看
public String recvMsg(){
byte[] b = null;
try {
in=sockClient.getInputStream();
b = new byte[in.available()];
in.read(b);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return b.toString();
}
请问个方法哪有问题吗

------解决方案--------------------
in=sockClient.getInputStream();
 b = new byte[in.available()];
 in.read(b);

这样写流未必能读完,需要循环读取流
int i = -1;
while((i = in.read(b)) != -1){
     //写入到缓冲区,可以用ByteArrayOutputStream
}
------解决方案--------------------
in.read(b)有类似迭代器功能,得循环读取才能读完