QQ的工作原理:
1、登录,先在本地验证密码,如果与本地密码不一致,提示是否去服务器验证密码。不管本地还是服务器,验证密码通过后,就从服务器获取用户信息和系统消息(包括离线消息),同时还做一件重要的事——在服务器登记本次登录的地址和端口。
2、休息,就是没聊天的时候,QQ自动定时去服务器获取最新的消息。同时,如果你的好友上线,服务器会推送相关消息给你,这里面包括了好友的地址和端口。
3、在线聊天,你这里已经有了好友的地址,发消息就直接发给他了,同时好友也在服务器上获得了你的地址,所以你们的互通肯定不成问题。另外,早期OCIQ经常遇到,由于网络环境限制,点对点的通信经常会无法直接建立,如果一定时间仍未收到对信息的回复,系统就把消息发到服务器,由服务器进行中转。
4、离线消息,你的好友列表中,对方处于离线状态,这时QQ就把消息发到服务器去,由服务器转发,由于隐身登录也会在服务器记录为登录,所以服务器对隐身登录的用户,就直接把消息发给对方了,而对于真正未登录的,则暂存在服务器上,等用户下次登录时,就象1里面说的,把离线消息发过去。
1、登录,先在本地验证密码,如果与本地密码不一致,提示是否去服务器验证密码。不管本地还是服务器,验证密码通过后,就从服务器获取用户信息和系统消息(包括离线消息),同时还做一件重要的事——在服务器登记本次登录的地址和端口。
2、休息,就是没聊天的时候,QQ自动定时去服务器获取最新的消息。同时,如果你的好友上线,服务器会推送相关消息给你,这里面包括了好友的地址和端口。
3、在线聊天,你这里已经有了好友的地址,发消息就直接发给他了,同时好友也在服务器上获得了你的地址,所以你们的互通肯定不成问题。另外,早期OCIQ经常遇到,由于网络环境限制,点对点的通信经常会无法直接建立,如果一定时间仍未收到对信息的回复,系统就把消息发到服务器,由服务器进行中转。
4、离线消息,你的好友列表中,对方处于离线状态,这时QQ就把消息发到服务器去,由服务器转发,由于隐身登录也会在服务器记录为登录,所以服务器对隐身登录的用户,就直接把消息发给对方了,而对于真正未登录的,则暂存在服务器上,等用户下次登录时,就象1里面说的,把离线消息发过去。