Tag: websocket

TCPconfiguration的Amazon Elastic Load Balancer上的Socket.io Websockets

我打算在EC2上设置一组运行Socket.io的NodeJS应用程序服务器,并且我想使用Elastic Load Balancer在它们之间传播负载。 我知道ELB不支持开箱即用的Websockets,但是我可以使用scheme2中描述的设置。 正如博客文章中所述 ,我注意到这个设置没有提供会话关联或源IP信息: 我们不能使用Session Affinity和X-Forward头文件,因为ELB并不parsingHTTP消息,所以不可能匹配cookies来确保Session Affinity,也不能注入特殊的X-Forward头文件。 Socket.io在这种情况下还能工作吗? 或者还有另一种方法来在负载平衡器后面使用SSL来configuration一组Socket.io应用服务器? 编辑:蒂姆·卡斯韦尔谈到这样做已经在这里 。 有没有解释如何设置的post? 再次,这里没有会话粘性,但事情似乎工作正常。 顺便说一句,websockets实际上需要粘性会话吗? 信息是作为新的和独立的请求传播,还是只有一个请求+连接,所有的信息一起移动?

如何确保通过socket.io的消息已被接收到客户端?

如何检查与socket.io库发送的消息已被接收到客户端。 在socket.io中是否有特殊的方法? 感谢您的回答!

如何设置快递websocket服务器的路由?

我有一个类似于这个的设置: var WebSocketServer = require("ws").Server, express = require("express"), http = require("http"), app = express(), server = http.createServer(app); app.post("/login", login); app.get("/…", callSomething); // … server.listen(8000); var wss = new WebSocketServer({server: server}); wss.on("connection", function(ws){ // … }); 我想把WebSocketServer放在特定的path下,例如"…com/whatever" 。 问题是如何设置path? 可能吗?

任何使用JavaScript获取Kinect V2跟踪数据的方法?

我的问题是:如何获得Windows V2的Kinect跟踪数据到JavaScript的HTML5游戏或其他浏览器黑客。 我使用Zigfu浏览器插件与我的旧Kinect在浏览器中使用Javascript,并在我的Macintosh上工作。 我也知道微软已经发布了用于web开发的kinect.js v1.8。 还有一个名为pgte / node-openni(在GIT上查找)的节点包,使您可以使用Web套接字获取Kinect数据。 问题是没有这些与新的传感器一起工作。 之所以我相信这是可能的,是因为我发现这些项目,他们似乎使用Javascript和新的传感器很好,但我不能从这些文章中提取足够的信息,以开始发展: 项目1: http : //blog.derivatived.com/posts/Kinect-version-2-Operated-Robot-Hand/ 项目2: http : //mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2014/08/19/kinect-for-windows-v2-sdk-hello-skeletal-world-for-the-3d-javascript-windows -8-1-APP-developer.aspx

我怎样才能得到(Express的)sessionID的WebSocket连接

我正在使用WebSockets npm install ws与Express运行在同一个端口上。 我想从刚刚build立并升级到WebSocket的HTTP连接中获取关联的“sessionID”。 // start express listening server.listen(conf.server.port, conf.server.host); var WebSocketServer = require('ws').Server , wss = new WebSocketServer({server: server}); wss.on('connection', function(ws) { var sessionID = // how do I get this? ws.on('message', function(message) { console.log('received: %s', message); }); ws.send('something'); }); 如何才能做到这一点? (我目前通过在页面中发送sessionID来解决这个问题,但这很丑陋。)

我可以使用socket.io-client连接到一个标准的websocket吗?

