【发布时间】:2010-10-17 22:26:08
【问题描述】:
我正在尝试使用 javascript 编写一个聊天客户端,但我只能使用 XMLHttpRequest 与服务器通信,这阻碍了我,据我所知,这完全不合适,正如许多人告诉我的那样。
我已经寻找过其他网络功能,但没有找到,并被告知没有。这几乎足以让我停止寻找,除了 Gmail 似乎以某种方式这样做。它在几分钟内没有发出任何请求,然后,只要我向自己发送电子邮件,我在另一个窗口中的收件箱就会发送 POST 请求并接收电子邮件。由于它已经有几分钟没有向服务器发送任何 http 请求(我使用 firebug 进行了检查),所以它不可能以这种方式与服务器通信,那么它如何知道它什么时候有电子邮件要接收呢?
【问题讨论】:
-
如果我使用连续轮询,它会占用大量带宽。如果我让连接保持打开状态,它会耗尽连接并导致问题。它们都可能可行,但 Gmail 似乎两者都做不到,如果可以的话,我宁愿避免使用它们。
-
GMail 绝对是使用保活连接;有时称为“挂起 GET”。查看与b.mail.google.com/mail/channel/bind?VER=8&at=etc的连接...
-
另一种选择是编写一个小型 java 小程序来为您进行通信,或者用 java 编写整个聊天客户端。
标签: javascript gmail