Socket socket = new Socket("192.168.1.24", 34567);
       DataOutputStream out = new DataOutputStream(socket.getOutputStream());
       DataInputStream in = new DataInputStream(socket.getInputStream());
       out.write(send);
       out.flush();
 
       int c;
       byte[] receive = new byte[65535]; 
       while ((c = in.read(receive, 0, 65535)) >= 0){
             for (int i = 0; i < c; i++) {
                 System.out.println("id:"+receive[0]);
                 System.out.println("name:"+receive[1]);
                 .................
             }
      }
感觉写得不是很好,麻烦大家帮我优化优化

解决方案 »

  1.   

    数据接收不是这么写的。参考这里:
    http://blog.csdn.net/YidingHe/archive/2009/03/04/3955055.aspx
      

  2.   

    为什么System.out.println("id:"+receive[0]);
          System.out.println("name:"+receive[1]);
    id和name都只有一个字节?
      

  3.   

    如果是我的话,我会定义一个list,然后一个字节一个字节的读,放进list中。这样不容易出错。楼主那样的读法可能会有数据的冗余。