Articles of websocket

什么是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/

是否有一个不需要使用浏览器的无浏览器websocket客户端的Node.js?

Socket.IO等都需要在客户端浏览器的使用….只是想知道,我们如何可以浏览器的websocket客户端node.js?

空闲WebSockets的开销

假设我有一个websocket可以在任何时候接收事件,但是大多数是闲置的,在初始连接之后会消耗多less带宽以保持活跃? 对于它的价值,服务器是使用ws NodeJS,客户端使用的是QtWebSockets。 谢谢!

最小Websocket Nodejs尾示例

我正在尝试使用websocket为浏览器创build一个数据stream。 数据是日志文件的输出。 (尾-f文件名)使用节点JS,我已经设法login到标准输出,但我还没有能够创build服务器,并创build客户端(JS / HTML)的代码来创build一个WebSocket并接收所有的输出这个孩子的过程。 谁能帮我? NODE.JS服务器输出尾部到标准输出(如http://snippets.dzone.com/posts/show/12067所示 ) var sys = require('sys') var spawn = require('child_process').spawn; var filename = process.ARGV[2]; if (!filename) return sys.puts("Usage: node <server.js> <filename>"); var tail = spawn("tail", ["-f", filename]); sys.puts("start tailing"); tail.stdout.on("data", function (data) { sys.puts(data); }); 我的目标是有最简单的可能。 任何其他简单的解决scheme都很受欢迎。 谢谢。

如何创build安全(TLS / SSL)Websocket服务器

我正在使用node.js的WS websocket库。 目前我正在运行ws服务器。 现在我想通过使用安全连接来保证这个连接,即通过实现wss协议和库支持TLS连接。 我search了一下,发现这很简单:wss和这个wss用自签名证书 。 两者都不是很详细,第二个链接上的文章用自签名证书描述了wss。 我想知道的是,如果创build自签名证书并将其部署到我的生产环境中,还是需要购买证书,而我们需要在创buildHTTPS服务器时执行该操作?

是否有服务器端的node.js的Websocket客户端?

我一直在使用socket.io在node.js中创build一个启用websocket的服务器,它的function非常强大。 现在我想要在node.js中创build一个服务器端客户端,它可以连接到其他地方的websocket服务器。 这里有没有图书馆? 谢谢

什么是生成login令牌的最佳方式? 这种身份validation方法容易受到攻击吗?

我必须在基于Lithium(PHP框架)的应用程序中实现login令牌。 两个原因: 我想有一个“记住我”的function。 我还需要在服务器上跟踪login的方法,以便我可以validationNode.js套接字服务器上的身份validation用户,如下所示: 用户请求一个页面 服务器在HTML中返回一个带有会话标记的视图 客户端JS读取令牌并将其发送到node.js服务器,尝试通过Web套接字build立连接。 服务器收到连接请求并validation发送给它的令牌与PHP服务器。 根据结果​​允许或拒绝连接。 所以这是一个两部分的问题,只是为了certificate我不是白痴,因为这个网站的安全性比平常高。 这是创buildlogin令牌的合理方式吗? <?php // String::hash() generates a sha512 (by default) hash. String::hash(time() . $user['username']); ?> 我提出的web套接字authentication系统是否理智? 你能看到出现的任何问题或更有效的方法吗?

如何删除“消息”侦听器上的Redis

一个典型的Redis聊天示例将会像这样(参见https://github.com/emrahayanoglu/Socket.io-Redis-RealTime-Chat-Example/blob/master/chatServer.js就是这样一个例子): io.sockets.on('connection', function (client) { //websocket connection redis1.subscribe("chat"); redis1.on("message", function(channel, message) { console.log(message); client.send(message); }); client.on('message', function(msg) { redis2.publish("chat",msg.message); }); client.on('disconnect', function() { redis1.quit(); }); }); 但是,这里的问题是,当client断开连接时, redis1.on('message',FUNC(){})侦听器仍然连接。 控制台将继续打印出message 。 如果要检查redis1的事件列表,他们仍然会发现匿名函数正在侦听。 问题是没有redis1.off(…)函数。 那么,如何解绑/取消订阅/删除/删除redis消息侦听器呢? 注意:不能只是做redis1.end(),因为这将打破其他websocket连接用户的redis连接。

与风帆js使用socket.io

虽然以前有很好的使用sockets的文档,感谢Irl Nathon的Sails Cast系列 。 在v0.11中 ,事情发生了变化 ,风帆团队正在封装和掩盖 socket.io例程。 风帆网站, 例如SailsS​​ocket是疯狂的简洁,说什么做,但不是如何或在哪里做,或者如果我需要npm或凉亭的东西。 尝试使用在sails.config.sockets站点上讨论的sails.config.sockets特别令人沮丧。 我甚至无法在我的v0.11目录中find它。 首先,我想知道如何以及在哪里创build我自己的响应io.socket.get或.post或其他。 现在当我做一个像这样的东西: `io.socket.request({ method: 'get', url: '/sites/2', params: {}, headers: {} },function serverResponded(body, JWR){console.log("Body: ", JSON.stringify(body,null, 4)); console.log(' JWR: ', JWR.body)});' 我回头: undefined VM1149:7 "Not implemented in core yet" VM1149:7 JWR: Not implemented in core yet 我可以在sails控制台中看到正在调用的网站,但没有发现任何问题。 我相信这是因为我已经定义了我自己的路线,并在我的站点控制器中有我自己的find()函数,我手动需要将某些内容推送到服务器端套接字中。 但我很困惑,我怎么在同一个控制器例程中用HTTP调用整个页面,而用socket.io调用表格。 我在哪里写我自己的低级别的socket.io例程,可以从网页上调用? 我仍然在app.js文件中做? 风帆铸造表明它在那里完成,但事情已经改变了。

Socket.io随机断线(v1.0.6)

我正在使用最新版本的socket.io(1.0.6)来制作Phaser和Node的在线多人游戏。 我的问题是,一旦客户连接,他们会偶尔和随机,断开连接。 似乎没有发生这种情况的具体情况。 有时候是在游戏完全闲置的时候,有些时候是所有玩家都向服务器发送input。 通过检查来自socket.io的debugging输出,我发现断开连接的原因是“ping超时”。 具体来说,下面一行是从socket.js库文件中触发的: Socket.prototype.setPingTimeout = function () { var self = this; clearTimeout(self.pingTimeoutTimer); self.pingTimeoutTimer = setTimeout(function () { self.onClose('ping timeout'); // <———————— }, self.server.pingInterval + self.server.pingTimeout); }; 这有什么原因吗? 我只是在本地主机上testing我的服务器,所以我没有理由认为会有任何重大延迟导致超时。 我的套接字是根据socket.io网站上的聊天应用程序示例设置的: 服务器: //http server setup var io = require('socket.io')(http); io.on('connection', function(socket){ //Game logic,socket listeners, io.emits }); 客户: var socket = io(); //client side […]