首页 > 解决方案 > SocketIO 在 Ubuntu 服务器上不工作(不再)

问题描述

几天来,我的 socketio 客户端无法再连接到我的节点/快速应用程序(在 Digital Ocean 上)。它在我的本地机器上运行并通过 localhost 连接(使用 react-native 应用程序)时确实有效。我还实现了 REST / HTTP 功能,在“生产”服务器上运行时也可以使用。一切都像 Digital Ocean 教程中一样设置:https ://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16 -04

服务器代码:

const app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);

var users = [];

app.set('io', io);
app.set('users', users);

server.listen(3002, () => {console.log('listening on 3002')});


io.on('connection', async (socket) => {
    console.log('User connected');
    ...
    ...
    ...
}
const testRoute = require('./routes/test');
app.use('/test', testRoute);

因为 HTTP 部分有效,所以我假设任何阻塞的端口都不是问题,但我找不到任何解决这个问题的方法。此外,这个问题发生在几天前,一切都按预期工作了。7

编辑1:发现问题是nginx。还不知道到底是什么,但是在没有 nginx 的情况下连接套接字 io 时,一切都按预期工作。

标签: node.jsexpressubuntusocket.io

解决方案


推荐阅读