Articles of websocket

Socket.io会话没有express.js?

我想通过node.js和socket.io来处理websocket的会话,而不必使用cookie并避免express.js,因为还应该有客户端不在浏览器环境中运行。 有人已经这样做了,或者有了一些概念validation的经验?

Google Compute Engine(GCE)允许使用WebSockets

我正在使用计算引擎(GCE)来运行与Socket.IO(Node.js)我的套接字服务器 这只是与投票。 当我尝试使用Web客户端时收到此错误代码: WebSocket connection to 'ws://myapp-socket.appspot.com/socket.io/?EIO=3&transport=websocket&sid=Tt4uNFR2fU82zsCIAADo' failed: Unexpected response code: 400 我究竟做错了什么? 是GCEconfiguration问题吗?

HTTP vs Websockets相对于开销

我正在build立一个文件同步程序(不像Dropbox)在两端使用node.js。 我需要有数以千计的客户端同时请求数据。 这是我目前的系统: 服务器通过websocket将通知推送给客户端(文件已更新) 客户端队列下载并在空闲时发出HTTP请求 我将以每个50 MB的压缩块为单位提供数据,所以HTTP请求开销(标题)可以忽略不计。 如果我使用websockets进行请求和推送通知,是否会有: 显着的整体速度改善? (减less延迟,authentication等) 服务器上的额外开销,以保持连接打开? 推送二进制数据的问题? 我想我需要通过一个专门的websocket发送通知,因为我不希望它们在服务器上排队,而下载正在发生(大量的开销)。 注意: 只要客户端系统处于打开状态,这些websocket就会长期打开。 编辑:我将使用不同的端口上的不同的HTTP服务器上的WebSockets,以便将它们移动到不同的CPU核心。 我可能有成千上万(如果不是几十万)的并发websocket打开…

在初始连接的授权标头中将JWT传递给Node.js WebSocket

我正在build立一个Node.js服务器来与我的Web应用程序的WebSockets进行通信。 我打算使用JSON Web令牌来限制只有已经通过webappauthentication的用户才能访问。 在研究的过程中,我无法findNode.js的WebSocket包,它支持客户端设置Authorization头并在初始连接调用中使用它。 我经常看到build议通过查询parameter passing令牌,这可能不如通过Authorization标头传递令牌安全。 我错过了什么吗? 是否有良好的,维护良好的WebSocket库允许设置Authorization头客户端,以便我可以防止不必要的连接到服务器?

将websocket与标准的http.Server整合在一起

我有一个简单的networking服务器 var http = require('http'), url = require('url'); var server = http.createServer(function (req, res) { var uri = url.parse(req.url).pathname; if (uri == '/') { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); return; } res.writeHead(404, {'Content-Type': 'text/plain'}); res.end('File not found'); }); server.listen(0, '127.0.0.1'); 我现在想连接一个单一的path(比如说/ws )到一个websocket,但是保持服务器的其余部分不被修改。 但是, ws似乎要求我build立一个专用的服务器(包括SSL终止,安全configuration和端口分配)。 我怎样才能终止一个websocket实现的path/ws ?

nodejs + WebSockets – 拒绝与消息的连接

我想为客户提供一个有意义的错误,当太多的用户连接或当他们从一个不受支持的域连接,所以… 我写了一些WebSocket服务器代码: var http = require('http'); var httpServer = http.createServer(function (request, response) { // i see this if i hit http://localhost:8001/ response.end('go away'); }); httpServer.listen(8001); // https://github.com/Worlize/WebSocket-Node/wiki/Documentation var webSocket = require('websocket'); var webSocketServer = new webSocket.server({ 'httpServer': httpServer }); webSocketServer.on('request', function (request) { var connection = request.reject(102, 'gtfo'); }); 还有一些WebSocket客户端代码: var connection = new WebSocket('ws://127.0.0.1:8001'); […]

如何在node.js和socket.io应用程序中组织套接字处理

对于我的REST API,我已经为每个路线创build了一个文件。 app.get('/api/user', routes.user.index); app.get('/api/user/login', routes.user.login); 等等 现在我将socket.io引入到后端,看来我只能为所有套接字事件调用一个函数。 var socket = require('./socket/stuff.js'); io.sockets.on('connection', function(sock){ socket.stuff(sock, io); }); 我应该如何分解./socket/stuff.js文件(输出的stuff )。 进入单独的文件。 我想最终用套接字取代我的REST API,但是我不想把所有的东西放在一个文件中。 我想我会有: ./socket/chat.js ./socket/user.js 等等

是否有可能发送消息到所有活动的WebSocket连接? 使用node.js或python龙卷风websockets

我正在尝试构build一个基于websocket的应用程序。 我想知道是否有可能发送消息到所有活动的连接,因为他们是持久的。 说我正在运行一个现场拍卖网站,我有多个用户在观看拍卖页面,每个用户都通过套接字连接到我的服务器。 现在让我们说一个用户提高出价。 我想发送消息给所有连接的客户端。 最简单的方法是让客户端每秒钟通过套接字轮询服务器,但是我认为websockets的思想是要有真正的双向通信。 如何才能做到这一点? 提前致谢, ROTEM

node.js / socket.io有最大的消息/事件大小

titel说这一切 – 有一个事件(或消息),我想从服务器发送到客户端的最大尺寸? 我想发送一个JSONstring到客户端,它看起来像这样: [{"id":"4e25434f0f110ec101000005","media":"4fb135d508e972664c5adf3.jpg"}, {"id":"4e2545f30f110ec101000021","media":"d09b745414e251695aa33e04.jpg"}, {"id":"4e2554ce7bcfb24702000012","media":"076eea872411e433b9.png"}, {"id":"4e255bc4f34a41cb02000010","media":"c2af3db4707db3ece.png"}] 如果该数组将包含例如200个项目,这会崩溃?

如何使用SocketRocket与socket.io?

新的iOS websocket库SocketRocket看起来非常棒,聊天示例项目真的很好。 示例聊天服务器是用Python编写的,其中我什么也不知道。 我对node.js上的socket.io略微熟悉,并且更喜欢尝试使用javascript。 我试着将SocketRocket TestChat模拟器应用程序连接到node.js(6.10)socket.io(0.8.7),但连接被拒绝。 (另外,我也不是节点专家,所以这可能是一个愚蠢的问题)。 在最近对SO 问题的回答中 ,mikelikespie对op说:“我build议更新你的堆栈以​​使用我们刚发布的iOS WebSocket库。” 那究竟是什么意思? 获取SocketRocket库与节点socket.io服务器交谈的必要条件是什么? 任何示例代码或build议非常感谢。