Я создаю простой сервер socket.io и реагирую на собственный проект и тестирую, но socket.io на React Native не работает вообще. Я печатал «socket.io-client» на консоли, и он хорошо загружен, и я сделал простой HTML-файл с использованием socket.io, он работает, но только React Native не работает. Я использую React native 0.26.2 и socket.io 1.4.6.React Native с socket.io не работает
это мой код сервера:
"strict mode";
const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
io.on('connection', (socket) => {
console.log('user connected');
});
http.listen(3000,() => {
console.log('server started on 3000');
});
// web testing
app.get('/', (req, res, next) => {
res.sendFile(__dirname + '/index.html');
});
и это р-н Код:
import React, { Component } from 'react';
import { AppRegistry, StyleSheet, Text, TextInput, TouchableHighlight, View } from 'react-native';
import "./userAgent"; //window.navigator.userAgent = "react-native";
const io = require('socket.io-client/socket.io');
class SocketChat extends Component {
constructor(props) {
super(props);
this.socket = io('localhost:3000', { jsonp: false });
this.state = {
text: null
};
}
...
}
, как я слышал, используя Реагировать родной с socket.io вызывает Аякса длинный опрос вместо WebSocket, так Я добавил трюк «пользовательский агент». независимо от того, работает он или нет, даже соединение не установлено, но если я пытаюсь использовать браузер, он работает хорошо. мне будет очень признательно, что скажите мне, что мне делать.
также я создал сервер websocket с модулем «ws» и сменил код на использование websocket напрямую (официально поддерживаемый response-native), либо не работает. – modernator
Я только что проверил iOS, и это сработало. поэтому я тестировал на своем устройстве Android (не виртуальное устройство), это не сработало. Я думаю, что есть что-то. любой совет будет оценен. – modernator