Articles of websocket

Einaros WS服务器 – 未实现的消息

使用Node JS + Einaros WS Server启动服务器并在浏览器上打开http:// serverIp:端口时,出现“ Not Implemented ” 模块文件WebSocketServer.js文件如下所示: if (options.isDefinedAndNonNull('port')) { this._server = http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Not implemented'); }); this._server.listen(options.value.port, options.value.host, callback); this._closeServer = function() { self._server.close(); }; } 而不是发送这个Not implemented消息,我怎样才能模拟不可用或页面不存在? 我不想让客户端弄清真正的serverIp / Port,因为它实际上是在haProxy负载均衡器后面工作的。

socket.io延迟问题(websockets)

我们正在计划使用node.js创build一个实时SPA,我们正在testing延迟,请通过以下链接: http://173.200.239.98:6060/ 有2个区域…当用户将鼠标hover在右侧的textarea上时,我们在左侧的textarea中打印延迟,延迟以毫秒为单位。 问题是延迟从0.3秒到6秒..这是正常的networking套接字? 还是我做错了什么? 注: – 服务器在底特律,美国,我从印度钦奈访问服务器。 源代码: <!DOCTYPE html> <html> <head> <meta charset='utf-8'/> </head> <body style='margin:0px' > <table> <tr> <th>latency in milliseconds</th> <th>hover to trigger message</th> </tr> <tr> <td><textarea id='message' name='message' rows="20" cols="20" ></textarea></td> <td><textarea id='hover' name='hover' rows="20" cols="20" ></textarea></td> </tr> </table> <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script src="/socket.io/socket.io.js"></script> <script> jQuery(function($){ var socket = io.connect(); var […]

Firefox中的Websockets不能使用多个HTTPS页面

我有一个websocket客户端 – 服务器应用程序。 这是客户的简化代码: const HOST = "wss://localhost:8000"; const SUB_PROTOCOL= "sub-protocol"; var websocket = new WebSocket(HOST, SUB_PROTOCOL); websocket.onopen = function(evt) { … }; websocket.onclose = function(evt) { … }; websocket.onerror = function(evt) { … }; websocket.onmessage = function(evt) { … }; 这里的服务器: const PORT = 8000; const SUBPROTOCOL = 'sub-protocol'; var WebSocketServer = require('websocket').server; var […]

如何将Node.js WebSocket服务器部署到Amazon Elastic Beanstalk?

使用Elastic Beanstalk Web控制台,我已经启动了一个新的Web Server 1.0环境: 预定义configuration:Node.js,64位Amazon Linux 2014.09 v1.0.9 环境types:负载均衡,自动调节 并将Proxy Server设置为none 。 我已经成功压缩并通过控制台上传我的代码: 的package.json { "name": "cool", "version": "0.0.0", "dependencies": { "ws": "0.4.x" } } server.js var wss = new (require('ws')).Server({port: (process.env.PORT || 3000)}) wss.on('connection', function(ws) { console.log('connected') ws.on('message', function(message) { console.log(message) ws.send(message) }); ws.on('close', function() { console.log('disconnected') }) }) 我也试过包括node_modules目录。 运行后: wscat -c […]

套接字IO 1.2查询参数

