论文部分内容阅读
1996年,一项名为ICQ的Instant Messaging(即时通讯)技术由三个以色列人发明,1998年ICQ的注册用户已经高达1200万,随后被AOL以2.87亿美元的高价买下。1999年2月,深圳市腾讯计算机系统有限公司推出了中国的IM产品,它最初的名称叫OICQ。很快,OICQ的注册人数以难以置信的速度增长,2000年上半年就达到了数千万人以上。事态的发展让ICQ瞠目结舌,后悔之余ICQ状告腾讯公司侵权。为了有利于OICQ的长远发展,OICQ的昵称“QQ”成了新名称,这就是全球IM注册用户数第一的QQ传奇。如今,QQ已经成为中国网民最常用的一种交流手段,从互致问候到传输文件都离不开它。大家看看小莉和小牛使用QQ的过程,就可以了解Q来Q去背后的奥秘。
告诉QQ偶要上线
一个最基本的QQ系统结构如图1所示。如果小莉准备邀请自己的男友小牛出去逛街,打开“QQ用户登录”对话框,选择或输入自己的号码,然后输入“QQ密码”单击“登录”。只要小莉的电脑与QQ服务器的通讯正常,后者就会根据登录请求读取用户数据库,以便验证小莉的身份。若输入的QQ号码和QQ密码都正确,小莉的IP地址、使用的TCP端口号等被服务器记录下来,然后返回已经登录成功的提示,QQ的状态也就会被标记为在线。
执行上述操作时,小莉会遇到无法登录的情况,小牛曾经给她讲过几种可能的原因和解决办法:一是Windows XP的防火墙封闭了QQ使用的端口。此时只要打开“Windows防火墙”的“例外”选项卡,看“QQ”是否在“名称”列表中,否则只需将QQ加入“例外”并选中即可。使用其他防火墙时的处理方法类似;二是QQ的网络设置不正确,例如ADSL或拨号用户选择了“HTTP代理”之类。这种情况只需打开如图1所示“网络设置”下的“类型”列表,选择“不使用代理”或“使用浏览器设置”即可。三是服务器由于维护等原因导致某一范围的QQ号不能登录,一般等上一段时间再登录就可以了。四是当前使用的服务器负担太重,或者电脑与服务器的连接速度太慢。小牛的解决方法是寻找一个连接速度最快的服务器,他将以下内容输入“记事本”保存为“CS.BAT”文件。
Ping sz.tencent.com>udp.txt
Ping sz2.tencent.com>>udp.txt
Ping sz3.tencent.com>>udp.txt
Ping sz4.tencent.com>>udp.txt
Ping sz5.tencent.com>>udp.txt
Ping sz6.tencent.com>>udp.txt
Ping sz7.tencent.com>>udp.txt
Ping tcpconn.tencent.com>tcp.txt
Ping tcpconn2.tencent.com>>tcp.txt
Ping tcpconn3.tencent.com>>tcp.txt
Ping tcpconn4.tencent.com>>tcp.txt
接着在Windows中运行这个文件,结束后得到名为udp.txt和tcp.txt的两个文件,分别记录了使用UDP协议和TCP协议的QQ服务器连接速度。打开如图2所示文件找到表示平均连接速度的“Average =xxxms”,经过比较选择数值xxx最小的服务器,记下如图2中的服务器IP地址(例如219.133.38.230)。最后单击“QQ用户登录”对话框中的“高级设置”按钮,选中如图3中的“选择QQ登录服务器”,打开“设置你需要登录到的服务器的类型”列表,选择连接速度最快的服务器使用的协议类型(UDP或TCP)。在“需要登录的服务器地址”框中直接输入服务器的IP地址,然后登录就顺畅多了。
QQ好友偶上来也
QQ用户的好友列表放在服务器上,无论小莉使用什么电脑在何处登录,只要她使用的QQ号码不变,小莉就可以得到好友的列表及其在线状态等等。与此同时,服务器会将小莉登录的信息发给所有的在线好友。这些信息包括QQ的在线状态、IP地址、使用的TCP端口号等。在线好友的QQ收到服务器发送的信息以后,会及时显示状态并根据设置弹出上线提示。
小提示:QQ显示用户状态并非一直与服务器连接,而是QQ定时给服务器发送消息,因此会出现好友已经下线,而QQ仍显示在线的情况。不过这种情况不会持续很久,只要在规定的时间内服务器没有收到消息,就会显示这个QQ用户已经下线了。
QQ文字传情达意
如果小莉想给在线的小牛发送文字信息,只要双击“QQ好友”中小牛的“头像”,打开如图4所示聊天窗口。在左下方的窗格内输入文字信息单击“发送”,QQ就会利用服务器发送过来的IP地址、TCP端口号等信息,直接向小牛的QQ发送小莉输入的信息。小牛的QQ收到信息后会发出声音提示,而且小莉的“头像”也会闪动。小牛只要双击“头像”就可以打开聊天窗口,查看小莉发送的信息然后回复了。
此时双方发送的消息文字不用QQ服务器中转,而是通过网络进行点对点的直接通讯,这种传输信息的方式称为对等方式。其优点是服务器无须中转用户的信息,承载大量用户也不容易发生网络堵塞。当然,小莉在给小牛发送文字信息的同时,还可以和其他好友互通信息,工作原理是完全相同的。
小提示:并不是在任何情况下小莉与小牛之间都是点对点的直接通讯,以下两种情况的信息必须通过服务器中转:一是当小牛等好友没有在线时,QQ服务器会自动提供信息中转服务,将小莉发送给小牛的信息暂时存储在服务器上。一旦小牛成功登录,服务器得知他上线之后,就会将存储的信息转发给小牛。二是当网络连接不够流畅时,小莉与小牛的QQ之间不能直接收发信息,QQ会自动使用专门的服务器转发,QQ用户收到的信息注明“服务器转发”就是这种情况。等小莉与小牛双方的网络连接正常之后,QQ就会自动恢复双方的直接信息传输。
优化网络QQ畅通
QQ作为小莉与小牛的感情纽带功不可没。不过有时小莉也会看到发送信息不成功,而小牛却回复说信息收到的情况(见图5)。这让小莉感到莫名其妙,小牛打个了比方:QQ使用TCP协议在好友间传送信息很像打电话,一方说话时另一方要及时回应“嗯”、“是”等。如果听电话的一方始终一言不发,说话的一方往往以为电话已经断了,事实上对方已经听到他的话了。
QQ用户使用TCP协议相互发送信息时,接收信息的一方收到数据包之后,也会定期发送确认信息表示收到。由于网络繁忙导致阻塞等原因,小莉的QQ可能在规定的时间内收不到确认信息,因此会提示“发送信息不成功”,而多数情况是小牛已经看到这些信息了。解决这类问题的唯一办法是优化网络环境,消除类似电信与网通互联不互通的问题。当然如果网络中断,消息也无法成功发送(见图6)。
作为QQ的忠实用户,小莉和小牛目睹了QQ功能迅速扩展的过程。它已经从最初的一款在线聊天软件,演变成了拥有视频电话、点对点断点续传文件、网络硬盘、QQ直播、QQ电台和QQ邮箱等多种功能,整合手机等移动终端等增值服务的强大通讯工具,小莉和小牛已经离不开QQ了。
告诉QQ偶要上线
一个最基本的QQ系统结构如图1所示。如果小莉准备邀请自己的男友小牛出去逛街,打开“QQ用户登录”对话框,选择或输入自己的号码,然后输入“QQ密码”单击“登录”。只要小莉的电脑与QQ服务器的通讯正常,后者就会根据登录请求读取用户数据库,以便验证小莉的身份。若输入的QQ号码和QQ密码都正确,小莉的IP地址、使用的TCP端口号等被服务器记录下来,然后返回已经登录成功的提示,QQ的状态也就会被标记为在线。
执行上述操作时,小莉会遇到无法登录的情况,小牛曾经给她讲过几种可能的原因和解决办法:一是Windows XP的防火墙封闭了QQ使用的端口。此时只要打开“Windows防火墙”的“例外”选项卡,看“QQ”是否在“名称”列表中,否则只需将QQ加入“例外”并选中即可。使用其他防火墙时的处理方法类似;二是QQ的网络设置不正确,例如ADSL或拨号用户选择了“HTTP代理”之类。这种情况只需打开如图1所示“网络设置”下的“类型”列表,选择“不使用代理”或“使用浏览器设置”即可。三是服务器由于维护等原因导致某一范围的QQ号不能登录,一般等上一段时间再登录就可以了。四是当前使用的服务器负担太重,或者电脑与服务器的连接速度太慢。小牛的解决方法是寻找一个连接速度最快的服务器,他将以下内容输入“记事本”保存为“CS.BAT”文件。
Ping sz.tencent.com>udp.txt
Ping sz2.tencent.com>>udp.txt
Ping sz3.tencent.com>>udp.txt
Ping sz4.tencent.com>>udp.txt
Ping sz5.tencent.com>>udp.txt
Ping sz6.tencent.com>>udp.txt
Ping sz7.tencent.com>>udp.txt
Ping tcpconn.tencent.com>tcp.txt
Ping tcpconn2.tencent.com>>tcp.txt
Ping tcpconn3.tencent.com>>tcp.txt
Ping tcpconn4.tencent.com>>tcp.txt
接着在Windows中运行这个文件,结束后得到名为udp.txt和tcp.txt的两个文件,分别记录了使用UDP协议和TCP协议的QQ服务器连接速度。打开如图2所示文件找到表示平均连接速度的“Average =xxxms”,经过比较选择数值xxx最小的服务器,记下如图2中的服务器IP地址(例如219.133.38.230)。最后单击“QQ用户登录”对话框中的“高级设置”按钮,选中如图3中的“选择QQ登录服务器”,打开“设置你需要登录到的服务器的类型”列表,选择连接速度最快的服务器使用的协议类型(UDP或TCP)。在“需要登录的服务器地址”框中直接输入服务器的IP地址,然后登录就顺畅多了。
QQ好友偶上来也
QQ用户的好友列表放在服务器上,无论小莉使用什么电脑在何处登录,只要她使用的QQ号码不变,小莉就可以得到好友的列表及其在线状态等等。与此同时,服务器会将小莉登录的信息发给所有的在线好友。这些信息包括QQ的在线状态、IP地址、使用的TCP端口号等。在线好友的QQ收到服务器发送的信息以后,会及时显示状态并根据设置弹出上线提示。
小提示:QQ显示用户状态并非一直与服务器连接,而是QQ定时给服务器发送消息,因此会出现好友已经下线,而QQ仍显示在线的情况。不过这种情况不会持续很久,只要在规定的时间内服务器没有收到消息,就会显示这个QQ用户已经下线了。
QQ文字传情达意
如果小莉想给在线的小牛发送文字信息,只要双击“QQ好友”中小牛的“头像”,打开如图4所示聊天窗口。在左下方的窗格内输入文字信息单击“发送”,QQ就会利用服务器发送过来的IP地址、TCP端口号等信息,直接向小牛的QQ发送小莉输入的信息。小牛的QQ收到信息后会发出声音提示,而且小莉的“头像”也会闪动。小牛只要双击“头像”就可以打开聊天窗口,查看小莉发送的信息然后回复了。
此时双方发送的消息文字不用QQ服务器中转,而是通过网络进行点对点的直接通讯,这种传输信息的方式称为对等方式。其优点是服务器无须中转用户的信息,承载大量用户也不容易发生网络堵塞。当然,小莉在给小牛发送文字信息的同时,还可以和其他好友互通信息,工作原理是完全相同的。
小提示:并不是在任何情况下小莉与小牛之间都是点对点的直接通讯,以下两种情况的信息必须通过服务器中转:一是当小牛等好友没有在线时,QQ服务器会自动提供信息中转服务,将小莉发送给小牛的信息暂时存储在服务器上。一旦小牛成功登录,服务器得知他上线之后,就会将存储的信息转发给小牛。二是当网络连接不够流畅时,小莉与小牛的QQ之间不能直接收发信息,QQ会自动使用专门的服务器转发,QQ用户收到的信息注明“服务器转发”就是这种情况。等小莉与小牛双方的网络连接正常之后,QQ就会自动恢复双方的直接信息传输。
优化网络QQ畅通
QQ作为小莉与小牛的感情纽带功不可没。不过有时小莉也会看到发送信息不成功,而小牛却回复说信息收到的情况(见图5)。这让小莉感到莫名其妙,小牛打个了比方:QQ使用TCP协议在好友间传送信息很像打电话,一方说话时另一方要及时回应“嗯”、“是”等。如果听电话的一方始终一言不发,说话的一方往往以为电话已经断了,事实上对方已经听到他的话了。
QQ用户使用TCP协议相互发送信息时,接收信息的一方收到数据包之后,也会定期发送确认信息表示收到。由于网络繁忙导致阻塞等原因,小莉的QQ可能在规定的时间内收不到确认信息,因此会提示“发送信息不成功”,而多数情况是小牛已经看到这些信息了。解决这类问题的唯一办法是优化网络环境,消除类似电信与网通互联不互通的问题。当然如果网络中断,消息也无法成功发送(见图6)。
作为QQ的忠实用户,小莉和小牛目睹了QQ功能迅速扩展的过程。它已经从最初的一款在线聊天软件,演变成了拥有视频电话、点对点断点续传文件、网络硬盘、QQ直播、QQ电台和QQ邮箱等多种功能,整合手机等移动终端等增值服务的强大通讯工具,小莉和小牛已经离不开QQ了。