2

我已经进行了一次聊天,可以通过 Telnet 进行连接。我的聊天当前实现为 Twisted TCP 服务器。如何将其转换为浏览器的聊天?

我想我应该使用彗星服务器(例如 Orbited)来同时提供静态 HTML 和动态内容。这样的彗星服务器是否需要快速可靠的聊天?

4

2 回答 2

1

Comet 是最好的选择,无需使用任何特殊的东西(如 Flash,见下文)。这是一项经过验证的技术,已被许多大型网站使用,例如 Gmail 的聊天和 Facebook 的聊天。

您唯一的其他选择是轮询,但这有时会在服务器上变得有点紧张。您基本上必须权衡服务器负载与速度 - 如果您经常轮询,您会得到一个响应速度非常快的客户端,但是您在服务器上放置了很多负载。轮询太少,您会保持负载轻,但客户端只能每n秒接收一次消息,因此看起来很慢。

如果您决定进行轮询,您总是可以创建一个“退避”系统。例如,该页面每 2 秒检查一次是否有任何聊天消息发送。它这样做了 5 次,如果什么都没有,它将延迟增加到 3 秒。它这样做了 5 次,然后什么也没做,它会持续 4 秒..等等。当发送聊天消息时,它会返回到最短延迟。

另一个更好的选择是使用 Flex 或 Flash 客户端。这样,您可以只使用仅发送数据(如果有)的 TCP 套接字。但前提是您真的想要在您的网站上安装 Flash 应用程序。

于 2009-04-14T13:34:35.053 回答
0

是啊,就是!检查www.meebo.com!他们使用彗星作为他们的基本平台!

于 2009-04-14T13:28:33.197 回答