Javascript 接收二进制数据时,React Native websocket event.data为空数组
我试图在React本机应用程序中使用websocket连接来接收二进制数据,我的websocket代码如下所示:Javascript 接收二进制数据时,React Native websocket event.data为空数组,javascript,react-native,websocket,Javascript,React Native,Websocket,我试图在React本机应用程序中使用websocket连接来接收二进制数据,我的websocket代码如下所示: var websocket = new WebSocket("ws://10.10.10.1/stream") websocket.onmessage = (event) => { console.log(event); console.log(event.data); var reader = new FileReader(
var websocket = new WebSocket("ws://10.10.10.1/stream")
websocket.onmessage = (event) => {
console.log(event);
console.log(event.data);
var reader = new FileReader();
reader.readAsText(event.data, "UTF-8");
reader.onload = function() {
...
}
};
记录的事件对象如下所示:
{data: [], istrusted: false}
事件。数据日志未定义
我能够正常连接和发送消息,但无法接收消息。
我在web应用程序中使用相同的websocket连接,因此我知道websocket服务器正在发送正确的数据,但由于某些原因,在使用React Native时无法获取传入消息数据
React Native是如何处理这一问题的 在这里发帖是因为我找到了解决问题的方法 上面的代码在React或常规javascript网页中工作,但在React native中,我必须添加这一行以将binaryType指定为“blob”
var websocket = new WebSocket("ws://10.10.10.1/stream");
websocket.binaryType = 'blob';
希望这能帮助其他人解决同样的问题,因为我找到了解决问题的方法 上面的代码在React或常规javascript网页中工作,但在React native中,我必须添加这一行以将binaryType指定为“blob”
var websocket = new WebSocket("ws://10.10.10.1/stream");
websocket.binaryType = 'blob';
希望这能帮助其他人以后解决同样的问题