Articles of websocket

将nodejs应用程序部署到Openshift(503错误)

有一个问题部署第一个节点js应用程序openshift。 我有点困惑与港口。 我在创build服务器时设置了这个: var port = process.env.OPENSHIFT_NODEJS_PORT || 8080, server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1' http.createServer(function (request, response) { return router(request, response); }).listen(port, server_ip_address, function() { console.log( "Listening on " + server_ip_address + ", server_port " + port ) }) 我已经logging了端口。 我收到8080.但是,如果我想听websockets我也必须手动设置为8080(接收),我相信,这导致我错误,听同一端口两次。 读取日志也certificate,该应用程序落在ws服务器上的创build方法。 我敢打赌,哪里的港口是这个原因。 但是,如何解决? 有什么select,我还看不到? 更新:更改websocket端口为8000.错误似乎是相同的: Error: listen EACCES at errnoException (net.js:905:11) at Server._listen2 (net.js:1024:19) […]

websockets的JavaScript地图框

相对性新的代码,发现我通过一个问题,从肌肉学习最多,但需要一些指针。 我的项目有两个部分。 深入潜入社区(由团队构build)的响应式地图,以及全屏显示地图的地图,其中标记出现和消失,以便在用户点击每个社区时显示活动。 我有我自己的服务器上的第二个地图。 生产地图将需要传递一个纬度,长度的对象[我已经想出如何收集这些坐标]。 1)我相信我需要一个websocket来连接两者。 任何人都可以传递具体的例子,如何连接传递对象的两个? 2)在服务器上有Lat,Long对象之后,如何将它从我的websocket应用程序传递到我的javascript文件中? 或者我做我的JavaScript文件LISTEN消息的新实例? 谢谢!

发送socket.io实例来表示路由

