星期五, 十二月 29, 2006

Windows Live Messenger 是如何工作的?

      地震导致了 Windows Live Messenger 大面积长时间的登录困难。当然,也导致很多国外的朋友登录 QQ 困难。我们在抱怨微软没有兑现承诺在中国设立服务器的同时,也在想,如果 Windows Live Messenger 能够像 eMule 那样不是特别依赖服务器就好了。这篇来自 MSBlog 的文章,详细介绍了 Windows Live Messenger 在发送和接收消息是的工作基本流程,并提供了一个大概的流程图,有兴趣的朋友不妨了解一下。

How Windows Live Messenger Works

  1. 用户双击某联系人,发起一个通讯任务;
  2. 用户的 Windows Live ID 认证信息被发送到 Windows Live ID 认证服务器(Windows Live ID Credentials server)作进一步认证;
  3. 信息透过一个只接收信息的防火墙送到自动分发服务器(dispatch server),这是消息被发送出去的第一次连接;
  4. 根据对用户地理位置的判断,自动与就近的通知服务器(notification server) (主要的几个在 Singapore, Dublic, Redmond 和 Reading)建立一个连接。此连接在用户之间通讯时一直保持有效,以实时传递用户状态,聊天请求以及 Windows Live Mail/Hotmail 的新邮件提示等信息。
  5. 文本消息本身并不会传递到就近的通知服务器(notification server),而是连接到一个用于交换文本消息和文件传输等功能的接线服务器(switchboard server)。这样用户就可以与其他联系人发起对话,并在其他接线线程的协助下与另一个用户建立聊天状态,等等。邀请,文件传输,音频/视频聊天的建立过程也是在接线服务器的协助下完成的。
  6. 用户回复的信息透过一个防火墙返回,并检查对方的在线状态。如果消息接收过程中,用户为离线状态,则消息会被返回并保存于接线服务器直到用户再次上线;当然,如果对方在线,消息则被安全送达。

      一般而言,整个过程大概会在2秒中内完成 - 大部分情况下,在2秒内,你的消息至少会在这个世界上被传递2次,听起来并不太坏吧?

没有评论: