Socket.IO + Express3监听器无法正常工作

时间:2013-06-30 13:43:37

标签: node.js express socket.io

这是我app.js的片段:

var
express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),

server.listen(process.env.PORT || 80);

io.sockets.on('connection', function (socket) {
    console.log("socket connected");
    socket.emit('connection', { hello: 'from domain' });
    socket.on('hello', function (data) {
        console.log(data);
    });
    socket.on('subscribe', function (data) {
        console.log('subscribe');
        sendemail.subscribe(socket, data);
    });
    socket.on('register', function (data) {
        console.log('register');
        sendemail.register(socket, data);
    });
});

我有2个听众,一个用于subscribe,另一个用于register

当我在浏览器中打开控制台日志时,我可以看到hello套接字发出,但是subscriberegister不起作用(所以基本上我的浏览器中的任何信息都是服务器不起作用,但从服务器到我的浏览器的任何工作正常。)

当我在端口80上运行套接字和服务器时,当我将套接字端口或两者都更改为81时,一切都正常。

我访问了http://websocketstest.com/并且我没有看到任何问题,所以我猜测它不会在我的结尾,但可能在我的主机端(主机在linode.com上)。

我已与他们联系,他们说他们不会阻止任何形式的流量,他们的服务器在他们面前没有防火墙或类似的东西。

我在服务器上禁用了iptables,SELinux也被禁用了,所以我不确定发生了什么(正如我所说,如果我只是将端口更改为81,一切正常)。

0 个答案:

没有答案