React Native 应用程序中的套接字集成以显示实时股票价格

问题描述 投票:0回答:1

我正在开发React Native应用程序,它需要不断更新股票价格。

因此,我正在尝试找到可以帮助我设置套接字连接的稳定 NPM 包。

我需要发送这种数据以进行连接: 演示订阅活动...

{
    "event": "subscribe",
    "data": [
        8967426,
        8967938, //Instrument Tokens
    ]
}

这将订阅它并且观察者开始使用 Socket 获取数据。数据中添加的数字是工具令牌。

我尝试检查几个 Socket NPM 包,但没有收到任何适合具有此类请求的 React Native 移动应用程序的选项。

任何人都可以建议集成这个的最佳选择吗?

我已经审查了几个 NPM 包: https://socket.io/how-to/use-with-react-native https://www.npmjs.com/package/react-native-socketio https://www.npmjs.com/package/react-native-tcp-socket https://www.npmjs.com/package/react-native-use-websocket

但是我没有找到任何合适的选项,需要使用 JWT 令牌传递 URL 并传递库存商品的工具 ID,以便在响应观察者中获取价格。

这是所需的过程:

  1. 使用 JWT 令牌传递 URL
  2. 发送包含我们需要观察的库存商品的仪器 ID 的数据
  3. 根据响应中的 ID 接收实时数据
react-native sockets websocket socket.io
1个回答
0
投票

这就是我的实现方式:

第 1 步:声明套接字

var bSocket;

第 2 步:初始化并连接套接字

  const tokenValue = await AsyncStorage.getItem('userToken');
            let finalRUL = encodeURI('wss://YOUR_URL/?token=' + tokenValue);
            bSocket = new WebSocket(finalRUL);
    
            bSocket.onopen = (arg) => {
                setTimeout(() => {
                    if (bSocket.readyState == WebSocket.OPEN) {
                        bSocket.send(scData);
                    }
                }, 250);
            };
            bSocket.onmessage = (event) => {
                const rData  = JSON.parse(event.data);
            };
            bSocket.onerror = (error) => {
                console.error('WebSocket error ::::>>>> ', error);
            };
            bSocket.onclose = (event) => {
                console.log('+++++++++++++++++++++++++++++');
                console.log(event);
                console.log('+++++++++++++++++++++++++++++');
            };

希望这对大家有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.