首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >io.on('connection',...)vs io.sockets.on('connection',...)

io.on('connection',...)vs io.sockets.on('connection',...)
EN

Stack Overflow用户
提问于 2014-06-17 22:50:23
回答 1查看 22.8K关注 0票数 37

我正在为一个web应用程序使用socket.ioMean堆栈。我在3006端口上启动了socket的服务器。

代码语言:javascript
复制
var http = require('http').createServer(app);
http.listen(3006);
var io = require('socket.io').listen(http);

这两种方法似乎都能在连接上起作用。

代码语言:javascript
复制
io.on('connection', function (socket) {
    console.log('Socket succesfully connected with id: '+socket.id);
});

还有..。

代码语言:javascript
复制
io.sockets.on('connection', function (socket) {
   console.log('Socket succesfully connected with id: '+socket.id);
});

io.onio.sockets.on有什么不同?在第一次连接时我应该使用哪一个?

虽然socket.on npm page使用io.on,但它为什么要在io.sockets.on上工作

EN

回答 1

Stack Overflow用户

发布于 2014-06-17 23:14:43

默认情况下,Socket.IO客户端连接到的默认命名空间是:/。它由io.sockets或简单的io (docs)标识。

此示例从文档中复制:

代码语言:javascript
复制
// the following two will emit to all the sockets connected to `/`

io.sockets.emit('hi', 'everyone');

io.emit('hi', 'everyone');           // short form

我假设'on‘和’emit‘是一样的:使用'io.sockets’等同于只使用'io‘,它只是一种较短的形式。

“命名空间”您的套接字,意味着分配不同的端点或路径(这可能是有用的)。

根据对这个问题的回答,所以question

"Socket.io为您完成了所有工作,就像它是两个独立的实例一样,但仍然将信息限制在一个连接中,这是非常聪明的。“

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24266910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档