我尝试将 socket.io 与 EC2 和 laravel 一起使用。
这是我在服务器端的代码 - server.js
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
var redis = require('redis');
console.log("hello");
server.listen(8890, function(){
console.log("8890");
});
io.sockets.on('connection', function (socket) {
console.log("connected");
});
当我在 localhost 中测试时,一切都很好。我可以连接和发射。
当我node server.js
在 localhost 时,结果将是这样的。
hello
8890
connected
但是当我node server.js
在 EC2 实例中时,结果会是这样的。似乎它无法连接socket.io。
hello
8890
我已经在 EC2 实例中安装了 redis、node、npm 和 express,并测试了它们正在运行。
我还像这样为端口 8890 设置了我的实例的安全组。
Type Protocol Port Range Source
HTTP TCP 80 0.0.0.0/0
Custom TCP Rule TCP 8890 0.0.0.0/0
SSH TCP 22 0.0.0.0/0
我错过了任何步骤吗?请帮忙。非常感谢。