Tag: socket.io

Node.js:TypeError:Object socket.io没有方法'listen'

我正在使用Express 3.0.6使用socket.io 0.9.13做一个小的Node应用程序。 我什至不能开始运行,因为它说socket.io没有方法listen() 。 这里是我的代码(编译后的coffeescript,所以有点难看): (function() { var app, express, io, port, usernames; express = require('express'); app = express(); io = require('socket.io'.listen(3000)); port = 3000; app.listen(port); console.log("Listening on port " + port); console.log('CNTRL-C to quit.'); app.engine('hamlc', require('haml-coffee'.__express)); app.get('/', function(request, response) { return response.render('index.hamlc'); }); usernames = {}; io.sockets.on('connection', function(socket) { socket.on('send-chat', function(msg) { return […]

Socket.IO服务器限制一个快速的客户端

我有一个使用socket.io的服务器,我需要一种方法来限制发送服务器数据的客户端太快。 服务器公开了一个TCP接口和一个socket.io接口 – 与TCP服务器(来自net模块)我可以使用socket.pause()和socket.resume() ,这有效地socket.resume()了客户端。 但是对于socket.io的socket类,没有pause()和resume()方法。 向客户反馈最简单的方法是什么,它是压倒了服务器,需要放慢速度? 我喜欢socket.pause()和socket.resume()因为它不需要客户端的任何额外的代码 – 备份TCP套接字,事情自然减慢。 任何等效的socket.io? 更新:我提供了一个API来与服务器交互(目前有一个运行在TCP上的python版本和一个使用socket.io的JavaScript版本)。 所以我不能真正控制客户端的function。 这就是为什么使用socket.pause()和socket.resume()如此之好 – 备份TCPstream会减慢python客户端的速度,无论它做什么。 我正在寻找一个JavaScript客户端的等价物。

socket.io客户端到客户端消息传递

我在使用socket.io的基本客户端(或真正的客户端 – >服务器 – >客户端)时遇到了麻烦。 下面是我现在的代码: io.sockets.on('connection', function (socket) { users.push(socket.sessionId); for(userID in users) { console.log(userID); io.sockets.socket(userID).emit('message', { msg: 'New User Connected succesfully' }); } socket.emit('message', { msg: 'Connected succesfully' }); socket.on('my other event', function (data) { console.log(data); }); }); 从我的理解,应该发送新的用户消息给每个连接的用户(单独,因为我想以后做实际的个人消息)。 相反,我最终只能得到“连接成功”的信息。 我没有从我的服务器或客户端得到任何错误或其他负面指标。 任何想法,为什么io.sockets.socket(userID).emit()不起作用或在其位置使用什么?

产卵child_processes的限制是什么?

我必须通过algorithm来进行计算,我build议每个打开的套接字使用一个subprocess,我要做的就是这样: var spawn = require('child_process').spawn; var child = spawn('node', ['algorithem.js']); 我知道如何发送参数到algorithm过程以及如何接收结果。 我所关心的是,我可以拥有多less个套接字(每个套接字都会产生一个进程)? 我怎样才能解决这个与我的云托pipe服务提供商? 以便我的应用程序获得自动缩放? 什么是推荐的节点js云托pipe提供商? 最后,这是使用subprocess的好方法吗?

socket.io客户端持久重试到不可访问的主机

我试图从我的socket.io客户端(运行在Node.js)到远程websocket持久连接。 我无法控制远程套接字,有时可能完全失效。 我想尝试重新连接(),每当一个错误或断开连接发生。 在下面的例子中,我试图testing远程主机拒绝连接的情况。 在这种情况下,我想在1秒后尝试重新连接。 它会再次调用,然后退出。 代码如下: var events = require('events'), util = require('util'), io = require('socket.io-client'), url = "ws://localhost:12345", // intentionally an unreachable URL socketOptions = { "transports" : [ "websocket" ], "try multiple transports" : false, "reconnect" : false, "connect timeout" : 5000 }; // The goal is to have this socket attempt […]

NodeJS和socket.io聊天自定义

我有一个使用NodeJS,express和socket.io的基本聊天系统。 现在我想让服务器每隔5秒将聊天的date插入到聊天stream中。 由于这不是由用户发起的,所以我在基本要求上遇到了麻烦。 我是NodeJS的新手,也许这只是一个我不明白的语法。 无论如何,使用这个当前的代码,date只有在有人发送聊天消息后才会被插入。 我希望这在服务器端自动发生。 如果没有人在聊天,那么date仍然会每隔5秒到达客户端。 我的问题很可能来自评论部分标题:“我如何得到我的周期性计时器在这里…”而是我试图插入它的底部,它说 – “/ / ***这部分发出通知…“我是否有不同的function? 提前致谢。 Server.js var express = require('express'), app = express() , http = require('http') , server = http.createServer(app) , io = require('socket.io').listen(server); // listen for new web clients: server.listen(8080); app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); app.get('/sio/socket.io.js', function (req, res) { res.sendfile('/root/nodejs/node-v0.10.0/node_modules/socket.io/lib/socket.io.js'); […]

Node.js多服务器集群:如何在多个节点集群中共享对象

我想创build一个node.js服务器的集群,以同时支持多个并发,为一个聊天室应用程序。 服务器保存需要在所有节点之间共享的信息,我试图找出保持所有服务器同步的最佳方法。 我希望共享对象具有尽可能大的灵活性,因为我打算在将来添加更多function。 到目前为止,我有两个解决scheme: 订阅NoSQL密钥(例如, redis发布 – 订阅 ) 节点使用套接字互相更新。 哪个更好? 我错过了什么?

使用mongodb作为存储的Node.js集群和socket.io

我有一个问题,build立群集node.js / socket.io应用程序,与socket.io存储,不是基于Redis,而是在MongoDB。 我需要提到的是我的应用程序使用Mongo来存储数据。 所以我不想设置另一个数据库只是为了让soket.io跨多个进程工作。 我发现一个选项 – mong.socket.io ,但看起来我不能使这个工作与节点集群。 我使用节点:0.10.10 ,与socket.io:0.9 我正在寻找任何解决scheme,使我可以使用MongoDB作为socket.io存储在独立的进程上运行。 依靠你,谢谢。

node.js – GET ] / socket.io/1/ – 404(Not Found)

Socket.io似乎没有提供连接的socket.io.js文件。 这里是我的server.js代码: var app = require('http').createServer(handler), io = require('socket.io').listen(app), xml2js = require('xml2js'), parser = new xml2js.Parser(), fs = require('fs'); // creating the server ( localhost:8000 ) app.listen(8080); // on server started we can load our client.html page function handler(req, res) { console.log('liccy'); fs.readFile(__dirname + '/', function(err, data) { if (err) { console.log(err); res.writeHead(500); return res.end('Error […]

如何使用socket.io设置和读取cookie?

我在我的node.js应用程序中使用socket.io,我试图设置一个简单的cookie,并在稍后回读cookie的值。 我怎么用socket.io做到这一点? 它是否支持本地或我需要编写客户端function来处理cookie,然后创buildsocket.io事件来使用它们?