0
建立藍牙連接後我有5次調用寫入方法發送消息btAdapter.write(「abc18」.getBytes());同樣,我正在通過read()方法讀取消息,但問題是讀取方法有時一起讀取多個消息。我怎樣才能防止這一點?看到我的下面的客戶端和服務器代碼。服務器發送相同的消息5次和客戶端閱讀相同,但問題是有時客戶端讀取多個郵件在一起。藍牙輸入流一起讀取多個消息
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());
如果您繼續像現在一樣發送郵件,則無法阻止該郵件。更好地發送線路。並閱讀接收方的線路。 – greenapps
只有寫入方法可用於藍牙。 –
當然,您可以使用寫入方法發送行。你唯一需要添加的是你的字符串的'\ n'。 – greenapps