WebQQ協議分析(8)——聊天(1)

來源:互聯網
上載者:User

基本資料已經擷取完成,下面就可以聊天了。有必要說明一下,由於WebQQ是基礎HTTP協議的,所以伺服器有了新資訊需要用戶端更新時不會主動給用戶端發送資訊,需要用戶端定時去伺服器查詢。

 

WebQQ的定時查詢命令是00,格式如下:

1030196367;00;訊息編號;4b2b432f;

WebQQ是每隔大約1秒向伺服器發送一次訊息的。

 

 

1、得到群聊天內容

伺服器返回的命令:17 

格式如下:

1030196367;17;28656;XXXXXX;54028;2b;0b;聊天內容;0c40808010新宋體;1;86540289;XXXXXX;128783;374;1281709924;3305670154;

第二個值為命令號17;第三個值可以理解為聊天內容編號;第四個為群ID號,注意不是群號;第五個也是聊天內容編號;第六個為子命令號,2b表示群訊息;第七未知;第八個為聊天內容,聊天內容有些複雜,比片和QQ表情是不同的,現在只處理最簡單的文本;第九個為字型,前兩個字元“0c”組成一個位元組的十六進位數,該位元組的第一位為底線位,第二位斜體位,第三位為加粗位,後五位為字型大小位,“408080”為文本顏色,“10”無意義,再往後就是字型了;第十二個為發言人的QQ號;第十五個為發言時間。

接收到聊天訊息後須告訴伺服器接收成功,格式如下:

1030196367;17;28656;4b2b432f;XXXXXX;1030196367;54028;2;3305670154;

顯然,伺服器接收到的第三個、第五個、第十六個數是需要用的,資料比較容易分析,這裡不再多說明。如果不回複這條訊息,伺服器會以為用戶端沒有收到該條聊天內容,會再次發送;當然即使回複了也可能重複接收,所以需要記錄聊天內容編號以處理是否已經接收過。

 

作者:yjh4866

源地址:http://blog.csdn.net/yjh4866

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.