2013-10-28 86 views
2

我想第一次使用WebRTC數據通道。我可以使用WebRTC的JavaScript代碼發送文本,並可以從我的WebRTC android代碼中捕獲事件。WebRTC無法解碼來自Datachannel發送的短信

我以下過程:

From JavaScript client : 
     function sendMsg(msg){ 
       if(dataChannel.readyState=="open"){ 
        dataChannel.send(msg); //dataChannel = my datachannel object 
       } 
       else{ 
        console.error("data channel no ready"); 
       } 
      } 

From WebRTC android client: 
     public void onMessage(final Buffer arg0) { 
      byte[] bytearr = new byte[arg0.data.remaining()]; 
      //Case 1: 
      Log.e("MSG_GOT",arg0.data.get(bytearr).toString()); 
      //Case 2: 
      Log.e("MSG_GOT " + arg0.data.toString()); 
     } 

對於情況1: 我得到一些不可讀數據,我假設被編碼。 對於情況2: 我得到一個對象爲java.nio.ReadWriteDirectByteBuffer,status:capacity = 6 position = 6 limit = 6。 我正在發送abcdef作爲文本。

我該如何將其解碼爲可讀文本?還是有任何WebRTC android api提供的功能來解碼它?

回答

0

我正在使用以下函數,該函數在發送字符串有效內容時起作用。

public void onMessage(DataChannel.Buffer buffer) { 
      ByteBuffer data = buffer.data; 
      byte[] bytes = new byte[data.remaining()]; 
      data.get(bytes); 
      final String message = new String(bytes); 

      // ... 
     } 

我記得它來自類似的問題/答案,我現在找不到。