Tag: socket.io

什么是使用Socket.IO的主要场景

只是想知道为什么我们需要从哪种应用或案例的angular度来看Socket.IO 。 我是iOS开发人员,了解开源项目socket.IO-objc 通常我们需要HTTP或HTTPS来与服务器通信,套接字的目的是达到实时通信(应该始终保持来自HTTP的活动)

meteor的兼容性

我正在考虑使用meteor来创build我的下一个应用程序,但我之前有几个问题。 从我所了解的服务器和客户端之间的通信使用DDP协议/ WebSockets。 什么浏览器支持meteor? Meteor通信协议和socket.io有什么区别? 如果没有区别,是否有可能使用socket.io而不是原生的Meteor DDP协议/ WebSocket? Meteor是否可以与Yeoman结合使用(由Paul Irish开发的工作stream框架)? 提前谢谢你!

使用Express框架的Node.js中的自定义事件

所以,我想知道如何在node.js中创build自定义事件,而且我打了一堵墙。 我很确定我误解了关于expression式的工作原理以及node.js事件如何工作。 https://creativespace.nodejitsu.com这就是应用程序。 当用户创build一个新的“活动”(会发生很多次的事情),他们发送一个POST请求。 然后在我的路线,如果这个POST成功,我想发出一个事件,告诉socket.io为该活动创build一个新的命名空间。 在我的路线文件中: var eventEmitter = require('events').EventEmitter; // Tell socket.io about the new space. eventEmitter.emit('new activity', {activityId: body.id}); 和socket.io: // When someone creates a new activity eventEmitter.on('new activity', function (data) { // this gives and error var newActivity = '/activity?' + data.activityId; io.of(newActivity).on('connection', function (socket) { // Socket.io code for an activity […]

在socket.io中pipe理多个选项卡(但同一用户)

我有一些socket.io的问题,我不知道如何解决它。 我有一个与socket.iologin系统的应用程序来pipe理用户交互。 另外我有一个数组来pipe理所有活动的websocket会话。 这个数组存储一个session.id =>用户名。 当用户使用相同的页面(或使用websocket的不同页面)打开新选项卡时,问题就开始了。 这会在数组中导致重复的用户名input。 {id1, username} {id2, username} 当套接字向用户发送消息时,它只发送给数组的第一个会话ID,所以只有一个选项卡接收消息。 我试图改变新连接的套接字ID以匹配其他,但它不起作用。 socket.id = sessionId of the other websocket; 我认为另一个解决scheme是将信息发送给所有公开会议,但我认为这不是最好的方式。 谢谢。

Socket.io – 失败:连接在收到握手响应之前closures

用于NodeJS的Socket.io似乎不能用作websocket服务器 出于某种原因,socket.io总是回退到长轮询,如果我强制websocket传输层,它会出错: 失败:连接在收到握手响应之前closures 正确的端口是开放的。 我正在使用来自socket.io的聊天示例 。 我在http://jmi.io:3000上设置了服务器。 正如你所看到的,它可以很好的与一个美丽的长轮询频道,但现在尝试websocket客户端的websocket连接和… WebSocket连接到'ws:// jmi:3000 /'失败:连接在收到握手响应之前closures 我只有一个节点单线程并具有完全相同的package.json比聊天示例回购。 { "name": "socket-chat-example", "version": "0.0.1", "description": "my first socket.io app", "dependencies": { "express": "4.3.1", "socket.io": "1.2.0" } } 感谢您的帮助

socket.io客户端可以连接到两个不同的服务器/端口吗?

socket.io客户端可以连接到同一台服务器上的两个不同端口吗? 可以socket.io客户端连接到两个不同的服务器?

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中是否有特殊的方法? 感谢您的回答!

Chrome中的“意外回复代码:503”。 也许与heroku上的socket.io有关?

我在Heroku上使用socket.io和node.js。 一切似乎工作。 但是,在Chrome开发吧,我得到Unexpected response code: 503 。 有谁知道这可能意味着什么? 我应该关心它吗? 它会占用浏览器的内存吗? 如果是的话,我可以压制它吗?

Socket.io + Node.js跨域请求被阻止

我正在使用node和socket.io来编写一个聊天应用程序。 它在Chrome上工作正常,但Mozilla提供错误以启用跨源请求。 跨源请求被阻止:相同来源策略不允许阅读http://waleedahmad.kd.io:3000/socket.io/?EIO=2&transport=polling&t=1401964309289-2&sid=1OyDavRDf4WErI-VAAAI的远程资源。 这可以通过将资源移动到相同的域或启用CORS来解决。 这是我的代码来启动节点服务器。 var express = require('express'), app = express(), server = require('http').createServer(app), io = require('socket.io').listen(server), path = require('path'); server.listen(3000); app.get('/', function(req, res) { res.sendfile(__dirname + '/public/index.html'); }); 在客户端。 var socket = io.connect('//waleedahmad.kd.io:3000/'); HTML页面上的脚本标记。 <script type="text/javascript" src="//waleedahmad.kd.io:3000/socket.io/socket.io.js"></script> 我也在应用程序根目录中使用.htaccess文件。 (waleedahmad.kd.io/node)。 Header add Access-Control-Allow-Origin "*" Header add Access-Control-Allow-Headers "origin, x-requested-with, content-type" Header add Access-Control-Allow-Methods "PUT, […]