无法使用Expo中运行的React App远程连接到WebSocket服务器

时间:2019-04-21 12:11:34

标签: react-native websocket server expo ws

我尝试使用两侧的“ 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);
        });

2 个答案:

答案 0 :(得分:0)

尝试使用https://ngrok.com将localhost服务器公开。然后使用此工具为您提供的应用内部公开网址。

答案 1 :(得分:0)

感谢您的答复,原来我使用的是错误适配器提供的ipv4地址!