Я создаю приложение чата на нерожденном, ноджис-сервере на сервере. Это приложение отлично работает на локальном компьютере, но не работает после производства (удаленный сервер-linux). Я использую общий сервер для размещения своего веб-сайта. используйте сервер nodejs и пакет npm 'навсегда' только для непрерывной работы сервера nodejs.
Я попытался изменить версию реакции-native на более низкие версии, версию socket.io-client с 2.1.1 на 2.0.4, и я попытался поместить экземпляр socke.io в componentDidMount и много других из Интернета, но не повезло,
// Вот как я сделал в реагировать родной, и он хорошо работает локально
const url='https://www.mywebsite.com'
window.navigator.userAgent='react-native';
import io from 'socket.io-client';
export default class Chat extends Component {
constructor(props){
super(props);
this.state={
messages:[]
}
}
render(){
return(
<View>
{this.state.messages.map((message)=>
<Text>{message.message}</Text>
)}
</View>
)
}
}
//here is my code at nodejs server
var express = require('express');
var app = express();
var jwt=require('jsonwebtoken');
var fs = require('fs');
var path=require('path');
var router=require('./router/main');
var bodyParser = require('body-parser');
var http = require('http').Server(app);
var io = require("socket.io")(http)
var socket=require('./socket/socket.js')(io);
http.listen(port, function(){
console.log('The server yourhelplab.com is running...');
});
//socket.js file at nodejs server
module.exports = function(io) {
io.on('connection', function (socket) {
socket.on('Echat', function (data) {
io.sockets.in(data.roomId).emit('Echat',dataInfo);
})
})
}
После загрузки моих локальных файлов на удаленный сервер linux с помощью nodejs ошибки не появилось, но сообщение не вернулось и на мой мобильный телефон.
Все хорошо работает на локальном компьютере, но не на рабочем сервере, я не знаю почему.
Пожалуйста, любой может помочь мне. Я ценю вашу помощь.