QQ发送消息格式

 最近下载了pidgin的源代码,pidgin就是原来大名鼎鼎的IM软件的集合gaim,只不过由于版权纠纷改为现名。粗略的看了一下其中关于QQ实现的代码,没有多加思考就决定写一点东西出来,错误那是一定存在的,清各位朋友用批判的眼光看待这个文章。本人不保证此文的有效性,嘿嘿。(转载必须注明出处和上面这段话)
 
 QQ作为中国最流行的IM工具,拥有了大量的用户群。由于存在大量的稳定的以及潜在的用户,所以他推广很多东西非常方便,并能迅速占领市场,如QQ游戏,一推出来后,一下子就成了全国最大的游戏平台。 
 在中国,能有如此多的客户,大概也只有中国移动能够媲美了。中国移动现在也推出了自己的IM工具飞信,由于目前飞信的推广还不够普及,但是我相信随着中国移动对这项业务的逐渐推广和飞信功能的进一步完善。凭着中国移动强大的势力,飞信是QQ未来最有力的对手,但是QQ的人员对市场的了解和互联网的把握,也不会那么容易被打倒。

QQ发送消息的格式:
-----------------------
|消息头|消息体|消息结束符|
-----------------------

消息头:由于QQ消息有两种方式TCP或者UDP,TCP时控制消息头为9个字节,比UDP多两个字节,该两个字节为本消息的总长度。
------------------------------------------------------------
|消息总长度(2)|起始符(1)|标志位(2)|消息类型(2)|序列号(2)|
------------------------------------------------------------

消息体由两部分构成
---------------------------------------
|发送者QQ号(4)|加密的消息内容(可变长度)|
---------------------------------------

消息结束符占一个字节
---------------
|消息结束符(1)|
---------------

加密前的消息内容格式:
1、点对点消息
-----------------------------------------------------------------
|消息内容头(53)|消息实际内容(可变长度)|显示消息的字体风格(可变长度)|
-----------------------------------------------------------------

2、控制命令消息
----------------
|消息参数(可变)|
----------------

3、群消息
-----------------------------------------------------------------------------------
|群消息类型(1)|群号(4)|消息内容长度(2)|消息实际内容(可变长度)|消息显示的字体风格(13)|
-----------------------------------------------------------------------------------
群消息的字体风格是不可改变的,所以它长度是固定的。
消息显示的风格的最后一个字节为该段的长度。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Python发送QQ消息,可以使用qqbot库。qqbot是一个基于QQ协议的机器人框架,可以通过它来进行QQ消息发送和接收。 首先,需要安装qqbot库。可以通过在命令行中输入以下命令来安装qqbot: ``` pip install qqbot ``` 安装完成后,可以创建一个Python脚本,并使用以下代码来发送QQ消息: ```python from qqbot import QQBot # 创建一个自定义的QQBot class MyQQBot(QQBot): def onStartupComplete(self): # 在QQBot启动完成后,向指定QQ发送一条消息 self.send('group', u'群号/好友QQ号', u'你好,我是QQBot!') # 创建一个QQBot实例并启动 myqqbot = MyQQBot() myqqbot.login() # 使用QQ号和密码登录QQ myqqbot.run() # 运行QQBot ``` 以上代码中,我们创建了一个自定义的QQBot类,继承了qqbot库中的QQBot类,并在onStartupComplete方法中编写需要执行的操作。在这个例子中,我们在QQBot启动完成后,向指定的QQ发送了一条消息。 需要注意的是,在进行消息发送之前,需要先在`self.send()`方法中指定消息的类型和接收方的QQ号。消息类型可以是`group`或`buddy`,分别代表群组消息和好友消息。接收方的QQ号可以是群组号或好友的QQ号。 另外,在实际使用时,需要先登录QQBot,可以使用自己的QQ号和密码登录。登录成功后,就可以通过`myqqbot.run()`来启动QQBot,并开始发送QQ消息。 以上就是使用Python发送QQ消息的简单示例。当然,要实现更复杂的功能,还需要进一步了解qqbot库的使用方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值