posts - 8,  comments - 46,  trackbacks - 0
到目前为止,我已经介绍了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/
引用请注明出处,谢谢
posted on 2007-10-31 10:38 叶子墙 阅读(4520) 评论(14)  编辑 收藏 引用

FeedBack:
# re: 最基本的QQ客户端:CQQClient初版
2007-10-31 11:11 | www.helpsoff.com.cn
哥们儿,还敢玩QQ啊,看看珊瑚虫soff的例子,哪天被TX给你拎到局子里哦~~  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2007-10-31 14:44 | 小强++
可不可以集成到网游里  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2007-10-31 19:39 | Minidx全文检索
网游自己实现一个比较好  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2007-11-01 11:31 | song
谢谢你的无私奉献!
有意想和您深入合作!交个朋友也行
我QQ:23933
望您不嫌弃  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2007-11-01 11:34 | Minidx全文检索
……  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2007-11-01 15:19 | Icat
由此...漫漫长路开始了...
希望楼主能坚持不懈完善~~  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2007-11-06 13:50 | xxx
不错 login sucess!  回复  更多评论
  
# 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

博主能解释一下吗?
  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2007-11-15 23:22 | 叶子墙
@nevergone
最近出差比较多,改天看看  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2007-11-23 23:18 | egg
用UDP丢包是很严重的,多试几次应该就好了  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2007-12-26 08:26 | 协议研究者
我在这里发现了一个C#写的QQ机器人
http://www.taiwanren.com  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2008-01-04 23:10 | 研究者
可以包装成com dll吗?  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2011-04-20 09:41 | jeph
现在登录不上了,tx对此类登录直接锁定帐号.  回复  更多评论
  
# re: 最基本的QQ客户端:CQQClient初版
2013-09-30 21:12 | 曙光群发技术
协议早就失效了,大家多多交流一下这类协议吧
http://www.10qf.com/thread-24-1-1.html  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2007年10月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用链接

留言簿(15)

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