网站大量收购独家精品文档,联系QQ:2885784924

QQ语音识别.docVIP

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
QQ语音识别.doc

文字聊天协议族(TCPF, Text Chatting Protocol Family):它主要支持与其它QQ客户端进行文字聊天。TCPF是建立在UDP协议之上。UDP数据包中的第一个字符02为这个协议族的标识。 TCPF的服务器使用8000号端口,腾讯的QQ客户端软件一般从4000号端口开始尝试使用,但实际上,对客户端使用的端口号并没有限制。目前的研究集中在TCPF上。TCPF: TCPF是建立在UDP协议上的协议族,主要支持文字聊天功能。TCPF是以请求-响应模式工作的。也就是说,客户端发出一个请求,服务器端会给出 一个相应的响应;服务器向客户端发送信息,客户端也会给服务器相应的响应。请求和响应通过相同的序列号来进行配对(请求代码也应该相同)。而且每种请求的 发起方都是相同的。目前,已知的请求包括: 0x0001? 注销登录 0x0002? 心跳信息 0x0004? 更新用户信息 0x0005? 搜索用户 0x0006? 获取用户信息 0x0009? 不需认证方式添加好友 0x000a? 删除好友 0x000b? 需要认证的方式添加好友 0x000d? 设置隐身、示忙等状态 0x0012? 确认收到系统消息 0x0016? 发送消息 0x0017? 收到消息(服务器发起) 0x001a? 未知作用。 0x001c? 在对方好友列表上删除自己 0x001d? 未知作用。 0x0022? 登录 0x0026? 获取好友清单 0x0027? 获取在线好友 0x0030? 群操作指令 0x0080? 收到系统消息(服务器发起) 0x0081? 收到好友状态改变消息(服务器发起) QQ协议分析之TCPF包结构 包结构类型: TCPF包我们把它分为5类: 登录请求包(LIP,LogIn Packet),它是由客户端向服务器发出登录请求的数据包。 登录应答包(LRP,Login Reply Packet),它是由服务器响应客户端登录请求的数据包。 注销请求包(LOP,LogOut Packet),它是由客户端向服务器发出注销登录请求的数据包,服务器对这个包不作应答。 客户端其它包(CSP,Client Sent Packet),它是由客户端向服务器发送的其它包。 服务器其它包(SSP,Server Sent Packet),它是由服务器向客户端发送的其它包。 包头: 所有TCPF包的前7个字节是包头,包头可以识别TCPF包的内容。包头的格式为: 第0字节:TCPF包标识:0x02。 第1-2字节:发送者标识。如果是0x01 0x00,表明是由服务器发送。客户端的标识与所使用的QQ版本有关,目前最新版本QQ2003(0808)的标识为0x0A 0x1D。具体的协议的格式与这个字段所标识的客户端版本有关。目前我们以这个最新的0A1D版本来讨论。 第3-4字节:命令编号。具体的命令编号含义在《QQ协议概述》(Protocol Overview.rtf)中有描述。如果这个字段是0x00 0x01,那么这是一个注销请求包。如果这个字段是0x00 0x22,而发送者标识是0x01 0x00,那么这是一个登录应答包。如果这个字段是0x00 0x22,而发送者标识是其它(例如0x0A 0x1D),那么这是一个登录请求包。其它的命令代码表明是其它包,我们通过发送者标识来区分它是CSP还是SSP。 第5-6字节:命令序列号。客户端和服务器都有各自的当前发送序列号。每初始发出一个指令的时候,使用当前的序列号,然后把当前序列号加一,如果超过 0xFFFF,就绕回。如果是响应对方发出的命令,则使用这个命令的序列号。例如,客户端当前的序列号为0x1110,它向服务发送一个0x0016命 令,它使用0x1110这个序列号,服务器收到以后,返回一个序列号为0x1110的0x0016命令响应。下一次,客户端又发送一个0x0026命令, 这一次它使用加一了的序列号0x1111,服务器也响应0x1111序列号的一个0x0026命令响应。如果这是服务器要向客户端发送0x0017命令, 它使用它自己的当前序列号,比如说0x2220,客户端收到以后,也响应一个序列号为0x2220的0x0017命令应答。我们可以通过序列号来判断发出 的指令是否已经得到了应答,如果没有,可以重发。服务器对收到的命令的序列号顺序没有要求。服务器也不会一定按照发出的顺序给予应答。 包尾: 所有的TCPF包都以0x03作为包尾。在包头和包尾中间的包数据则不同类型的包有所不同。 LIP包登录请求包的包数据格式为: 第7-10字节(4 bytes):发出登录请求的QQ号码。这是一个Big Endian(高位在前)的unsigned long型数值。例如:0x01 0x82 0x5D 0x90就是0x0182

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档