react-native WebSocket & nodejs WebSocket
Posted
技术标签:
【中文标题】react-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
【问题讨论】:
【参考方案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上。以上是关于react-native WebSocket & nodejs WebSocket的主要内容,如果未能解决你的问题,请参考以下文章
react-native this.setState 导致代码停止运行
为啥 MongooseIM 会在 60 秒后关闭 websocket 连接?