Tag: socket.io

任何人都可以向我解释关于socket.io/nodejs中的“volatile”消息吗?

在新的socket.io v0.7中,有一个新的特性“易失性消息”。 在“如何使用”中,他们这样写:(在http://socket.io/#how-to-use ) 发送易失性消息。 有时某些消息可能会被丢弃。 比方说,你有一个应用程序,显示关键字bieber实时>鸣叫。 如果某个客户端没有准备好接收消息(由于networking缓慢或其他问题,或者因为他通过长轮询连接并处于请求 – 响应周期的中间),所以如果他没有收到所有消息与您的应用程序相关>不会受到影响。 在这种情况下,您可能需要将这些消息作为易失性消息发送。 正如我认为的波动是不一致的东西,为什么他们告诉我们应该使用不稳定的消息的消息types,我们不能错过? 默认消息呢? 我必须做些什么来确保信息将传达给客户? 另外,我也想问一下关于多式联运的问题。 我在v0.7中没有看到它在传输列表中。 被删除了吗?

如何实现Socket.IO与ASP.Net,IISNode,Node.JS和SQL Server的基于事件的推送通知?

对于通知项目,想推送事件通知。 这些都是login,更改个人资料等,并显示给适当的客户。 我想讨论一下把它放在一起的一些想法,并就最好的方法得到一些build议。 我在这里注意到,对CouchDB所做的更改可以通过由Node拾取的_changesstream来检测,并且一个进程将启动。 我想实现这样的事情(我正在使用SQL Server,但是在这个级别的入口可能不是最好的解决scheme)。 我没有遵循CouchDB的例子(检测基于数据库的事件,我认为这只是复杂的事情,因为我们感兴趣的是客户端事件),我认为,当一个事件发生,如用户login,然后发送一条消息给节点服务器一些事件细节(RESTful请求?)。 然后处理该消息并将其广播给所有连接的客户端; 适当的客户端显示通知。 build议的生态系统: .Net 4.0 IIS IISNode Socket.IO Node.js的 SQL Server 2008 这将build立在使用.Net框架(IIS等)的现有项目之上。 许多客户的浏览器不支持networking套接字,所以使用Socket.IO是一个不错的select(后备支持)。 但是,从我所看到的 ,Socket.IO只支持通过IISNode长轮询(这不是一个真正的问题)。 一个选项是将Socket.IO/Node端点公开给所有客户端,以便基于客户端的通知可以通过JS发送到广播消息的节点服务器。 (遵循基本的聊天服务器/客户端/服务器示例)。 或者,可以使用IIS端点,但只能支持长轮询(通过Socket.IO)。 这将提供一些附加的.Net后端处理,但可能会使架构过于复杂。 是否有基于SQL Server的事件通知可用于节点? 什么是最好的方法? 如果我没有得到术语生态系统configuration权,请澄清。 谢谢。

Socket.io,socket.set()和套接字属性之间的区别?

Socket.io推荐设置每个套接字variables,如下所示: socket.set('foo', bar, function () {}); variables也可以在套接字上设置和访问: socket.foo = bar 使用提供的set()函数有没有好处?

Dart Nodejs和Socketio

我有什么select将socketio nodejs应用程序转换为dart? 有没有支持使用飞镖nodejs服务器(理想的情况下,飞镖编辑器的所有奇特的debuggingfunction)? socketio有一个基于飞镖的图书馆吗?

node.js样板+最佳实践

我刚接触node.js,刚开始 我在一个很好的node.js样板和最佳实践,如编码devisepattrens(例如dependency injection,等等..我读了道格拉斯克罗克福德JSdevisepattrens不是一次..但希望看到节点的差异)name-spacing – 与目录结构等。 关于node.js堆栈,据我所知: expression – 必须 asynchronous – 必须(stream量控制) dnode – ? socket.io – websocket nowjs – 很喜欢使用它,但据我所知,缩放版本将不会免费(“我们即将授权分布式版本的NowJS目前正在开发中,请联系我们sales@nowjs.com”) 下划线+主干 – ? DB层 – ? 模板 – 我使用handleBars – jquery是必须的 require.js – (我不想使用commonJS …不知道如何在服务器上的集成工作) 那么从libs列表中添加/删除什么?在哪里可以find一个专业的样板? 和任何其他相关的提示。 提前致谢!

Socket.io聊天教程无法正常工作

所以我最终决定给Node.js一个镜头。 我决定与一个小型聊天应用程序打破冰。 我正在遵循的教程直接来自socket.io站点。 http://socket.io/get-started/chat/ 我一直在跟随教程,甚至试图将代码复制并粘贴到源代码中,当我input文本并发送时,我没有收到任何地方的代码。 这应该是在我的命令提示符,但事实并非如此。 我有用户连接和用户断开连接的消息出现,但我难住这一个,因为我一步一步地跟随教程。 Index.js var app = require('express')(); var http = require('http').Server(app); var io = require('socket.io')(http); app.get('/', function(req, res) { res.sendFile('/chat/index.html'); }); io.on('connection', function(socket){ socket.on('chat message', function(msg){ console.log('message: ' + msg); }); }); http.listen(3000, function() { console.log('Listening on *:3000'); }); index.html的: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>Chat</title> <script src="/socket.io/socket.io.js"></script> […]

没有http服务器的Socket.IO?

我目前正在与Socket.IO来回nodejs共享服务器和一些客户端之间的一些实时信息。 客户端只能与服务器通信,而不能与对方通信。 在Windows上一切都很好,我可以共享信息,但是因为它把事情放到一个linux vps上,所以我得到了一个问题,他启动了一个ipv6套接字,这使得我很难从socket连接到客户端浏览器库。 IO 我像这样启动服务器: io = require('socket.io').listen(3000); 这工作得很好,我可以连接。 现在在Linux的VPS我试图通过使用这样的ipv4地址防止ipv6 io = require('socket.io').listen(3000, '0.0.0.0'); 但是这不起作用,不是在Linux上,而不是在Windows上。 他没有绑定套接字的IP我想要它,除非我使用http服务器是这样的: http = require('http').createServer().listen(3000, '0.0.0.0'); io = require('socket.io').listen(http); 现在我的问题是,我必须使用http服务器来解决绑定套接字到正确的本地IP和端口的问题还是有任何其他的解决scheme吗? 而且,在我的第一行代码中,socketio在后台启动了一个http服务器,因为它是一个web套接字,还是socketio在没有http服务器的情况下工作? 非常感谢你 :)

