我第一次尝试使用 WebRTC 数据通道。我可以使用 WebRTC javascript 代码发送文本,并且可以从我的 WebRTC android 代码中捕获事件。
我正在遵循程序:
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是否提供了任何功能来解码它?