我尝试使用两侧的“ ws” Websocket库尝试在React Native应用程序客户端(在Expo中运行)和NodeJs服务器之间建立WebSocket连接,但未成功。
我已经设置了WebSocket服务器,在输入ip地址和端口后,可以使用chrome扩展程序websocket客户端成功连接到该服务器。 'ws://192.168.208.1:8080'。
我已经在应用程序中设置了客户端代码,但是它无法连接到服务器!但是我可以毫无问题地连接到Websocket回显URL'wss://echo.websocket.org/'并将消息发送到它!
因此,在测试用例中,代码在两侧均能正常工作,建立远程连接似乎存在问题。
健全性检查 1.两个设备都在同一个Wi-Fi网络上 2.我在禁用防火墙后尝试连接
客户代码:
// THIS DOESN'T WORK!
// this.ws = new WebSocket('ws://192.168.208.1:8080/');
// THIS DOES WORK!
// this.ws = new WebSocket('wss://echo.websocket.org/');
this.ws.onopen = (evt) => console.log('connected');
this.ws.addEventListener('open', () => {
this.ws.send(JSON.stringify('Hello!'));
});
this.ws.addEventListener('message', event => {
console.log('Received:', event.data);
});
答案 0 :(得分:0)
尝试使用https://ngrok.com将localhost服务器公开。然后使用此工具为您提供的应用内部公开网址。
答案 1 :(得分:0)
感谢您的答复,原来我使用的是错误适配器提供的ipv4地址!