- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试为 Comet 设计一个实用的客户端 (JavaScript) 实现。 http://en.wikipedia.org/wiki/Comet_(programming) ) 谈论理论,但我很难找到一个可行的实现。我知道这里也有很好的服务器端要求,但我只对它的客户端部分感兴趣。
具体来说,我要回答的问题是 -
我尝试寻找 Comet 框架,但我发现的每个框架(CometD、Atmosphere)等都带有服务器端实现,并使客户端交易对用户透明。然而,我正试图找出他们如何实现客户端的壮举。我有自己的服务器实现和协议(protocol)。
最佳答案
以下是我公司解决这些问题的方法:
1) 如果您可以在不立即收到错误的情况下建立连接,则您必须假设连接已建立。如果您没有立即收到响应(无论是坏的还是其他的),您只需要假设它在工作......这会导致一些艰难的管理客户端,因此明智地使用序列 ID 很重要。
2) 马上再试一次。通常服务器会在客户端超时之前超时,并返回一个错误代码告诉您发生了什么。只需确保为服务器端的轮询时间使用合理的设置,例如 20 秒。
3) 您必须使用与对同一服务机器的其他请求不同的域名并使用 jsonp。例如,如果您的页面是从 example.com 托管的,则通常有一个 chat.example.com 子域,因为大多数浏览器一次只允许 3 或 4 个打开连接到同一域名。由于同源政策,Jsonp 是必需的。除此之外:测试、测试、测试。
Ryan Dahl(node.js 的创建者)在这里实现了一个非常简单的聊天客户端/服务器:https://github.com/ry/node_chat
祝你好运!
关于javascript - Comet 的客户端技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9650375/
我想测试它可以支持多少个连接。 我正在使用轨道,特别是流媒体,而不是长轮询。 最佳答案 Webload是你正在寻找的东西。 关于comet - 如何对 Comet 服务器进行压力测试?,我们在Stac
我看到 Akka 模块的描述说 Play有很好的 Comet 支持,但我从未使用过 Comet之前,我在 Play 的文档中找不到任何提及。它在 Play 中是如何工作的? 我花了两天多的时间来解决这
我尝试设置 comet ( https://www.comet.ml ) 来跟踪我的 Tensorflow 实验,在创建实验并记录数据集后,我在报告中无法获得准确性。 我的代码: mnist = ge
我正在尝试设置 https://www.comet.ml记录我的实验细节 出现奇怪的错误: Traceback (most recent call last): File "train.py",
我正在运行来自 Comet github project 的 keras 示例. 我添加导入并创建一个新实验: def train(x_train,y_train,x_test,y_test): mo
在 Comet/Reverse Ajax/PubSub 底层技术/基础是 Long polling。所以连接保持打开一分钟左右.. 根据我对网络和操作系统的了解,TCP/IP 仅支持 65535 个端
您与 Websync 合作的体验如何? ( cometd 框架)?在使用它之前,您是否考虑过任何替代方案? 到目前为止我可以说 优点: 非常简单易用 不需要任何服务器配置 缺点: 昂贵(结果为我们节省
我正在考虑编写一个需要能够将消息推送到浏览器的实时网络应用程序。当我第一次阅读 Comet 时,由于浏览器支持薄弱,人们似乎认为它是一种脆弱且不成熟的方法。今天,它似乎是一种既定又实用的技术。但据我所
我需要一些 linux 大师的帮助。我正在开发一个包含 cometd 服务器的网络应用程序。 Comet 服务器在 localhost:8080 上运行,并公开 url localhost:8080/
我读过一些关于这个主题的帖子,答案是 comet、反向 ajax、http 流、服务器推送等。 How does incoming mail notification on Gmail works?
我正在使用 JSONP 进行长轮询,firefox 不断弹出“正在加载”微调器,使页面看起来好像还没有完成加载。有没有办法抑制这种情况? 有人告诉我,Orbited 团队有一些技巧可以抑制这种情况,但
我有一个用 Twisted 编写的简单 cometd 服务器。它打印出时间戳。我还有一个小型静态网络服务器在同一端口上运行。所服务页面上的 JavaScript 尝试通过附加来自 Comet 服务器的
我断断续续地学习 Scala 一段时间,并成功地建立并运行了一个简单的实时发布系统。 我想知道是否有人可以帮助我在正确的方向上通过 JSON 将数据更改推送到我正在运行的几个 javascript 模
我正在尝试为 Comet 设计一个实用的客户端 (JavaScript) 实现。 http://en.wikipedia.org/wiki/Comet_(programming) ) 谈论理论,但我很
我听说我可以使用 Comet作为服务器推送技术与我的 Ajax 代码一起提高我的 Web 应用程序的性能。 这项 cometd 技术有多成熟? 是否所有网络服务器、编程语言和浏览器都支持它? 使用 C
对于一个社交网站,我们使用基于 node.js 的 Comet 服务器作为即时通讯工具,一切都运行良好,我们只有一个问题如何解决澳大利亚和新西兰的延迟问题,我们的 RRT 在 310 毫秒到 440
我一辈子都弄不明白像 Cometd 或 simple-comet 这样的应用程序的目的是什么,而不是像使用 php 的简单长轮询请求和使用这样的代码的无限循环 $time = time(); whil
这更多是出于好奇和“供将来引用”,但 Comet 是如何在数据库端实现的?我知道大多数实现使用长生命周期 HTTP 请求来“等待”直到数据可用,但这是如何在服务器端完成的? Web 服务器如何知道新数
我一直想知道使用 COMET/推送技术是否比使用长请求的更简单的轮询有真正的优势,在轮询中服务器将等待特定的最长时间以等待新事件发生,然后再告诉客户端什么都没有发生. 这两种技术都有相似的客户端延迟,
我想编写一个实时聊天应用程序,需要决定使用哪些技术。 这些技术之间有什么区别,您更喜欢哪一种,为什么? WebSockets 不是一种选择,因为它还没有准备好在野外战斗 谢谢 最佳答案 您应该阅读问题
我是一名优秀的程序员,十分优秀!