QQ 通讯原理

QQ通讯原理:

QQ有两种登陆模式
一种是比较不常用的:直接登陆服务器,所有信息由服务器转发,这种登陆模式有个特点就是你会发现你使用获取IP版本的QQ无法获取对方的IP~
另一种是普通的:首先连接登陆服务器,在给对发发消息的时候,首先尝试与对方进行打洞连接,如果可以打通消息直接发送给对方,如果不能打通,则消息转发服务器,由服务器转发.

现在回答你的问题
1.是不是每个用户都要以TCP连接登陆了IM服务器?如果是这样,IM服务器不是要启动相应的监听线程,那服务器的负荷是不是会很重?QQ是如何做到的?
答:IM登陆服务器有一台主服务器,这台服务器负责将登陆者的请求转发给与登陆者地区最接近的服务器.而那些登陆服务器的工作是通过多服务器协作完成的

2.QQ是不是TCP和UDP一起用?如果用UDP,如何做到信息的可靠发送?
答:QQ即可以使用TCP也可以使用UDP,但QQ默认是使用UDP协议,因为UDP协议消耗资源小,发送速度快,但当UDP协议不能正常转发的时候,就会采用TCP协议进行发送.
而信息的可靠发送是通过各种验证机制来完成的,这一点你可以去GOOGLE之类的网站去搜索下.

3.QQ用的是UDP打洞技术还是HTTP遂道?
答:发送消息的时候是UDP打洞,登陆的时候使用HTTP~因为登陆服务器其实就是一个HTTP服务器,只不过不是常用的那些,那个服务器是TX自行开发的.

4.因为用户一般都是在局域网内,地址都为私有IP,IM服务器是如何将信息转发到用户的?
答:如果使用TCP就没什么好说了~由内网向外网连接,只要能够连接上进行握手了,消息就可以畅通无阻的进行发送了.如果使用UDP的话,就是使用的打洞技术了,只要通道打通了,发送消息基本和TCP没什么区别,要做的只是维护消息的完整性而已.
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值