Tag: websocket

socket.io正式客户端连接问题?

我正在使用iOS 8和Swift。 我想使用官方socket.io客户端,但由于某种原因,它不会尝试连接。 我遵循这里给出的例子: https : //github.com/socketio/socket.io-client-swift let socket = SocketIOClient(socketURL: "\(CurrentConfiguration.serverURL)") socket.reconnects = true socket.reconnectWait = 10 socket.nsp = "/messagelist" // Connect socket.connect() socket.onAny {println("got event: \($0.event) with items \($0.items)")} socket.on("connect") {data, ack in println("socket connected") } socket.on("error") {data in println("socket ERROR") println(data) } 任何人都可以确认吗? 这是一个版本问题,或者可能涉及到Swift 1.2? 在服务器端,我甚至不能识别连接尝试。 variablesserverURL和我以前一样

WebSockets vs XHR的大量数据

我在NodeJS上运行SocketIO,我并不关心广泛的浏览器支持,因为它是我的宠物项目,我希望利用新技术的所有function来简化开发。 我关心的是如何从服务器向客户端发送大量的JSON数据。 那么,这些数量并不像video或图像二进制数据那么大,我认为每个请求不会超过几百KB。 我看到的两个场景是: 通过WebSockets从服务器发送一个通知给客户端,一些数据应该被获取。 然后客户端代码运行一个普通的XHR请求到服务器,并通过XHR获取一些数据。 通过WebSockets从服务器发送整个数据集到客户端。 在这种情况下,我不需要运行任何额外的请求 – 我只是通过WebSockets获取所有的数据。 我看到了Meteor.js的第一个例子,所以我想知道它的原因。 请分享您的意见。

PhoneGap应用程序中使用Node.js / Socket.IO服务器和客户端的Android版WebSockets

我正在PhoneGap中创build一个Android应用程序。 我想要做的是让应用程序通过WebSockets与我的Node.js服务器通话。 我的Node.js服务器使用Socket.IO,当我打开应用程序时,它会自动返回到轮询状态,与桌面的Chrome应用程序相反,它很高兴地打开一个WebSocket并通过它进行通信。 我读过关于将实际的WebSocket API与Phonegap集成的博文。 问题是我不是手动重写'onConnect,onMessage'函数,而是Socket.IO为我做了这一切。 有什么方法可以将WebSocket集成到我的Android Phonegap应用程序中吗?

如何扩展Node.js WebSocket Redis服务器?

我正在为Acani写一个聊天服务器,而且我还有一些关于使用负载均衡器可伸缩性来扩展 node.js和websockets的问题。 究竟是什么意思来负载均衡Node.js? 这是否意味着将有n个独立版本的服务器应用程序运行,每个版本都在一个单独的服务器上运行 为了允许一个客户端向所有其他客户端广播消息,我存储了一组在服务器上打开的所有webSocketConnections 。 但是,如果我有我的服务器应用程序运行n个独立版本,每个在一个单独的服务器上,那么我将有n套不同的webSocketConnections ? 如果1和2的答案是肯定的,那么如何存储通用的webSocketConnections (跨所有服务器)? 我想我可以做的一个方法是使用Redis Pub / Sub,并且每个webSocketConnection订阅Redis上的一个频道。 但是,那Redis服务器不会成为瓶颈吗? 那么我将如何扩展Redis? 这对Redis的规模意味着什么? 这是否意味着我有不同的服务器上运行Redis独立版本? 这甚至可能吗? 我听说Redis没有扩展。 为什么有人会这么说呢。 那是什么意思? 如果这是真的,有没有更好的解决scheme发布/分发和/或存储所有广播的消息列表? 注意:如果你的答案是Acani永远不会规模化,那么即使地球上70亿人(和成长中的每一个人)都要每秒钟向地球上的每个人传播一个信息,那么请给出一个有效的解释。

如何将一个懒散的机器人扩展到1000个团队

为了实现一个懒散的机器人,我需要处理冗余的“实时消息API”。 这是一个基于WebSocket的API,它允许您实时接收Slack的事件并以用户身份发送消息。 更多信息: https : //api.slack.com/rtm 为了只为一个团队创build一个bot,我需要打开一个websocket连接并听取事件。 为另一个团队提供松散的机器人。 我需要打开一个新的websocket连接。 所以, 1队=> 1个websocket连接 2队=> 2个websocket连接 N个团队=> N个websocket连接 我应该做什么来扩展我的websocket连接为无尽的团队? 什么样的架构可以处理1000个websockets连接的自动调节?

在Socket.IO中,'心跳'是一个可以用来触发其他操作的事件吗?

这个确切的代码不起作用,但是,我希望是这样的: io.sockets.on('connection', function(socket) { socket.on('heartbeat', function() { // Do something here… }); }); 是这样的可能吗? 我的意思是,我知道我可以做一个不同的函数,使用setInterval触发每个15秒: io.sockets.on('connection', function(socket) { setInterval(function() { // Do something },15000); }); 但是由于心跳已经在这个时间间隔,所以为什么不使用它呢? 无论如何,任何洞察力将不胜感激。

NodeJS水平缩放

我一直是ruby / php web应用程序开发人员,我已经习惯了服务器实例水平扩展的想法来处理更多的请求。 水平缩放 – 表示位于负载均衡器后面的应用程序的单独实例,它们不共享任何内容,也不知道对方。 我的主要问题是,因为Node.js和它的重点evented-io允许运行一个node.js服务器来处理“数以千计的”同时请求的单个框 – 负载平衡/水平缩放用于扩展nodejs应用程序? 缩放一个节点应用限于垂直缩放(抛出更多的RAM /处理能力的问题)? 我的第二个问题与node.js水平缩放和websocket有关。 我已经看到了很多使用websocket的Node.js“聊天”教程。 (最喜欢的: http : //martinsikora.com/nodejs-and-websocket-simple-chat-tutorial ) 由于websockets在浏览器和服务器之间有效地保持了开放的通信线路,所以PHP / Ruby世界中典型的水平缩放体系结构会导致类似链接中解释的聊天应用程序断开 – 因为新的websocket连接请求将会分配给不同的进程/服务器,并且没有一个中央资源跟踪所有连接的客户端?

Socket.io替代

我提前道歉,这可能会被标记和封闭作为一个基于意见的线程,但这纯粹是一个事实调查的使命。 我对networking套接字的世界很陌生 ,我知道的唯一信誉良好的库是socket.io,并且该网站正在closures,因此我正在借此机会发现另一个库。 我正在构build一个MEAN应用程序,我希望能够在客户端和中央服务器之间进行通信,这些都是实时的,这就是socket.io会起作用的地方,但是还有其他的select我应该知道吗? (我的服务器是用Express 4编写的)

如何将二进制数据从Node.js socket.io服务器发送到浏览器客户端?

我一直在浏览整个Socket.IO文档,但是,尽pipe他们承诺它在那里,但我找不到一个简单的例子,即如何在服务器/客户端之间发送二进制数据。 它是如何完成的?

如何编写一个websocket客户端

我试图在node.js上unit testing我的websocket,并想模拟一个websocket客户端。 我可以创build一个只连接到我的服务器的HTML文件,但是我不能在服务器上运行一个testing。 我将如何去(使用http.Client或net.Stream )创build一个websocket客户端,并与我的服务器交互。 我正在瞄准websocket规范(即将死亡)的草案76。 我正在使用的服务器端实现是这样的