Tag: 实时

websocket,socket,io,sockjs,meteor…如何做出select的困惑今天

我即将做出一个协作编辑应用程序的决定。 我调查了websockets,坦率地说我很困惑。 这里我的发现迄今为止: 有很多关于websocket的文章 – 但是很多是2009年的,2010年的…通常有信息,websockets不能在所有的浏览器和/或实现蹩脚的function不全…今天的地位是什么? 有很多的框架 – 但主要是节点。 我们的应用程序是在RoR中,Eventmachine / em-websocket看起来已经有一年了 – 是否仍然会满足今天的要求? Socket.io,SockJS,meteor…有这么多,我将无法尝试所有,但我做了一些与SockJS的第一次试验。 我们的应用是二进制数据的协作编辑; 多个用户可能正在编辑同一个文档,而多个用户可能同时在不同的文档上工作。 因此,可伸缩性是关键; SockJS似乎不能扩展超过一个服务器(粘性会话)。 此外,客户需要同行更新 – 我是否需要广播设施? 我需要redis吗? 我想我的问题可以归结为: 对于我们的应用程序,我应该直接使用websockets并自定义还是使用框架? 如果一个框架,哪一个更适合我们的特定需求? 我知道这些问题有点含糊,但我首先想了解技术在何处做出正确的决定。 谢谢!

在Java中创build一个实时协作记事本

背景:我想创build一个记事本类似的应用程序,其中多个人可以编辑一个文件/记事本。 我已经创build了graphics界面,现在想开始研究它的多用户协作部分。 问题:如何从一个客户端的文本框中获取文本以转到另一个客户端的文本框。 我会使用套接字吗? 我将在哪里存储将与所有客户共享的文本? 我将不得不使用/做什么来创build一个function齐全的实时协作文本框。 这是一个很好的起点,我可以从中研究? 例如:Etherpad.com / Titanpad.com / Piratepad.com或Docs.Google.com(除了我想创build一个桌面应用程序,而不是一个网站) 解决在答案中出现的一些问题: 用户如何select他们想要编辑的文档:是的 用户如何创build新文档:通过在主菜单中select新文件选项 如果许多用户试图一次编辑同一个文档,会发生什么? :他们都被允许编辑文件。 用户是否需要点击“保存”button才能反映更改? 否,变更应同时反映 用户是否需要login? :是的 任何人都可以编辑任何文件,或有访问限制吗? :有限制,即。 文档的创build者可以阻止用户编辑文档..

audio操作使用node.js

我的团队已经在产品中使用了Web Audio API / Getusermedia,并且我们正在和Chrome和Firefox用户开展合作。 但是我们仍然有很大的用户群,但是由于技术上的障碍,我们仍然不能(主要是那些IE用户),因为他们的主要浏览器不支持这项技术,而且他们也不或者不能更改为现代浏览器。 我们正计划去那些用户,但我们不想去Flash,Flex,Silverlight或类似的东西。 所以,考虑解决scheme,我想如果我把audio操作从浏览器移动到服务器,也许我可以通过这个难题。 当试图找出如何做到的时候,NodeJS是第一个答案。 是否有可能使用NodeJS来完成? 有没有可以帮助我们完成这个任务的图书馆? 有没有其他技术可以让我做到这一点? 谢谢任何人可以帮助。

Mongoose(或类似的ODM)内存中的loggingregistry?

