Javascript 接收二进制数据时,React Native websocket event.data为空数组

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(

我试图在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();
        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';
希望这能帮助其他人以后解决同样的问题