Uczę się ostatnio React Native i mam problemy z korzystaniem z Socket.IO. Używam najnowszy React rodzimych i CLI (tylko aktualizacja), a to jest mój kod:Socket.io nie działa z React Native na Androida
import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
window.navigator.userAgent = 'react-native';
const io = require('socket.io-client/socket.io');
const socket = io('localhost:3000', { jsonp: false });
socket.connect();
class wschat extends Component { ... }
Można zobaczyć, kod jest dość prosty, a nie błąd. To jest mój kod serwera:
"use strict";
const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
http.listen(3000,() => {
console.log('WSChat Server for React-Native listening on port 3000');
});
io.on('connection', (socket) => {
console.log('connected: ' + socket.id);
});
Wydaje się być w porządku, i faktycznie działa z ios, ale nie działał na Androidzie. Zostałem włączony zdalny debugger i sprawdziłem właściwości, a Socket.IO samo się ładowało, ale nie ustanowiono żadnego połączenia. Możesz zobaczyć kod serwera, kiedy wystąpiło zdarzenie "połączenie", zalogowana konsola.
Użyłem AVD (nexus5) i mojego urządzenia (LG G4 optimus), ale oba nie będą działać. czego mi brakuje? Każda rada będzie bardzo wdzięczna!