Questions tagged «socket.io»

Socket.IO旨在使每个浏览器和移动设备中的实时应用成为可能,从而模糊了不同传输机制之间的差异。它支持多种传输,例如WebSockets,Flash套接字,长轮询等,在传输失败时会自动回退。

7
socket.io和websockets之间的区别
node.js中的socket.io和websockets有什么区别? 它们都是服务器推送技术吗?我唯一感到的是 socket.io允许我通过指定事件名称来发送/发送消息。 对于socket.io,来自服务器的消息将到达所有客户端,但对于websockets中的消息,我被迫保留所有连接的数组并循环遍历,以将消息发送给所有客户端。 另外,我想知道为什么Web检查器(例如Chrome / firebug / fiddler)无法从服务器捕获这些消息(来自socket.io/websocket)? 请澄清一下。

3
与Node.js一起使用哪个websocket库?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 3年前关闭。 当前,有大量用于node.js 的Websocket库,最受欢迎的似乎是: https://github.com/Worlize/WebSocket-Node https://github.com/einaros/ws https://github.com/LearnBoost/engine.io https://github.com/learnboost/socket.io https://github.com/sockjs 但是我找不到它们之间的任何可靠的具体比较……显然Socket.io很棒,但是已经过时并且构建失败。ws和websocket-node都声称它们是最快的。engine.io似乎是新的,但比轻巧的武器要重得多。 如果我们或某人可以汇总一个答案,作为使用哪个套接字库以及何时使用以及它们之间的比较的指南,那将是惊人的。

10
将响应发送给除发件人以外的所有客户端
要将内容发送给所有客户,请使用: io.sockets.emit('response', data); 要从客户那里接收,您可以使用: socket.on('cursor', function(data) { ... }); 如何将两者结合起来,以便在从客户端接收服务器上的消息时,将消息发送给除发送消息的用户之外的所有用户? socket.on('cursor', function(data) { io.sockets.emit('response', data); }); 我是否需要通过发送带有消息的客户端ID,然后在客户端进行检查来破解它,还是有一种更简单的方法?

3
好的初学者教程到socket.io?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我对Web开发领域非常陌生,并且加入了潮流,因为我发现HTML5的概念非常有趣。我对使用画布很有信心,现在想转到其中的websockets。当我们要使用Web套接字时,我已经了解到socket.io是迄今为止可以使用的框架。 任何有关完全虚拟的教程和示例所参考的指针将不胜感激!

12
使用socket.io和node.js将消息发送到特定客户端
我正在使用socket.io和node.js,直到现在看起来还不错,但我不知道如何从服务器向特定客户端发送消息,如下所示: client.send(message, receiverSessionId) 但是无论是.send()还是.broadcast()方法似乎都无法满足我的需求。 我发现可能的解决方案是,该.broadcast()方法将不发送消息的SessionId数组作为第二个参数,因此我可以将此时连接了所有SessionId的数组传递给服务器,除了那个我希望发送邮件,但是我觉得必须有一个更好的解决方案。 有任何想法吗?

5
socket.io房间或命名空间?
我正在研究nodejs / socket.io的实时聊天,并且需要一些有关实施会议室的建议。 使用名称空间或使用房间功能来完全隔离颤抖的对方,哪个更好? 房间和名称空间之间真正的技术区别是什么? 资源使用方面有区别吗?
163 node.js  socket.io 

9
使用SSL的node.js,socket.io
我正在尝试使用我的SSL证书运行socket.io,但是它将无法连接。 我基于聊天示例创建代码: var https = require('https'); var fs = require('fs'); /** * Bootstrap app. */ var sys = require('sys') require.paths.unshift(__dirname + '/../../lib/'); /** * Module dependencies. */ var express = require('express') , stylus = require('stylus') , nib = require('nib') , sio = require('socket.io'); /** * App. */ var privateKey = …

26
Socket.IO-如何获取已连接套接字/客户端的列表?
我正在尝试获取当前已连接的所有套接字/客户端的列表。 io.sockets 不幸的是,它不返回数组。 我知道我可以使用数组保留自己的列表,但是由于以下两个原因,这并不是最佳解决方案: 冗余。Socket.IO已保留此列表的副本。 Socket.IO提供了为客户端设置任意字段值的方法(即:),socket.set('nickname', 'superman')因此如果我要维护自己的列表,则需要跟上这些更改。 救命?
159 node.js  socket.io 

13
node.js TypeError:路径必须是绝对路径,或为res.sendFile指定根目录[无法解析JSON]
[添加]所以我的下一个问题是,当我尝试添加新的依赖项时(npm install --save socket.io)。JSON文件也有效。我收到此错误:无法解析json npm ERR! Unexpected string npm ERR! File: /Users/John/package.json npm ERR! Failed to parse package.json data. npm ERR! package.json must be actual JSON, not just JavaScript. npm ERR! npm ERR! This is not a bug in npm. npm ERR! Tell the package author to fix their package.json …

6
socket.emit()与socket.send()
两者之间有什么区别? 我注意到,如果在工作程序中从更改socket.emit为socket.send,则服务器无法接收到该消息,尽管我不明白为什么。 我还注意到,在我的程序中,如果我从更改socket.emit为socket.send,则服务器会收到一条消息,但似乎多次收到。当我console.log()用来查看服务器收到了什么时,它显示的内容与我使用时的有所不同socket.emit。 为什么会这样呢?您怎么知道何时使用socket.emit或socket.send?


13
在Socket.io中使用PHP
是否可以在客户端使用Sockets.io并与服务器上基于PHP的应用程序进行通信?PHP甚至支持这种“长寿命连接”代码编写方式吗? 我为socket.io找到的所有示例代码似乎都是针对服务器端的node.js,因此没有帮助。
128 php  socket.io 

7
Socket.IO身份验证
我试图在Node.js中使用Socket.IO,并试图允许服务器为每个Socket.IO客户端赋予一个身份。由于套接字代码不在http服务器代码的范围内,因此无法轻松访问已发送的请求信息,因此我假设在连接过程中需要将其发送出去。什么是最好的方法 1)将有关谁通过Socket.IO连接到服务器的信息 2)验证他们说的是谁(如果正在使事情变得更容易,我目前正在使用Express)

4
最大并发Socket.IO连接
之前(而不是最近)已经问过这个问题,并且没有明确的答案。 使用Socket.io,在需要添加另一台服务器之前,是否可以维护一个并发连接的最大数量? 有谁知道大规模使用websockets(尤其是socket.io)的活跃生产环境吗?我真的很想知道哪种设置最适合最大连接数? 因为Websocket是基于TCP构建的,所以我的理解是,除非端口在连接之间共享,否则您将受到64K端口限制的约束。但是我也看到了使用Gretty进行512K连接的报告。所以我不知道

4
socket.io服务器的Node.js客户端
我有一个socket.io服务器正在运行,并且有一个带有socket.io.js客户端的匹配网页。一切正常。 但是,我想知道是否有可能在另一台机器上运行一个单独的node.js应用程序,该应用程序充当客户端并连接到上述的socket.io服务器?
120 node.js  socket.io 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.