草庐IT

socket_desc

全部标签

node.js - Node : Scale socket. io/nowjs - 跨不同实例扩展

在开始编写我的应用程序之前,我需要知道当单个node.js实例(express和(socket.io或nowjs))不够用时该怎么办。您现在可能会告诉我,我不应该关心规模,直到时机成熟,但我不想开发应用程序并遇到麻烦,因为您无法轻松地跨多个实例扩展socket.io或nowjs.我最近读到socket.io现在支持使用Redis进行扩展(我也没有经验)。Nowjs建立在socket.io之上——它的工作方式是否相同?在nowjs.org您可以读到“NowJS的分布式版本”正在开发中,并且需要花钱。 最佳答案 如果您需要扩展Node,

node.js - 与 nginx、nodejs 和 socket.io 的 WebSocket 连接失败

我尝试使用nginx设置nodejs。但是当客户端尝试连接时,它会失败...WebSocketconnectionto'ws://www.mydomain.com/socket.io/1/websocket/KUv5G...'failed:ErrorduringWebSockethandshake:'Connection'headervalueisnot'Upgrade':keep-alivesocket.io.js:2371那么如何开启websocket通讯呢?我当前的nginx配置upstreammynodejsapp{server127.0.0.1:3000max_fails=0

node.js - 在 socket.io 重新连接时更新查询字符串参数

当客户端通过socket.io连接时,我传递了一个包含ID的自定义查询字符串来授权服务器上的客户端。varenv={id:12345};varsocket=io.connect('https://example.com',{query:'i='+env.id,port:443,reconnect:false,secure:true});当客户端因任何原因断开连接时,只需调用以下函数即可重新连接。socket.socket.connect();但是,在重新连接时env.id通常包含与初始连接期间不同的值,我希望在每次重新连接时在查询字符串中都有当前值。上述reconnect方法再次发送初

node.js - "Cannot GET"从 Nginx 反向代理到 express.js 上的 socket.io

我关注了thistutorial让Node.js通过私有(private)网络在两台Ubuntu14.04服务器上通过Nginx工作(Node.js在myappserver上-可通过私有(private)IPmyprivatewebserver访问,并通过mypublicappserver公开访问-并且Nginx在mywebserver上)。到目前为止一切正常-我可以通过Nginx访问myprivateappserver:3000上的node.js应用程序,方法是转到http://mywebserver/node.但是,当我尝试运行chatapplication在express.js上

java - 如何使用 socket.io 发送二进制数据?

所以我在node.js(Js客户端和Android客户端)中使用socket.io发送二进制数据时遇到了问题。没有太多信息:http://socket.io/blog/introducing-socket-io-1-0/http://socket.io/get-started/chat/我需要使用socketio来发送我创建和填充的二进制数组。他们给出的唯一代码如下:varsocket=newWebSocket('ws://localhost');socket.binaryType='arraybuffer';socket.send(newArrayBuffer);我的答案如下。

node.js - AWS 应用程序负载均衡器和 socket.io

我有一个正在运行的socket.io聊天室,当我们在一台机器上运行时,它的流量越来越大。我们已经使用ws库对套接字进行了基准测试,它们的性能确实要好得多,这将更好地利用我们的硬件。不过,这将以不得不重写我们的应用程序为代价。我们的socket.io应用程序允许用户创建使用命名空间实现的私有(private)聊天室。例如localhost:8080/room/1localhost:8080/room/2localhost:8080/room/3当一切都在一个实例中时,这很容易,但现在我们正在寻求将这种能力扩展到多个Node。我们在亚马逊的云中运行这个实例。以前看起来扩展websocket

node.js - Socket.io 是否保证按客户端顺序接收广播事件?

Socket.IO中是否有某种排序机制可以保证客户端按顺序接收事件?例如:如果服务器向客户端A发送事件Evt1,并且服务器向所有客户端广播Evt2。因此客户端A收到Evt1然后是Evt2并且仅按此顺序。我的猜测是否定的,如果是这样,您将如何实现它,或者是否有现有的解决方案? 最佳答案 由于之前的答案可能具有误导性,我认为澄清一件事很重要:将Socket.io与WebSockets一起使用时,可以保证保持数据包顺序。这是一篇旧文章,但值得注意的是,WebSockets实际上上的Socket.io保证了事件顺序得到维护。这是因为TCP本

javascript - Socket.Io 传输轮询错误

我在使用socket.iov1.3.2时遇到传输错误。这只是对socket.io的测试,所以我可以熟悉它。我有一个文件app.js(直接取自socket.io文档):varapp=require('http').createServer(handler);vario=require('socket.io')(app);varfs=require('fs');app.listen(3000);functionhandler(req,res){fs.readFile(__dirname+'/index.html',function(err,data){if(err){res.writeHe

node.js - 在 socket.io 中使用代理时未获取远程地址

在我的socket.io代码中,socket.sockets.on('connection',function(client){varip=client.handshake.address.address;..}ip总是返回127.0.0.1,这是因为服务器位于代理后面。如何正确获取远程地址?编辑:我正在使用http-proxy 最佳答案 是的,这对我有用。client.handshake.headers['x-forwarded-for']||client.handshake.address.address;我正确获取了远程IP地

node.js - 尝试在 Heroku 上部署 Node.js/Express/Socket.io 应用程序时出现应用程序错误

我对所有这些技术(包括一些JavaScript)都很陌生,所以你可能不得不在这里忍受我。我非常密切地按照Socket.IO文档中的ChatApp教程进行操作,并根据自己的喜好对应用程序进行了一些修改;但是,我认为我在服务器交互和其他方面没有太大变化。我的问题是无论我做什么,我似乎都无法让我的应用程序在Heroku上成功运行。尝试加载应用程序时收到此错误消息:ApplicationErrorAnerroroccurredintheapplicationandyourpagecouldnotbeserved.Pleasetryagaininafewmoments.Ifyouaretheap