【问题标题】:react-native WebSocket & nodejs WebSocketreact-native WebSocket & nodejs WebSocket
【发布时间】:2021-09-08 06:54:24
【问题描述】:

NodeJS:

const WebSocket = require('ws');
const ws = new WebSocket('wss://siteurl');

ws.on('open', function open() {
    ws.send('');
});

ws.on('message', function incoming(message) {
    console.log(message);
});

反应原生

let connection = new WebSocket('wss://siteurl');

connection.onopen = () => {
            connection.send('');
        };

connection.onmessage = ((event) => {
            console.log(event);
        });

connection.onerror = (event) => {
            console.log(event);
        }

NodeJS 工作正常,但 react-native 返回“无法解析主机”。 Android Stuio 模拟器,以npm run android 开头。

任何想法为什么会发生?

更新:

const socket = new WebSocket('wss://siteurl');
        
        socket.onopen = () => {
            console.log('Socket connected!');
            socket.send('');
        }

        socket.onmessage = (message) => {
            console.log(`Message:\n`, message.data);
        }
    ```
Browser works fine too

【问题讨论】:

    标签: node.js react-native websocket


    【解决方案1】:

    你可以使用socket.io-client

    socket.io-client Document

    • 示例
    // ES6 import or TypeScript
    import { io } from "socket.io-client";
    // CommonJS
    const io = require("socket.io-client");
    
    // the following forms are similar
    const socket = io("https://server-domain.com");
    const socket = io("wss://server-domain.com");
    const socket = io("server-domain.com"); // only in the browser when the page is served over https
    
    socket.on('message', (event) => {
            console.log(event);
    });
    

    【讨论】:

    • @DaadyDeer 如果我的回答有用,请点击它左侧的点赞按钮 (▲)。如果它回答了您的问题,请单击复选标记 (✓) 接受它。这样其他人就知道你已经(充分地)得到了帮助。另请参阅当有人回答我的问题时我该怎么办?
    • 如果服务器不使用socket.io,是否可以连接?它仍然不适用于[Error: xhr poll error]
    • @DaadyDeer node.js服务器也要统一到socket.io上。
    猜你喜欢
    • 1970-01-01
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    相关资源
    最近更新 更多