尝试使用socket.io-client连接到Go中编写的websocket服务器。 我已经使用节点WebSocket库( npm )成功连接了。 所以工作的Websocket代码如下所示: goSocketPort = 6060 url = "ws://localhost:#{goSocketPort}/streamresults/" ws = new WebSocket(url) ws.on('open', -> log "socket opened" ) ws.on('message', (message) -> console.log('received: %s', message) #log "Socket message: #{JSON.stringify message}" ) 很容易,它的工作原理 – 另一端的套接字以设定的频率发送消息。 但我最初尝试与socket.io-client ( npm ),只是不能得到它去。 它确实列出了websocket作为它的第一优先传输,但该死的,如果我能得到它连接: socket = ioClient.connect("#{url}", {port: goSocketPort, transports: ['xhr-polling', 'websocket']}) socket.on("connect", (r) -> log "connected to […]

Node.js和Socket.io创build空间

我可以请求你的帮助吗? 我的代码不适用于使用socket.room创build一个房间,首先我声明了var rooms = ['Lobby']; 我想创build房间并将创build的房间名称推送到rooms[] 。 我的目标是允许用户创build自己的房间,并尽可能删除它。 我在这里用Michael Mukhin的代码作为参考。 这是我的server.js的代码 var redis = require('redis'); var express = require('express'); var app = express(); var http = require('http'); var server = http.createServer(app); var io = require('socket.io').listen(server); var publish = redis.createClient(); var subscribe = redis.createClient(); server.listen(8080); app.get('/', function (req, res) { res.sendfile(__dirname + '/index.html'); }); var usernames […]

Socket.IO无法通过https连接

我有一个node.js应用程序,它使用socket.IO。 它在http上工作正常,但是当试图通过https连接到套接字 – 没有任何反应。 这是代码的一部分: var fs = require('fs'); var ioHttp = require('socket.io').listen(8899, { 'flash policy port': -1 }); initSocket(ioHttp); var ioHttps = require('socket.io').listen(8895, { key: fs.readFileSync('/path/to/file/file.key'), cert: fs.readFileSync('/path/to/file/file.crt'), ca: [ fs.readFileSync('/path/to/file/sub.class1.server.ca.pem'), fs.readFileSync('/path/to/file/ca.pem') ], 'flash policy port': -1 }); initSocket(ioHttps); 和initSocket函数: function initSocket(io) { io.enable('browser client minification'); io.enable('browser client etag'); io.enable('browser client gzip'); io.set('transports', [ […]

使用WebSocket接口调用IPV6 IP

[ 我已经标记了这个问题,被版主删除,直到我得到我的这个问题的答案 ] 我的javascript客户端工作正常时通过与IPV4 IP地址的WebSocket接口与node.js(在Ubuntu上,更多这里 )服务器通话。 即使我的主机提供商已经准备好分配给我IPV4,但是现在让我使用IPV6,因为现在IPV4的供应有限。 当使用IPV6 IP时,我得到这个错误: WebSocket连接到'ws:// [2600:3c00 :: f03c:91ff:fe73:2b08]:31333 /'失败:连接build立时出错:net :: ERR_ADDRESS_UNREACHABLE 我已经检查,端口31333确实是使用工具打开: http : //www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-port-scanner.php 我甚至尝试过的解决scheme,如IPv6地址给Internet Explorer-10 websocket的语法错误 – 那就是:2600-3c00-0-0-f03c-91ff-fe73-2b08.ipv6-literal.net 我已经运行这个客户端,并且能够在基于远程Ubuntu的服务器上运行时连接到服务器: var WebSocket = require('ws') , ws = new WebSocket('ws://[2600:3c00::f03c:91ff:fe73:2b08]:31333'); ws.on('open', function() { ws.send('something'); }); ws.on('message', function(message) { console.log('received: %s', message); }); 但是,当我从家里的Windows 7运行这个相同的客户端,而服务器是远程Ubuntu的,它不能够连接: > $ node c2.js events.js:85 > […]

想要select:Node.js Meteor.js Ratchet RabbitMQ实时WebChat(论坛)

在提出这个问题之前,我做了一些研究,但却找不到具体的答案。 我想创buildWebChat实时同步到服务器上的数据库。 (MySQL或MongoDB – 一切正常)但关于同步数据有几种方法来做到这一点: Ratchet的PHP + websockets和我的工作只是通过JSON创build一个协议来授权和消息。 许多文档,许多教程。 (我知道websockets在IE中不起作用,但是不pipe用) node.js + socket.io – 有相同的技术解决scheme1,但在不同的语言。 node.js + meteor.js(sockJS) – 似乎人们都工作,我不需要添加任何协议function,只是编码的逻辑。 但是,如何高负荷? 怎么样的文件…非常年轻的框架。 龙卷风+ TornadIO2(socket.io)+ RabbitMQ 任何人都可以比较RabbitMQ与meteor.js? 性能。 谁能说哪个方法更好? 我不知道所有的框架,所以如果我有更好的select,请告诉我:) 请给我你的意见。 谢谢!