gpt4 book ai didi

WebRTC 无法解码从 Datachannel 发送的文本消息

转载 作者:行者123 更新时间:2023-12-05 01:14:23 25 4
gpt4 key购买 nike

我是第一次尝试使用 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 是否提供任何功能来解码它?

最佳答案

我正在使用以下函数,它在我发送字符串有效负载时起作用。

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);

// ...
}

我记得它来自一个我现在找不到的类似问题/答案。

关于WebRTC 无法解码从 Datachannel 发送的文本消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19644012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com