到目前為止,我已經(jīng)介紹了QQProtocol中代碼的基本結(jié)構(gòu):
CQQUser存儲一個QQ用戶的所有信息,包括客戶指定信息(用戶名,密碼等)和服務(wù)器返回信息(指在和服務(wù)器通訊過程中服務(wù)器“設(shè)置的”信息,如各種各樣的密鑰是在和服務(wù)器通訊過程中某些特定步驟由服務(wù)器生成并返回的,而還有些信息如服務(wù)器IP和端口則是最初由客戶指定,但有可能因為服務(wù)器重定向而改變,等等等等)
CInPacket和COutPacket是發(fā)送/接收包基類,CBasicInPacket/CBasicOutPacket是QQ基本協(xié)議族發(fā)送/接收包基類,CBasicFamilyParser是QQ基本協(xié)議族消息管理器,至于要和QQ服務(wù)器正常通訊,還要用“翻譯”成QQ服務(wù)器的“語言”——由CCrypter加密/解密包
最后,所有類使用的常量則實現(xiàn)為類QQ的公共靜態(tài)成員變量
而所有這些類都是為CQQClient類服務(wù)的,它是QQProtocol的操作接口(數(shù)據(jù)接口則是CQQUser)。目前實現(xiàn)的版本主要接口是Login,負(fù)責(zé)向QQ服務(wù)器登錄。由它負(fù)責(zé)創(chuàng)建一個工作線程,向服務(wù)器發(fā)包,等待回復(fù),回復(fù)的結(jié)果調(diào)用CQQClient的虛函數(shù),所以對于庫的使用者,需要生成一個派生類實現(xiàn)這些虛函數(shù)以處理回復(fù)。
至此,很多朋友關(guān)心的demo也可以實現(xiàn)一個最簡單的版本了,目前的demo是個命令行程序,使用UDP方式登錄,已經(jīng)測試成功。
代碼svn:https://vcye23.svn.sourceforge.net/svnroot/vcye23/qqprotocol/
例子svn:https://vcye23.svn.sourceforge.net/svnroot/vcye23/demo/
引用請注明出處,謝謝
FeedBack:
# re: 最基本的QQ客戶端:CQQClient初版
# re: 最基本的QQ客戶端:CQQClient初版
# re: 最基本的QQ客戶端:CQQClient初版
# re: 最基本的QQ客戶端:CQQClient初版
# re: 最基本的QQ客戶端:CQQClient初版
# re: 最基本的QQ客戶端:CQQClient初版
2007-11-14 16:09 | nevergone
我登陸失敗
不知道是什么原因
跟蹤的結(jié)果是
在s_LoginProc線程回調(diào)里面
sendto(uiSocket, (const char*)pbBuf, iBufLen, 0, (const sockaddr*)&saServer, iServerLen);
SAFE_DELETE(pBasicOutPacket);
iRetVal = select(0, &fset, NULL, NULL, &timeout);
if( iRetVal == SOCKET_ERROR || // 出錯
iRetVal == 0 ) // 超時
{
pQQClient->LoginFail(-1);
return 0;
}
在這里iRetVal返回了0
博主能解釋一下嗎?
回復(fù) 更多評論
不知道是什么原因
跟蹤的結(jié)果是
在s_LoginProc線程回調(diào)里面
sendto(uiSocket, (const char*)pbBuf, iBufLen, 0, (const sockaddr*)&saServer, iServerLen);
SAFE_DELETE(pBasicOutPacket);
iRetVal = select(0, &fset, NULL, NULL, &timeout);
if( iRetVal == SOCKET_ERROR || // 出錯
iRetVal == 0 ) // 超時
{
pQQClient->LoginFail(-1);
return 0;
}
在這里iRetVal返回了0
博主能解釋一下嗎?
回復(fù) 更多評論
# re: 最基本的QQ客戶端:CQQClient初版
2013-09-30 21:12 | 曙光群發(fā)技術(shù)
只有注冊用戶登錄后才能發(fā)表評論。 | ||
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
![]() |
||
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
|
||
|
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
30 | 31 | 1 | 2 | 3 | 4 | 5 | |||
6 | 7 | 8 | 9 | 10 | 11 | 12 | |||
13 | 14 | 15 | 16 | 17 | 18 | 19 | |||
20 | 21 | 22 | 23 | 24 | 25 | 26 | |||
27 | 28 | 29 | 30 | 31 | 1 | 2 | |||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
常用鏈接
留言簿(15)
隨筆檔案
搜索
最新評論

- 1.?re: 最基本的QQ客戶端:CQQClient初版
- 評論內(nèi)容較長,點擊標(biāo)題查看
- --曙光群發(fā)技術(shù)
- 2.?re: 開源QQ協(xié)議庫QQProtocol
- 你好,我想問下你的QQ協(xié)議庫現(xiàn)在還能使用不?
- --xcomlong
- 3.?re: 開源QQ協(xié)議庫QQProtocol
- http://www.52biancheng.com 這里看看
- --lmz
- 4.?re: 開源QQ協(xié)議庫QQProtocol
- 感謝您的有用信息和有趣的文章。我喜歡評論。
- --skill games
- 5.?re: 最基本的QQ客戶端:CQQClient初版
- 現(xiàn)在登錄不上了,tx對此類登錄直接鎖定帳號.
- --jeph