晨露博客

关注互联网,关注科技,关注生活!

上一篇: 谁是你一生中最重要的人 下一篇:是谁决定了我们的情绪

WebQQ设计之聊天协议分析获取自己的信息以及获取好友信息获取群信息之后,我们的WebQQ基本上也就完成了一半了,接下来的步骤该是开始聊天了。下面开始我们的WebQQ聊天协议分析与程序设计吧。

当然,由于WebQQ是基础HTTP协议的,所以服务器有了新信息需要客户端更新时不会主动给客户端发送信息,需要客户端定时去服务器查询。

 

WebQQ的定时查询命令是00,格式如下:

515667845;00;消息编号;4b2b432f;

WebQQ是每隔大约1秒向服务器发送一次消息的。

 

 

1、得到群聊天内容

服务器返回的命令:17

格式如下:515667845;17;28656;XXXXXX;54028;2b;0b;聊天内容;0c40808010新宋体;1;86540289;XXXXXX;128783;374;1281709924;3305670154;

第二个值为命令号17;第三个值可以理解为聊天内容编号;第四个为群ID号,注意不是群号;第五个也是聊天内容编号;第六个为子命令号,2b表示群消息;第七未知;第八个为聊天内容,聊天内容有些复杂,比如图片和QQ表情是不同的,现在只处理最简单的文本;第九个为字体,前两个字符“0c”组成一个字节的十六进制数,该字节的第一位为下划线位,第二位斜体位,第三位为加粗位,后五位为字体大小位,“408080”为文本颜色,“10”无意义,再往后就是字体了;第十二个为发言人的QQ号;第十五个为发言时间。

接收到聊天消息后须告诉服务器接收成功,格式如下:515667845;17;28656;4b2b432f;XXXXXX;1030196367;54028;2;3305670154;

显然,服务器接收到的第三个、第五个、第十六个数是需要用的,数据比较容易分析,这里不再多说明。如果不回复这条消息,服务器会以为客户端没有收到该条聊天内容,会再次发送;当然即使回复了也可能重复接收,所以需要记录聊天内容编号以处理是否已经接收过。

2、得到好友聊天内容

服务器返回的命令:17

格式如下:515667845;17;29389;XXXXXX;608909;09;0b;聊天内容;0a00000010宋体;1283479380;3389593516;

第二个值为命令号17;第三个值可以理解为聊天内容编号;第四个为好友QQ 号;第五个也是聊天内容编号;第六个为子命令号,09表示好友消息;第七未知;第八个为聊天内容,聊天内容有些复杂,比如图片和QQ表情是不同的,现在只处理最简单的文本;第九个为字体,前两个字符“0c”组成一个字节的十六进制数,该字节的第一位为下划线位,第二位斜体位,第三位为加粗位,后五位为字体大小位,“000000”表示好友发来的消息文本为黑色,“10”无意义,再往后就是字体了;第十个为发言时间。

接收到聊天消息后须告诉服务器接收成功,格式如下:515667845;17;29389;68246411;XXXXXX;1030196367;608909;1;3389593516;

从服务器接收到的信息中第三个、第五个、第十一个数是需要用的,这些与接收群聊天内容类似,大家揣摩揣摩应该就懂了。

 3、给好友发送消息
命令:16
格式:515667845;16;消息号;4b2b432f;XXXXXX;0b;0;消息内容;0900000010宋体;
第五个为接收消息的好友QQ号;第六个0b固定;第七个0固定;第八个为给好友的聊天内容;第九个为字体信息。
4、给群发送消息
命令:30
格式:%s;30;消息号;4b2b432f;0a;XXXXXX;消息内容;0900000010宋体;
第五个固定为0a;第六个为群ID(不是群号);第七个为聊天内容;第八个为字体信息。

小博文章如没有特殊说明均为原创,如要帮忙推广还望加上我的链接哦!
  • 本文Url: http://www.chenlublog.com/post/web-qq-chat-protocol.html (出自: 晨露博客)
  • 点击这里获取该日志的TrackBack引用地址

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    关于本文

    您正在阅读的是:WebQQ设计之聊天协议分析
    morningdew 发表于:2011-12-7 12:33:43
    分类:网络编程
    关键词:WebQQ  

    博客作者

    Morningdew

    晨露博客

    热门文章

    最近更新

    最新评论及回复

    最近留言

    站类搜索

    博文分类

    博文归档

    Copyright ©2010 晨露博客. All Rights Reserved.网站地图  Theme Designed By TangChang
    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.
    This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.
    CONTACT ME:E-mail:tcmorningdew@gmail.com QQ:515667845<风荷雨莲>   津备ICP09004821   GO TO TOP

    Powered By Z-Blog 1.8 Walle Build 91204