规范 我有一个拥有一系列logging的MongoDB,为简单起见,我们称它们为operations 。 其中一些operations正在运行,而每个正在运行的操作都包含一系列实时到达的events 。 我通过socket.io实时发布这些事件,并提供一个旨在提供最新事件列表的API端点。 目前的情况 看到事件快速到来(高达每秒数千次),在logging(在这种情况下,我使用Mongoose作为对象映射器)对每个传入事件来说似乎.save()是最理想的。 目前的情况是我.save()了.save()调用只能每2秒执行一次。 正因为如此,每当operation正在进行时,按需列表总是在实时stream的后面0到2秒之间的任何地方。 build议的优化 我正在考虑实现一个内存“registry”,这些registry对所有正在运行的operations都有引用(在可预见的未来将会有不超过10个同时运行的操作,所以不要担心内存限制。 每当请求到达时,“registry”将首先被searchlogging,如果find,最新版本将从那里被提供。 如果没有,它实际上会查询数据库。 tldr:由于调用model.save()调用,实时和按需事件之间的差距,所提出的优化是对logging的特定子集使用内存中存储。 这个问题 这是一个有效的优化,还是我错过了Mongoose的观点,也许忽略了其他更可行的解决scheme?

间隔发送消息到websockets

我试图build立一个“查看最近的search”function到我的网站。 本质上,我想每5秒钟在网站上显示一个新的最近的search。 做这个的最好方式是什么? 我正在考虑让每个页面通过socket.io连接到我的服务器,然后每隔5秒向所有套接字广播一个关于新search的消息。 在客户端,当从套接字服务器接收到消息时,我将使用一些客户端JavaScript来更新网页的最近search部分。 是这样做的最好方法吗? 如果是这样,我该如何执行? 我正在使用node.js / express。

带有mongodb和nodejs的实时networking应用程序

我一直在想如何使用nodejs / socket.io / mongodb制作一个实时的Web应用程序。 这个想法非常类似于谷歌文档,其中在一个页面上编辑的对象被发射并在所有客户端浏览器上重新渲染。 什么是最好的方式去做这个? 从我读过的,我可以想到3种方法: 1)使用mongodb oplogs 为MongoDB集合添加一个“侦听器”,每当对集合进行更改时,都会重新渲染页面的某些部分(缺点:慢?) 2)使用本地json 检索mongodb数据到json文件中,使用fs编辑,保存到mongodb并删除json完成后(缺点:在数据库和实际应用程序之间有额外的层) 3)使用纯粹的socket.io 无需存储即可保存,仅在所有更改完成后保存(缺点:在所有浏览器中文件可能无法正确显示) 有没有更好的方法来实现这一目标? (谷歌文档如何工作?)真的很感谢任何人都可以提供的帮助!

意外的回应码:200

我想学习如何做一个基于networking的实时多人游戏 ,最近,我发现了这个,并尝试了它。 花了我很多时间来了解它,因为我没有js,websockets和节点的背景。 无论如何,我已经做了博客的大部分,但我一直得到这个错误。 以下错误显示在JavaScript控制台上: WebSocket连接到'ws://localhost/socket.io/?EIO = 2&transport = websocket'失败:WebSocket握手期间出错:意外的响应代码:200 我已经启动了游戏服务器: C:\xampp\htdocs\node game.js ,它只显示像这样的_ ,一个下划线闪烁。 茫然无知,但我已经阅读了与问题类似的问题,他们说这样的问题已经在起作用了,但不仅仅是展示了一件不是什么坏事。 如果有人知道如何解决这个问题,请回复。 这将是非常感激。

我应该使用Node.js而不是Rails的实时WebApps?

我正在构build一个复杂的Web应用程序,这个应用程序必须使用实时数据并向用户显示数据。 鉴于我更习惯于Rails,我想知道是否有一个很大的优势转储轨道,并使用node.js来构build应用程序,或者如果有一种方法,我可以在Rails中的Node.js的实时优势。 更好的是能够使用Node.js和Rails。 这是可能吗? 谢谢

如何显示连续的实时更新,如Facebook的股票,meetup.com主页呢?

如何显示连续的实时更新浏览器,如Facebook的股票,meetup.com主页呢? 在python,PHP,node.js和在服务器端的性能影响是什么? 如果页面被像akamai这样的CDNcaching,我们又怎么能实现同样的更新呢?

如何在node.js中获取关于客户端的信息

在这个非常简单的例子中: var sys = require("sys"), http = require("http"); http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.end("Hello World!"); }).listen(8080); sys.puts("Server running at http://localhost:8080/"); 1.)我可以从客户那里得到什么样的信息? 像浏览器,屏幕分辨率等? 2.)我怎样才能从客户端发送信息到服务器,如参数? 谢谢!