当前位置: 代码迷 >> Android >> java socket有关问题 急
  详细解决方案

java socket有关问题 急

热度:69   发布时间:2016-05-01 11:34:38.0
java socket问题 急!
做socket TCP/IP通信,客户端接收的数据量很大,怎么接收处理。是用缓存还是用队列?求代码

          public void run(){ 
     while(true){
     try{ 
     Thread.sleep(200);
     isCome=1;
InputStream in_2 = _socket_2.getInputStream();
              byte[] buffer_2 = new byte[in_2.available()];
     int readcount=0;
     whilewhile(in_2.read(buffer_2)>0){//我要在下面的代码中对接收到的数据进行处理!总出问题,因为收到的数据太多,而且我感觉接收到的数据总在变化,求指教
    
         for (int i = 0; i < lq.length; i++) { 
         String hex_2 = Integer.toHexString(lq[i] & 0xFF);  
        
         if (hex_2.length() == 1) { 
         hex_2='0' + hex_2;
         }else{
         }
         Receive_date_2[i]=hex_2;
        
         }
         i_hex_2=Integer.valueOf(Receive_date_2[4],16);
    
     System.out.println("hex:"+i_hex_2);
     switch(i_hex_2){
     case 1:
     Receive_zct=Receive_date_2;
     Handle_date_2();//处理接收到的设备
     break;//
     }
        
     }
    
     }
     catch (Exception e){
     }
     }
     }

------解决方案--------------------
你在socket建立连接后不是开一个线程去处理吗?  接收数据太多的话应该有头有尾吧,循环接收一直到出现末尾。这样一条数据不就完整了吗
------解决方案--------------------
好 1楼说得好
------解决方案--------------------
jni处理数据
  相关解决方案