Tôi đang học React Native gần đây và gặp sự cố khi sử dụng Socket.IO. Tôi đang sử dụng React native và cli mới nhất (chỉ cần cập nhật), và đây là mã của tôi:Socket.io không hoạt động với React Native trên Android
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 { ... }
Bạn có thể thấy, mã này khá đơn giản và không có lỗi. Đây là mã máy chủ của tôi:
"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);
});
Có vẻ tốt, và nó thực sự hoạt động với iOS nhưng không hoạt động trên Android. Tôi đã được kích hoạt trình gỡ lỗi từ xa, và kiểm tra các thuộc tính, và Socket.IO nó tự nó đã được tải tốt, nhưng không có kết nối được thành lập. Bạn có thể thấy mã máy chủ, khi sự kiện 'kết nối' xảy ra, hãy đăng nhập vào bảng điều khiển.
Tôi đã sử dụng AVD (nexus5) và thiết bị của mình (LG G4 optimus), nhưng cả hai đều không hoạt động. Tôi đang thiếu gì? Lời khuyên nào sẽ rất cảm kích!