#node.js #react-native #websocket #socket.io #4g
Вопрос:
Я создаю собственное приложение React, которое требует постоянного подключения между клиентами и сервером. Приложение работает только при использовании Wi-Fi. Кому-нибудь удавалось заставить такие вещи работать с сокетом?IO? Или какие-либо другие альтернативы, такие как работа с данными сотовой связи? Почему именно это работает с Wi-Fi, но не с данными сотовой связи?
Вот мой код для подключения к серверу, работающему на моем компьютере на порту 3000:
const io = require('socket.io-client');
const socket = io('...'); // http://ip:3000
export default socket;
Я был бы очень признателен, если бы кто-нибудь мог мне в этом помочь.
Комментарии:
1. Сотовая связь — это подключение вас к Интернету с использованием любой технологии мобильного доступа 3G/4G/5G. Как только у вас появится 3G или 4G-вход на экране вашего устройства, мобильная сеть уже назначила вам один IP-адрес среди одной из доступных внутренних подсетей, и вы готовы к работе. Ваш Wifi-модем одновременно является маршрутизатором, и это позволяет вам подключиться к другому IP-адресу из той же подсети. Используя мобильные данные, вы не можете этого сделать, потому что теперь вы являетесь частью другой большой локальной сети, которая не может получить доступ к частному IP-адресу, назначенному вам WI-FI маршрутизатором.
Ответ №1:
Мне удалось заставить это работать, разместив мой сервер и базу данных Postgres с помощью Heroku, а затем подключившись к ней. Не работал, потому что я пытался подключиться к частному IP-адресу (192.168.1.254), который работает только при подключении к тому же Wi-Fi.