Мне не удалось установить соединение WebSocket между клиентом приложения React Native (запущенным в Expo) и сервером NodeJs, используя библиотеку веб-сокетов 'ws' с обеих сторон.
Я настроил сервер WebSocket, к которому я могу успешно подключиться с помощью клиента веб-сокета с расширением Chrome, после ввода IP-адреса и порта, например, 'ws: //192.168.208.1: 8080'.
Я установил клиентский код в приложении, но он не может подключиться к серверу!Однако я могу без проблем подключаться и отправлять сообщения на эхо-URL Websocket '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);
});