全球第一免费源码下载基地!
首 页文章中心下载中心繁體中文
首页 ASP源码 | PHP源码 | CGI源码 | JSP源码 | .NET源码 | flash源码 | 其它源码 | 网页模板 | 常用软件 | 字体下载 | 视频教程
站长学院 | 网络编程 | 网页设计 | 图形图像 | 操作系统 | 数据库 | 多媒体 | 黑客攻防 | 编程开发 | Seo专区 | 小说连载
您当前的位置:中文源码之家 -> 站长学院 -> 游戏娱乐 -> 文章内容 退出登录 用户管理
栏目导航
· 软件报道 · 软件教学
· 游戏娱乐 · 小说连载
热门文章
· [推荐] 卡巴斯基v6.0..
· [新闻] 超级解霸3500..
· [推荐] 冰点还原精灵..
· [组图] 一键GHOST硬盘..
· [组图] PQMagic──硬..
· [图文] 一键GHOST 优..
· [推荐] 征途小宝外挂..
· [新闻] 2006年世界顶..
· 自己做QQ密码破解器..
· [新闻] 下载:IE 7 简..
相关文章
· 谨防QQ大盗窃取QQ密..
· 菜鸟QQ安全防患绝招..
· 菜鸟QQ安全防患绝招..
· 新手注意 防止QQ密码..
· [推荐] QQ新功能窗口..
· [推荐] 解决QQ自动发..
· [推荐] QQ惊爆危险漏..
· [推荐] 将谁拖进地狱..
· [推荐] 史上最强QQ申..
· [推荐] 教你如何复制..
精彩激情游戏推荐
QQ.NET 第一个预览版源码文档下载
作者:未知  来源:转载  发布时间:2008-3-17 13:54:46  发布人:hncj

减小字体 增大字体

很兴奋能得到这么多人的支持,这也足于说明大家对于这个开发包也是期盼已久的。有人提醒我注意版权问题,也提到了QQ.NET这个名称是否合适。说真的了,涉及法律这方面的问题我也不是特别了解,毕竟这与珊瑚虫QQ本质上还是很大不同的,我们没有与QQ软件有什么直接的关系,只是通过发布相同的协议包到他们服务器并接受回馈的信息,其它与腾讯公司的软件也没有很大的关系。在这里还希望对这知识产权法律比较熟悉的朋友能给一些建议。

  不过,在这里,为了感谢这么多支持和期待的朋友,我还是第一时间发布一个预览版吧。在这个版本中,已经实现了QQ的一些基本功能,包括:

   1. 登录:
      使用QQ号码和密码进行登录,在LumaQQ中不支持Email登录的。
   2. 保持连接与登录状态:
      如果长时间没有向服务器发布保持连接包,QQ服务器会认为你已经下线。所以每隔一段时间(2分钟)会向服务器发送保持连接包,同时也有一个功能就是保持本地的Socket对象处理连接状态,断线了则自动重新建立连接
   3. 接收信息
      可以接受来好友或陌生人的信息,但还没有测试能否接收来自网页的临时信息。此项功能也在计划中,因为做QQ机器人还是很需要这个功能的。
   4. 发送信息
      可以向好友或陌生人回复(发送)信息。
   5. 读取QQ好友
      可以从服务器读取好友列表(但没有分组信息,读取好友分组是另一个命令)
   6. 读取在线好友
      可以读取当前在线的好友列表(只是好友QQ和一些状态相关的属性)
   7. 读取QQ详细信息
      可以根据QQ号码根据该QQ的详细信息(包括自己)
   8. 修改登录状态
      可以将自己的登录状态修改为隐身或其它状态
   9. 接收到状态改变
      当一个好友的状态发生改变后,会接收到系统这样的一个通知。
  10. 接收系统信息
      可以接收来自QQ服务器的系统消息,包括广告,好友添加申请等等。
  11. 处理好友添加申请
      当你的帐号设置为需要验证时,会通过系统信息得到好友的验证申请,使用这个功能你可以处理验证申请(接受或拒绝)
  12. 删除好友(未验证)
      通过这个功能你可以删除一位好友。
  13. 把自己从好友列表中删除(未验证)
      通过这个功能你可以把自己从好友列表中删除(是不是黑名单功能?)
  14. 添加好友和发布验证信息(有点问题)
      通过这个功能可以添加好友,在好友设置为需要添加验证时,会有相应的事件,在这个事件中我们可以发送验证请求。但是不知道什么原因,这个功能却很难通过。 首先是发送添加申请的那个包经过没有收到回复,偶尔成功过,但是发送验证请求却不成功。我试了很多遍,极少数情况下可以,使用LumaQQ也经常这种情 况,但是它成功的机会还是比较多。包协议本身可以确认应该是没有问题的。有空再好好测试一下。

  目前就是这么多功能,不过对于只是想开发QQ机器人的朋友来说,这些功能应该是够用了。我今天也特意测试了一些稳定性,结果还是比较满意的,我使用的是代理上网,而且网络情况也不是很稳定。连接在线已经6个小时了,目前依然在线,没有出现什么问题。

  回到QQ.NET使用本身,如果你是直接上网,那么只需要下面这段代码即可登录:

QQUser user = new QQUser(****, "****");
QQ.NET.QQClient client = new QQ.NET.QQClient(user);
user.IsUdp = true;
client.LoginServerHost = "219.133.62.8";
client.Login();

  而如果你代理,则需要设置一下代理服务器地址。注意:目前只需要两个登录方式,如果你直接上网你只能使用UDP登录;如果使用代理上网,那么你就只能使用TCP登录(IsUdp = false)。smile_sad暂时先忍一下吧。

  接口方面,因为QQ本身的功能有很多,我没有像LumaQQ那样把所有的功能都定义在QQClient里面,而是将不同的功能包装到不同的类里面,比如连接 功能有ConnectionManager,包发送和处理有PacketManager,而好友处理则放在FriendManager里面等等。这样分别 包装一下,应该可以大大方便大家的使用。

  在QQ事件方面,每一个QQ事件参数都会有InputPacket和OutPacket两个属 性,分别表示收到此包和对应的发送包。在有的情况下,可能只有接收包,而没有发送包。因为有的输入包是由服务器主动发送给我们的,比如好友消息和系统消 息。所以要正确区分这两个属性的不同之处。

  在包的处理方面,收到包的处理和包的重复发送功能我使用了ThreadPool,而不是 Timer。这让我们更容易控制这些功能的运行时机,改天有时间我会专门介绍这个功能。另外就是超时包,超时包并不是真的网络发送时超时,而是在一个包发 出去后,在一段时间内没有收到QQ服务器的反馈,会再次发送,当发送次数达到一定数量时,就会触发超时事件,不再重复发送。

  这个版本按微软的软件发布阶段来定义的话,相当于第一个CTP阶段。主要是想让大家与我一同测试,找出潜在的BUG,找到改进的办法,所以非常欢迎大家提出各建议。

  祝大家使用愉快,smile_regular

  源码和文档下载
  http://qqnet.googlecode.com/svn/trunk/

[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图
Copyright 2005-2006 Chcodes.Com.中文源码之家 All Rights Reserved .
Powered by:NewAsp SiteManageSystem Version 2.1 SP1 1030