求助:QQ的实现原理
各位大哥,小弟最近在做类似QQ的即时通讯软件,从网上找了一些IM的资料,QQ的通讯原理是否和下图一样:
|IM服务器|
/ \
/ \
LOGIN/OUT /TCP/UDP \
/ \
/ \
|用户A|------------|用户B|
TCP
还有如下问题:
1.是不是每个用户都要以TCP连接登陆了IM服务器?如果是这样,IM服务器不是要启动相应的监听线程,那服务器的负荷是不是会很重?QQ是如何做到的?
2.QQ是不是TCP和UDP一起用?如果用UDP,如何做到信息的可靠发送?
3.QQ用的是UDP打洞技术还是HTTP遂道?
4.因为用户一般都是在局域网内,地址都为私有IP,IM服务器是如何将信息转发到用户的?