react-native WebSocket & nodejs WebSocket



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工作正常,但反应本机返回"无法解析主机"。Android Stuio Emulator,从npm run android开始。

你知道为什么会发生这种事吗?

UPD:

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

您可以使用socket.io-client

socket.io-client文档

  • 示例
// 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);
});

最新更新