Tag: socket.io

套接字IO房间:获取特定房间中的客户列表

我试图在特定的房间里显示一个客户列表。 我只想显示他们的用户名,而不是他们的套接字ID。 我在哪里: socket.set('nickname', "Earl"); socket.join('chatroom1'); console.log('User joined chat room 1); var roster = io.sockets.clients('chatroom1'); for ( i in roster ) { console.log('Username: ' + roster[i]); } 没有任何运气让它列出套接字ID或任何东西。 希望它能返回昵称。

Socket.IO 1.0.x:通过id获取套接字

在0.9.x版本中,我们可以通过这样的ID获取套接字: io.sockets.socket(socketId) 但在1.0.x中,我们不能。 如何在1.0.x中通过idfind套接字?

Node.js:从jpeg图像到video文件的实时转换

我使用node.js和通过socket.io库我收到实际上是jpeg图像的数据块。 这些图像是从远程摄像头捕获的实时video帧。 我不得不以jpeg帧stream式传输video。 我正在寻找一种方法来在video文件(mpeg 4或mjpeg文件)中即时转换这些jpeg图像。 节点有一个库可以做到这一点? 我已经看了一下Node-fluent-FFMPEG库,但是唯一给出的例子是将jpeg文件转换为video,而不是从jpeg图像stream中进行转换。 或者,ffmpeg for windows支持jpeg图像stream作为input吗?

使用与websocket(或socket.io)ngrok

有没有简单的示例代码显示ngrok转发socket.io/websocket(在本地主机上的nodejs下运行)? 换句话说呢 ngrok http 3000 使用在端口3000上运行的nodejs服务器和socket.io? 或者类似的东西 ngrok http+tcp 3000 (just wild guessing) 编辑: 在ngrok.com的帮助下回答我自己的问题 简单地使用 ngrok http 3000 您将看到localhost绑定的urlstring。 所以在客户端JavaScript代码中,改变 var socket = io.connect('http://localhost:3000'); 至 var socket = io.connect('http://94349fe6.ngrok.io'); 注意: http://94349fe6.ngrok.io就是这个urlstring。 你的将不同于这个。 再次编辑: 实际上,如果只是简单地做: var socket = io(); “它默认尝试连接到服务页面的主机” 所以它也可以工作。

socket.ioparsing连接(> = 2.4.1)签名的会话cookie

使用最新版本的连接(截至2012年7月26日),我发现以下方法从socket.io获得会话ID,这将与connect-redis存储一起使用。 var express = require('express') , routes = require('./routes') , fs = require('fs') , http = require('http') , io = require('socket.io') , redis = require('connect-redis') , connect = require('express/node_modules/connect') , parseSignedCookie = connect.utils.parseSignedCookie , cookie = require('express/node_modules/cookie'); var secret = '…'; var rStore = new(require('connect-redis')(express)); //… var server = http.createServer(app); var sio = io.listen(server); sio.set('authorization', […]

socket.io只广播给在A和B房间的用户

是否有可能将socket.io广播给位于A房间和B房间的命名空间的所有用户,而不是刚好在A房间或B房间的那些用户。 如果没有,我将如何去实施这个自己? 有没有办法检索名字空间中的所有用户在一个给定的房间? 我正在与节点中的socket.io 1.0 编辑:如果没有本地方法,我将如何创build我自己的语法,如: socket.broadcast.in('room1').in('room2').emit(…) ?

NodeJS与PHP应用程序和用户会话

我有一个PHP应用程序(Symfony2),我需要让我的用户实时(使用socket.IO)和其他用户交谈。 让我们把重点放在聊天机制上:一个login的用户可以和另一个login的用户交谈(用Symfony中的FOSUserBundlelogin)。 当用户发送消息时,必须将其保存在MySQL中并实时发送给其他用户。 所以这个消息被链接到我的MySQL数据库中的两个用户(一个发送者和一个接收者)。 所以我有两种可能性: 我使用PHP来存储消息: 我有一个事件点击“提交”,并与AJAX调用PHPurl 如果我的PHP返回“确定”(所以他正确地在数据库中添加消息),我发出一个Socket.IO事件 – >让教条与我的用户处理数据和symfony 在NodeJS方面,我有一个监听这个事件,我通过Socket.IO发送消息与其他事件 我只使用NodeJS: 我怎样才能在PHP和NodeJS方面login我的用户? 我需要实时使用不同的数据库数据库? 如何在NodeJS和PHP之间共享我的用户? 我不知道什么是最干净的解决scheme,如果有人能帮助我。 谢谢 !

Socket.io:如何使用Socket.io-redis适配器统计一个房间中的客户端

我开始使用带有多个节点的Socket.io构build聊天服务器。 它使用Socket.io-redis将所有服务器连接在一起,并使用空间进行消息传递。 当客户端连接到服务器时,我将客户端连接到某个房间。 io.on('connection', function(socket){ socket.join("CLIENT_1"); }); 所以我想获得连接到房间"CLIENT_1"的客户端数量, io.sockets.adapter.rooms["CLIENT_1"]; 但是我只能从当前进程获得连接。 如何从通过redis适配器连接的所有服务器进程获得连接? 我经历了这个问题: 如何检查套接字是否存活(连接)在带有多个节点和socket.io-redis的socket.io中 但它并没有帮助我。 感谢提前。

什么是Node.js的socket.io的Ruby等价物?

如果我想将使用socket.io的节点应用程序转换成Ruby on Rails应用程序,那么replacesocket.io的选项是什么? (本质上是寻找一个Ruby的套接字服务器) http://socket.io/ 计划翻译下面的应用程序: http : //www.tokbox.com/blog/creating-chat-roulette-with-node-js-socket-io-and-opentok/

如何将socket.io部署到Google App Engine?

我使用socket.io创build了我的第一个node.js应用程序。 具体来说,我实现了由socket.io发布的聊天示例 。 它在当地是完美的。 然后我尝试将其部署到Google App Engine(使一些代码调整为节点工作)。 一切都显示出来,表明节点部分工作正常。 然而,聊天不起作用,表明socket.io部分不起作用。 您可以在这里看到已部署的应用程序(和页面源代码)。 我需要额外做些什么吗? 在YAML或JSON文件中的东西? yaml含量: runtime: nodejs vm: true skip_files: – ^(.*/)?.*/node_modules/.*$ json内容: { "name": "Chaty", "description": "chatrooms app", "version": "0.0.1", "private": true, "license": "Apache Version 2.0", "author": "McChatface", "engines": { "node": "~4.2" }, "scripts": { "start": "node app.js", "monitor": "nodemon app.js", "deploy": "gcloud preview app deploy" […]