Articles of websocket

socket.io获取当前sockets的空间

是否有可能得到哪些套接字当前在哪里,而不用打电话 io.sockets.clients(roomName) 为每个房间的名字,并在结果中寻找这个sockets

NodeJS Websocket在服务器重启时如何重新连接

在Node.js中,我使用https://github.com/einaros/ws进行WebSocket连接。 以下是客户端的代码。 假设我们正在连接的服务器套接字下降一分钟。 closures事件将会触发,但是每当服务器上的套接字closures或错误时,重新连接套接字的最佳方法是什么? var ws = new WebSocket('ws://localhost'); ws.on('open', function() { console.log('socket open'); }); ws.on('error', function() { console.log('socket error'); // how do I reconnect to the ws after x minutes here? }); ws.on('close', function() { console.log('socket close'); // how do I reconnect to the ws after x minutes here? });

Nodejs&websockets

我试图从我的浏览器(Chrome)推送数据到一个nodejs服务器,我遇到了很大的麻烦。 基本上,我已经得到了浏览器中显示的代码: <script src="./Socket.IO/socket.io.js"></script> <script> io.setPath('./Socket.IO/'); var socket=new io.Socket('xxx.xxx.xxx.xxx'); socket.on('connect',function(){ alert('connect'); }); socket.on('message',function(msg){ alert('message'+msg); }); socket.on('close',function(){ alert('close'); }); socket.on('disconnect',function(){ alert('disconnect'); }); socket.connect(); </script> 唯一出现的警报是“closures”警报。 这是我的服务器代码: var http=require('http'); var io=require('./Socket.IO-node'); var server=http.createServer(function(req, res){ // your normal server code res.writeHeader(200, {'Content-Type': 'text/html'}); res.writeBody('<h1>Hello world</h1>'); res.finish(); }); var socket=io.listen(server,{transports:websocket,port:8080}); socket.on('connection',function(client){ console.log('connection'); }); 您可以看到我正在尝试将连接logging到控制台,但没有任何显示。 我一直在谷歌search,并尝试通过http://github.com/LearnBoost/Socket.IO-node上的Socket.IO示例工作,似乎没有任何工作对我来说… 任何指针是非常感激。 编辑:嗨, 我现在有以下服务器代码: var […]

videostream通过Websocket到<video>标签

我使用Node.js通过Websocket实时webmvideostream到一个网页,将在一个标签中播放它。 以下是来自服务器和客户端的代码: 服务器: var io = require('./libs/socket.io').listen(8080, {log:false}); var fs = require('fs'); io.sockets.on('connection', function (socket) { console.log('sono entrato in connection'); var readStream = fs.createReadStream("video.webm"); socket.on('VIDEO_STREAM_REQ', function (req) { console.log(req); readStream.addListener('data', function(data) { socket.emit('VS',data); }); }); }); 客户: <html> <body> <video id="v" autoplay> </video> <script src='https://localhost/socket.io/socket.io.js'></script> <script> window.URL = window.URL || window.webkitURL; window.MediaSource = window.MediaSource || […]

在服务器发送的JavaScript代码上安全使用eval()

我正在使用Node.js和Socket.io。 我写了一个应用程序,可以从服务器发送JavaScript片段,并在客户端执行它们。 JavaScript通过Secure WebSocket(WSS)发送,客户端有一个监听器,它将执行通过服务器传递给它的任何代码。 这个简短的脚本演示了原理: http : //jsfiddle.net/KMURe/你可以把onScript函数想象成套接字监听器。 题 我可以使用哪些安全协议来保证交易安全? 一个安全的websocket通道是否会使第三方难以充当中间人(在将代码发送给客户端之前更改代码)? 一些用例 dynamic分配的分布式计算。 浏览器客户端可以从服务器dynamic学习。 一致更新浏览器行为。

节点代理networking套接字如何检查

我使用下面的模块,它适用于反向代理https://github.com/nodejitsu/node-http-proxy目前我已经使用下面的代码示例 httpProxy.createServer({ target: 'ws://localhost:9014', ws: true }).listen(8014); 我的问题是我如何检查/模拟 websockets工作? 任何testing将有帮助…

是否有可能使用WebSockets或类似的本地Android应用程序?

我有一个使用HTTP / REST(使用Express.js)的Node.js应用程序,以及与之通信的本地Android应用程序。 这工作正常。 我现在正在考虑编写一个更实时的版本,可以将消息推送到本地客户端。 不幸的是,它需要成为一个本地客户端,因为在移动浏览器中,对于未来可能性来说,数据完成了一些相当复杂的工作(否则,我会等待WebSockets支持出现在Android浏览器中)。 所以,我的问题是我的select是什么? 我了解Android Cloud到设备消息传递框架,但是这需要注册和Googlelogin,我更希望服务器是客户端不可知论者。 有一个可靠的WebSocket客户端,我可以使用(理想情况下)与运行Socket.io的Node.js服务器交谈? 或者其他的本地方法(使用NIO类)?

Ajax与Socket.io

我正在开发一个Web应用程序,我想知道哪种方法应该适合我的项目。 基本上我想显示给用户的是从请求到其他服务器的一些通知。 我的node.js应用程序获取所有的信息,然后传播给用户,保存到我的MongoDB副本。 这个想法很简单,但阅读有关方法,我发现这两种技术: Ajax:如果服务器上有新的内容,客户端将全部检查。 这将通过使用jquery ajax到我的服务器API(每30/60秒)完成。 Socket.io:客户端连接一次,然后维持永久的TCP连接(更实时)。 现在我已经说明了情况,我有以下问题: 我不会有太多的请求与Ajax? 想象一下,如果我们将应用程序扩展到100个用户,每分钟都会给服务器一个检查,那么每分钟会给我100个查询。 有一个套接字是否会在系统资源中“便宜”? socket.io会成为移动设备的问题吗? 带宽和性能。 服务器的响应始终是JSON格式的信息。 我读了now.js可以用于这个,但似乎该项目不再支持,所以不知道如果使用它将是一个好主意。 这两种方法如何caching? 我正在考虑为每个用户创build一个caching文件,这将由服务器端的node.js更新。 我想这可以用ajax很好的工作,但是socket.io呢? socket.io是否与许多浏览器不兼容? 我的应用程序将更专注于移动设备,我想这可能会让我考虑select阿贾克斯反而。 有其他build议吗? 我希望这可以清除我的头脑和其他人在相同的情况:)谢谢

socket.on('连接'…事件永远不会触发nodejs + express + socket.io

问题 socket.io不工作 细节 用express [folder]; cd [folder]; npm install;生成一个项目express [folder]; cd [folder]; npm install; express [folder]; cd [folder]; npm install; 安装socket.io npm install socket.io 运行下面的代码节点应用程序 客户端连接事件触发,但服务器连接从未被解雇。 build立 服务器 AWS免费套餐,Ubuntu 11.10,ami-a7f539ce nodejs v0.6.5 express v2.5.1 socket.io v0.8.7 客户 var socket = io.connect('http://example.com:3000'); socket.on('connect', function() { console.log('connected'); }); socket.on('message', function(msg){ console.log(msg); }); socket.on('disconnect', function() { console.log('disconnected'); }); […]

如何检测用户的连接丢失或者他closures了Nodejs socket.io中的浏览器窗口

我有一个Node.js和Socket.io上的聊天应用程序,用户可以连接和断开一个button…我有一个在线用户列表,这是我的定义的事件,用户触发的帮助下完美pipe理。 但问题是我无法检测用户是否已经失去了他的连接或closures浏览器窗口,而不必手动断开自己(通过断开button)… 这个socket.io事件只有当用户断开自己而不是当他失去连接时才会触发。 socket.on('disconnect',function(){ console.log('user disconnected'); }); 我想要一些非常好的机制来关注用户,以更新我的在线用户列表。