2017-01-17 4 views
0

블루투스 연결을 설정 한 후 필자는 btAdapter.write ("abc18".getBytes()); read() 메서드로 메시지를 읽는 것과 같은 방법이지만 문제는 여러 메시지를 함께 읽는 경우가 있습니다. 이 문제를 어떻게 방지 할 수 있습니까? 내 아래의 클라이언트 및 서버 코드를 참조하십시오. 서버는 동일한 메시지를 다섯 번 보내고 클라이언트는 동일한 메시지를 읽지 만 문제는 클라이언트가 여러 메시지를 함께 읽는 경우입니다.블루투스 Inputstream 여러 메시지를 함께 읽으십시오

server side code: 

private final BluetoothSocket mmSocket; 
private final InputStream mmInStream; 
private final OutputStream mmOutStream; 
mmOutStream.write(buffer); 
String sendMsg = "testing"; 
for(int i=0;i<5;i++){//Sending same message 5 times. 
mmOutStream.write(sendMsg.getBytes()); 
} 

Client side: 

private final InputStream mmInStream; 
mmBuffer = new byte[1024]; 
numBytes = mmInStream.read(mmBuffer); 
byte[] readBuf = mmBuffer; 
String readMessage = new String(readBuf, 0, numBytes); 
Log.d(TAG,"READING MESSAGES MESSAGES::"+readMessage.toString()); 
+0

지금처럼 보내기를 계속하면 그 사실을 막을 수 없습니다. 더 나은 전화 회선. 그리고 수신 측의 라인을 읽으십시오. – greenapps

+0

블루투스에서만 쓰기 방법을 사용할 수 있습니다. –

+1

물론 write 메소드로 라인을 보낼 수 있습니다. 추가해야 할 것은 문자열에 '\ n'뿐입니다. – greenapps

답변

0

지금처럼 계속 보내는 경우 방지 할 수 없습니다.

더 나은 회선. 그리고 수신 측의 라인을 읽으십시오.