确认socket.io自定义事件

我正在寻找一种方法来确认socket.emit调用。 socket.emit('message', msg); 我已经看到一个机制是接收器将发送另一个自定义事件作为承认,但这将增加数以千计的传输在我的聊天应用程序。 请build议一个有效的方法。

列出所有连接到Socket.io版本> 1的房间的客户端

io.sockets.clients()方法从更高版本的Socket.io中折旧后,我的研究在socket.io官方web上找不到任何文档。 此外,它给客户()方法的types错误如下: TypeError: undefined不是一个函数 有没有人想出了如何使用更高版本的Socket.io在一个房间里列出所有连接的客户端?

Node.js对象不是一个函数 – module.exports

我有一个为node.js应用程序创build的模块。 该应用程序还使用socket.io,我想在创build它时将socket.io对象传递给拍卖对象。 这在我在Node外部工作时,但在里面,我得到的错误'对象不是一个函数' – 我的猜测是它与module.exports有关,但我相信它会是什么。 任何build议将是真棒 – 谢谢! auction.js var Auction = function(socket) { this.data = []; this.timer = null; this.socket = socket; } Auction.prototype = { add: function(auction) { this.data.push(auction); } } module.exports.Auction = Auction; server.js: var Auction = require('./lib/auction'); var auctions = new Auction(socket); 错误:TypeError:object不是Object.CALL_NON_FUNCTION_AS_CONSTRUCTOR(native)处的函数