为什么socket.io需要一个新的监听器

时间:2014-06-29 12:38:25

标签: node.js sockets express

我知道这可能是一个愚蠢的问题,但我确定希望我得到noob pass但我正在使用带有节点js和mongo db的express框架。为什么总是需要创建一个新服务器才能从客户端连接它。

1. server side:

var app = express();

var server = http.createServer(app);

var io = require('socket.io').listen(server);

server.listen(8000);



2. Client side:

    var socket = io.connect('`http://localhost:8000`');
    socket.on('connect', function () {
      socket.emit('set nickname', confirm('Connected'));
    });

通常我会使用localhost:/ 3000现在为了让我连接到服务器我必须使用localhost:/ 8000没有办法使用默认的3000但是这总是抛出一个错误:

events.js:72
        throw er;

此致

p.s我对此非常新,我也在阅读教程,但我似乎无法理解为什么这是请有人解释!

1 个答案:

答案 0 :(得分:0)

你需要代码中的某个地方http,表达吗? 也许正在运行的另一个应用程序:8000?

另外,也许会遗漏一些听众:

io.on('connection', function (socket) {
    console.log('a user connected');
    socket.emit('connect');
});