我正在尝试创build一个nodejs应用程序,它将使用他们的API在各种网站中进行search。 一旦从使用socket.io的API接收结果,结果将被发送到客户端。 然后前端将使用jQuery添加这些结果。 什么是实施这个最好的方法? 到目前为止我已经尝试过: 示例代码1 起初,我创build了一个快递中间件,将套接字添加到请求中 – var socketMiddleWare = function(req, res, next){ io.on('connection', function(socket){ console.log(io.engine.clientsCount + " clients connected."); req.socket = socket; socket.on('disconnect', function(){ console.log(io.engine.clientsCount + " clients after disconnec."); }); }); next(); }; 然后将这个中间件添加到我的路线 – app.use('/users', socketMiddleWare, users); 它的工作原理,但问题是每次用户刷新页面时都会创build多个事件监听器。 示例代码2 所以然后我试了(示例代码) io.on('connection', function(socket){ console.log("user connected"); global.socket = socket; socket.on('disconnect', function(){ console.log("disconnect"); }); […]

Socket.io客户端到客户端的逻辑,有很多用户

我试图在我的应用程序中使用socket.io和node.js和Android实现客户端到客户端的消息传递。 我search了一下,发现了很多教程,解释了在通过socket.io套接字发送消息时如何处理针对特定客户端的问题。 用socket.io和node.js发送消息给特定的客户端 解决scheme几乎总是相同的:创build一个hashmap对象,将用户信息(如username , email address (或任何可以识别的唯一标识))与其socketid 。 然后调用io.clients[sessionID].send() 现在我有两个问题: 如果只有一个app实例正在运行,这将工作,但想象如果我的应用程序分为多个实例(对于大型应用程序)。 如果连接到实例X的客户端A想要发送消息给连接到实例Z用户B ,该怎么办? 如果在示例中看到的是,直接将脚本存储在脚本中存在的简单对象中,则某些套接字将不知道其他实例中存在的其他用户。 如果我完全错了(我可能),这是一个很好的做法,将所有用户的socketids存储在一个单一的variables? 如果是的话,50000+的用户环境还是可以的吗? 如果不是,我应该find另一个解决scheme,像在数据库中存储用户的socketids ?

StrongLoop Websockets

我需要一个实时数据由客户端应用程序stream。 StrongLoop(或任何StrongLoop组件)是否支持基于Websockets的CRUD。 考虑这个图像: 请指教。

meteor远程ddp连接集合不允许更新操作

我目前使用以下方式将meteor应用程序A连接到另一个meteor应用程序B(DB所在的地方): 在应用程序A: remote = DDP.connect('http://url.of.app.B'); Booking = new Mongo.Collection('booking', remote); Booking.allow({ insert: function(userId, doc){ return false }, update: function(userId, doc){ return true }, remove: function(userId, doc){ return false } }); 而且已经能够find操作就好了。 但是,如果我试图做一个更新操作(使用Meteor方法调用来更新服务器端(应用程序A)): Booking.update({_id: bookingId}, {$set: {arrived: true} }); 不过,在更新被调用后,我一直在我的应用程序A上收到错误日志: 更新失败:访问被拒绝。 不允许validation器在限制集合上设置方法“更新”。 [403] 任何想法如何解决这个问题? 我已经做了允许/拒绝规则,但它仍然不工作…

Google云平台上的Websockets

我试图在谷歌应用程序引擎中运行一个nodejs websocket(socket.io)服务器。 如果我理解正确谷歌目前不完全支持websockets,并为了让我的nodejs应用程序中的websockets服务器,我将不得不使用自定义运行时。 我已经阅读过,如果你使用自定义运行时,你的应用程序将不会扩展,这对我来说非常重要,尤其是因为它是一个nodejs应用程序。 这是真的吗? 我可以以某种方式在我的应用程序上创build一个负载平衡器,并运行多个实例,websockets仍然工作? Google什么时候开始全面支持websockets? 谢谢你,Arik

使用nodejs + socket.io的websocket服务器不能通过testing站点连接,而ws可以

我想创build一个websocket服务器。 我听说socket.io是一个不错的select。 我用nodejs(v4.4.7)(npm install –save socket.io)尝试socket.io,使用它的示例服务器端代码 。 有一点困惑,为什么客户端代码使用“http://”而不是“ws://”协议,但是在我设置了一个真正的服务器进行testing之后,我发现“http //”和“ws //”将使用官方代码工作。 一切都很好,直到现在。 但很快我发现我不能使用第三方在线testing站点build立连接,如: 1. www.websocket.org/echo.html 2. www.blue-zero.com/WebSocket 连接似乎从来没有build立或closures尽快连接, 在Firefox控制台中,我发现“Firefox无法在ws:// mytestserver:8888 /?encoding = text中build立与服务器的连接” 或“WebSocket连接到'ws:// mytestserver:8888'失败:连接在收到握手响应之前closures”。 最后我把socket.io改成了ws(npm install –save ws)。 使用来自github.com/websockets/ws的示例代码。 所有testing站点运行良好。 (当然,我的最终目的不是让一个testing者站点工作,事实上,基于集成在我的芯片中的nopoll的websocket lib与testing者站点具有完全相同的行为。) 有谁知道为什么socket.io不能与第三方客户端同时工作吗? 非常感谢。

使用SSDP显示networking中的所有设备

我经常使用这个问题,但对于我究竟是做什么是可能的,我还是有点困惑。 基本上,我试图添加一个下拉菜单到我的Web应用程序,其中列出了连接到networking的所有设备。 当我说设备时,我不是在谈论所有的设备; 我正在谈论某些我正在使用SSDP的硬件设备。 我已经创build了发送M-SEARCH的Node.js程序,并成功find所有的设备,但我明白,Node.js不是一个浏览器的JavaScript,并且我不能显示在一个terminal上的节点调用的输出浏览器(请纠正我,如果我错了)。 在做了一些更深入的研究之后,我意识到在浏览器上做这种types的替代方法是创build某种能够执行SSDP并发送Msearch的Chrome扩展,或者使用websocket打开websocket API(不要认为这对我的SSDP特别有用,但我可能是错的)。 鉴于我想要做的是,这些替代scheme是否有帮助。 我试图做甚至可能吗? 我再一次在这个话题上做了研究,但是我还没有find明确的答案。 如果可能的话,我真的很感谢链接教程或只是一般想法如何完成我想要做的事情。 我知道我最近在StackOverflow上发布了一些关于这个的东西,没有得到答案或答复,但是我对这个话题做了更多的研究,觉得我有更好的理解。 话虽如此,我仍然感谢如何解决这个问题的一些方向,因为我没有在网上find任何有用的东西。 感谢您的时间!

Node.js缓冲区与types化数组 – 性能

要发送带有WebSocket的二进制消息,我可以使用Node.js缓冲区或Typed Arrays 。 他们之间在performance方面是否有显着差异?