2013-02-23 2 views
0

매번 RGB 색상을 전송하기 위해 더 빠른 소켓 클라이언트를 만들려고 할 때, 더 빠른 호출은 초당 1 ~ 10 번이어야합니다.안드로이드 소켓 클라이언트가 느림

나는이 코드를 사용하고 있습니다 :

try { 
     socket = new Socket("192.168.0.9",1234); 
     try { 
       dataOutputStream = new DataOutputStream(socket.getOutputStream()); 


      //toServer = new BufferedWriter(new PrintWriter(socket.getOutputStream(),true)); 
      //out = new PrintWriter(new BufferedWriter(
      //  new OutputStreamWriter(socket.getOutputStream())), false);    
     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } catch (UnknownHostException e1) { 
     Log.e("Error", "Error"); 
     e1.printStackTrace(); 
    } catch (IOException e1) { 
     Log.e("Error", "Error"); 
     e1.printStackTrace(); 
    } 

내가 피커에서 색상을 변경하고 때마다, 나는를 수행 파이썬에서

dataOutputStream.writeUTF(";"+red+";"+green+";"+blue+";"+brightness+";"); 

내가 스크립트를 시도이 메서드를 호출하고 같은, 100 초 2 초 그리고 나는 어떤 lags도 없다. 내가 얻는 것은 python 서버가 새로운 요청을 기다리고 있지만 Android가 소켓 연결을 통해 시간을 보내는 것입니다. 실제로 출력을 쓰는 데 3 가지 다른 방법을 시도했지만 DataOutputStream만으로는 빠르지 만 지연이 발생했습니다.

이 문제를 해결하는 가장 좋은 방법은 무엇입니까?

답변

0

DataOutputStream과 소켓 사이에 BufferedOutputStream을 배치하고 각 writeUTF() 후에 DOS를 플러시합니다. 피어에서 BufferedInputStream을 통해 DataInputStream을 사용합니다.

관련 문제