我正在后端的react-native,nodejs服务器上构建一个聊天应用程序。该应用程序在本地计算机上运行良好,但在生产后无法运行(远程服务器Linux)。我使用共享服务器托管我的网站。使用nodejs服务器和never软件包“永久”只是为了连续运行nodejs服务器。
我尝试将react-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);
})
})
}
使用nodejs将本地文件上传到远程服务器linux服务器后,没有出现错误,但也没有消息返回到我的手机。 一切都可以在本地计算机上正常运行,但不能在生产服务器上运行,我不知道为什么。 请任何人帮我。谢谢您的帮助。