我有一个问题与socket.io。当我在我的计算机(本地)上运行代码时,我可以使用http://IP:120/socket.io/socket.io.js。然而,在我的服务器上(数字海洋服务器ubuntu 16.04),我没有在这个url上看到任何东西。我的错误在哪里?有人能帮我吗?我使用了createServer和Server函数,但它们都不起作用。
var app = require('express')();
//var http=require('http').Server(app);
var http=require('http').createServer(app);
var io=require('socket.io')(http);
app.get("/",function(req,res){
res.sendfile(__dirname+"/asd.html");
});
io.on('connection',function(socket) {
console.log("A User Connected");
});
var port=120;
http.listen(port,'ServerIP');
解决方案与设置通信所需的端口有关。
默认情况下,Digital Ocean
:80
外的所有端口都被阻塞。你需要先打开你的120端口:
iptables -I INPUT 1 -i eth0 -p tcp --dport 120 -j ACCEPT