gpt4 book ai didi

node.js - 如何在服务器上运行 NodeJs SocketIO(Centos 7)

转载 作者:行者123 更新时间:2023-12-04 19:30:54 25 4
gpt4 key购买 nike

我使用 nodejs 套接字 io 创建应用程序。它在本地主机(端口:3000)上可以清楚地工作。但是当我将它部署到我的服务器时,我可以在 3000 端口上运行我的应用程序,但客户端抛出超时。我该如何解决?

var fs = require('fs');

var https = require('https');
var options = {
key: fs.readFileSync('ssl.my-key.key'),
cert: fs.readFileSync('ssl.my-cert.crt')
};
var server = https.createServer(options);
var io = require('socket.io').listen(server);
var port = 3000;

const database = require('./Database');

io.on('connection', (socket) => {

socket.on('message', async (msg) => {
// I do some action here.
});

socket.on('disconnect', (msg) => {
// some action in here too
});

});

server.listen(port, () => {
console.log('listening on *:' + port);
});

最佳答案

您的问题似乎与端口转发有关。
为了让您的服务器可以公开访问,它需要正确转发所有端口。本地和路由器上。

查看此链接以了解有关如何在 linux 上进行端口转发的更多信息:https://linuxacademy.com/guide/11630-internal-port-forwarding-on-linux-using-the-firewall/

这可以了解有关路由器端口转发的更多信息,但这实际上取决于您的路由器。

https://www.noip.com/support/knowledgebase/general-port-forwarding-guide/

但是,我不建议您在自己的机器上进行托管。我
建议你使用 Heroku,你可以加入他们的免费服务器,你不需要付费。

有关 heroku 和 NodeJS 的更多信息:https://linuxacademy.com/guide/11630-internal-port-forwarding-on-linux-using-the-firewall/

关于node.js - 如何在服务器上运行 NodeJs SocketIO(Centos 7),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60446844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com