答疑老度
2020-02-10
微信使用的是TCP。
微信通讯中使用了HTTP短连接和TCP长连接,并没有用到UDP,其中登陆验证和头像身份信息及日志等功能采用的HTTP,文本消息、语音消息、视频消息、图片消息这些使用的是TCP长连接。通过心跳包来维护长连接状态,300S一个心跳。
扩展资料:
TCP功能说明:
1,当应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,TCP则把数据流分割成适当长度的报文段,最大传输段大小(MSS)通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)限制636f7079e799bee5baa631333433623132。之后TCP把数据包传给IP层,由它来通过网络将包传送给接收端实体的TCP层。
2,TCP为了保证报文传输的可靠,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的字节发回一个相应的确认(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据(假设丢失了)将会被重传。
3,在数据正确性与合法性上,TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和;同时可以使用md5认证对数据进行加密。
4,在保证可靠性上,采用超时重传和捎带确认机制。在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传。