WebSocket 反应本机

WebSocket React Native

我是从 ReactJS 迁移到 react native 的新手 我以为我可以使用与我以前的纯 Reactjs 应用程序相同的软件包,但我错了。

我想做的是建立 websocket 连接。

我最近在我的 ReactJS 应用程序中使用了 autobahnJSWAMP2,但是当我转而使用 React Native 时,它​​似乎 autobahnJS 不支持 react-native

connectToSocketFunction = () =>{ // autobahn code
        let connection = new autobahn.Connection({ url: 'wss://api.example.com/websocket/', realm: 'Realm1', authmethods: ['jwt'] });
        connection.onopen = (session, detalis) => {

            session.subscribe('ChannelName', (data)=>console.log(data));
        };

谁知道react native是如何根据我的代码建立socket连接的?

我试过了react-native-autobahnjs不行

React Native 文档提到了对 WebSocket 连接的支持:

var ws = new WebSocket('ws://host.com/path');

ws.onopen = () => {
  // connection opened
  ws.send('something'); // send a message
};

ws.onmessage = (e) => {
  // a message was received
  console.log(e.data);
};

ws.onerror = (e) => {
  // an error occurred
  console.log(e.message);
};

ws.onclose = (e) => {
  // connection closed
  console.log(e.code, e.reason);
};

https://facebook.github.io/react-native/docs/network.html#websocket-support

您很可能需要使用其他基于 React Native 的框架来填补 Autobahn 提供的空白,例如会话支持和 JWT 身份验证。