我无法弄清楚如何检索服务器端的socket.io 1.2.1查询参数 这是我的客户端代码 var socket = io('http://localhost:3000/',{_query:"sid=" + $('#sid').attr('data-sid') + "&serial=" + $('#serial_tracker').text()}); 和服务器端: io.use(function(socket,next){ //find out if user is logged in var handshake = socket.request; console.log(socket.request._query); handshake.sid = handshake.query.sid; } socket.request._query是: { EIO: '3', transport: 'polling', t: '1419909065555-0' } 有谁知道如何查询参数工作在套接字io 1.2.1? 感谢您的帮助,如果您需要更多的信息,请问我。

Socket.IO将数据发送到自己的房间

我正在构build一个聊天应用程序,我想要加载两个用户之间的最后一条消息。 这是我在前端做什么,所以加载数据库中的旧messageList: socket.emit('get messageList', data); 在后端我加载消息到messages并尝试将其发回。 我不想broadcast.emit因为我想在我的会话中加载数据,而不是在聊天伙伴。 socket.in(roomId).emit('send messageList', messages); 当我执行这个代码时,聊天伙伴的messageList被刷新。 基本上它有同样的效果 socket.in(roomId).broadcast.emit('send messageList', messages); 在我实施房间之前,一个正常的 socket.emit('send messageList', messages); 会按我的预期更新我的清单。 但是因为我使用房间的代码,它不再工作。 我的问题: 这是为什么? 是否有可能使用socket.io从后端发回数据到客户端? 还是我在做一些完全错误的事情?

打开Websocket之前的身份validation

什么是最先进的方式来确保一个WebSocket与身份validation? 问题是,每个人都可以下载js文件,并查看该页面连接到哪个websocket的主机和端口。 我想到的唯一方法是:打开一个wss(安全websocket),并发送例如证书,并closures服务器端的连接,如果凭据是错误的?

使用websockets(socket.io)进行风帆0.10.x

我正在sails上开发节点应用程序,我的应用程序需要在服务器和客户端之间定期交换数据SailsCastvideo演示了sails 0.9.x的过程,而Sails 0.10.x中没有提到这些文件。另外,sails doc说我们应该使用sails.socket而不是sails.io,因为稍后的版本会被弃用。任何人都可以帮助我通过套接字在服务器和客户端之间交换数据。 我已经通过节点做了,但与Sails MVC,我不知道如何把这些碎片放在一起。 任何参考链接或build议将有很大的帮助 谢谢

在Visual Studio中使用带有Cordova App的socket.io(node.js)服务器

我正在testing一个理论。 我有VS2013,并安装了Apache Cordova和Node.js项目库。 在使用本地命令行方法之前,我已经创build了NodeJS + Socket.IO网站,主要是使用指南,所以我对“如何工作”的理解是基本方面。 下面是我创build的VS项目的图片: 基本上我想能够使用socket.io来沟通两个项目之间的数据。 我在Google上做了一些相关的研究,在这里找不到具体的东西,怎么能实现呢? 我已经看到了这个问题 ,告诉我这可能会实现,但这是Android本身,而不是cordova。 这也可能是使用NodeJS不是最好的select。 最终,我希望能够与现有的(非常大的).Net应用程序进行通信,所以我有兴趣知道是否有更好的方法来完成此操作(完全跳过NodeJS层?)。 谢谢你的时间 UPDATE 我正在尝试的东西,但得到连接错误: 服务器端 var http = require('http'); var server = http.createServer(); var io = require('socket.io')(server); server.listen(5022, function () { console.log('listening on *:5022'); }); io.sockets.on('connection', function (socket) { console.log('socket connected'); socket.on('disconnect', function () { console.log('socket disconnected'); }); socket.emit('text', 'wow. such event. very […]

在websockets上运行socket.io错误404

我在我的express.js应用程序中使用socket.io,但它试图通过websockets传输时,从我们的UAT服务器不断返回404。 值得注意的是,在我的本地服务器上一切正常,所以我认为这是在UAT上的某种configuration。 这是实际的错误: WebSocket connection to 'ws://timesheet.hw.s2.hwuat.com/socket.io/?EIO=2&transport=websocket&sid=eUtgUXweLDzSblrjAAE8' failed: Error during WebSocket handshake: Unexpected response code: 400 – 示例请求 – 请求url : ws://timesheet.hw.s2.hwuat.com/socket.io/?EIO=2&transport=websocket&sid=AssKCIfT3vTVwmHcAAE4 – 失败 请求url : http://timesheet.hw.s2.hwuat.com/socket.io/?EIO=2&transport=polling&t=1422444487679-3&sid=AssKCIfT3vTVwmHcAAE4 : http://timesheet.hw.s2.hwuat.com/socket.io/?EIO=2&transport=polling&t=1422444487679-3&sid=AssKCIfT3vTVwmHcAAE4 – 成功 我对websockets并不太熟悉,所以我不知道从哪里开始寻找,有没有人遇到过这个问题,或者可以指出我可能导致这个问题的起始方向?