到目前為止,我已經介紹了QQProtocol中代碼的基本結構:
CQQUser存儲一個QQ用戶的所有信息,包括客戶指定信息(用戶名,密碼等)和服務器返回信息(指在和服務器通訊過程中服務器“設置的”信息,如各種各樣的密鑰是在和服務器通訊過程中某些特定步驟由服務器生成并返回的,而還有些信息如服務器IP和端口則是最初由客戶指定,但有可能因為服務器重定向而改變,等等等等)
CInPacket和COutPacket是發送/接收包基類,CBasicInPacket/CBasicOutPacket是QQ基本協議族發送/接收包基類,CBasicFamilyParser是QQ基本協議族消息管理器,至于要和QQ服務器正常通訊,還要用“翻譯”成QQ服務器的“語言”——由CCrypter加密/解密包
最后,所有類使用的常量則實現為類QQ的公共靜態成員變量
而所有這些類都是為CQQClient類服務的,它是QQProtocol的操作接口(數據接口則是CQQUser)。目前實現的版本主要接口是Login,負責向QQ服務器登錄。由它負責創建一個工作線程,向服務器發包,等待回復,回復的結果調用CQQClient的虛函數,所以對于庫的使用者,需要生成一個派生類實現這些虛函數以處理回復。
至此,很多朋友關心的demo也可以實現一個最簡單的版本了,目前的demo是個命令行程序,使用UDP方式登錄,已經測試成功。
代碼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初版
2007-11-14 16:09 | nevergone
我登陸失敗
不知道是什么原因
跟蹤的結果是
在s_LoginProc線程回調里面
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
博主能解釋一下嗎?
回復 更多評論
不知道是什么原因
跟蹤的結果是
在s_LoginProc線程回調里面
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
博主能解釋一下嗎?
回復 更多評論
# re: 最基本的QQ客戶端:CQQClient初版
只有注冊用戶登錄后才能發表評論。 | ||
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
![]() |
||
網站導航:
博客園
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初版
- 評論內容較長,點擊標題查看
- --曙光群發技術
- 2.?re: 開源QQ協議庫QQProtocol
- 你好,我想問下你的QQ協議庫現在還能使用不?
- --xcomlong
- 3.?re: 開源QQ協議庫QQProtocol
- http://www.52biancheng.com 這里看看
- --lmz
- 4.?re: 開源QQ協議庫QQProtocol
- 感謝您的有用信息和有趣的文章。我喜歡評論。
- --skill games
- 5.?re: 最基本的QQ客戶端:CQQClient初版
- 現在登錄不上了,tx對此類登錄直接鎖定帳號.
- --jeph