C#编写支持多个QQ登录的QQ客户端

来源:互联网 发布:买火车票软件 编辑:程序博客网 时间:2024/04/29 08:36

           因为前段时间比较无聊,就顺便研究了一下QQ 2006 Beta3 的底层协议,于是乎就顺手写了一个QQ客户端,现在只实现了登录,KeepAlive,下载在线好友,发送/接收消息.这几个最基本的功能,其他的功能呢打算放到下一版本在做,为什么呢?因为现在忙,没时间做,而且由于前期没有设计好框架,导致代码已经多到我不想去维护的地步.......

          先给几张图:

       

 登录界面,模仿的象吧,支持隐身登录和自动登录

这两张是主界面

 

最后简单的介绍一下目前实现和未实现:

Project:   RedQ

Version: 1.0.0.1 Beta

EvenMent: Visual Studio 2005

底层核心QQClient.Dll,界面程序RedQBuddy

两者完全分离,通过事件进行通讯,QQClient可以作为类库提供给其他开发者使用.

QQClient目前有几个文件:

QQDef.cs 存放常量

QQFunction.cs 存放常用函数

QQCrypt.cs  加密解密模块,源代码已经公布了的,自己到我Blog里面找

QQClient.cs  核心,包括网络层实现,事件实现,和界面通讯

现在QQClient已经臃肿混乱的不行了,给张图就明白了

 

Qbuddy界面制作就不说了,为了方便全是往上面丢控件,丢得我看到就想吐

问:是否公布源代码?

答:否!因为代码太烂自己看的都想吐,现在正在规划第二版,有可能的话会公布源代码

问:第二版有哪些改变?

答:首先是代码构架,至于怎么各构架法,我想了3天还没想出来,谁叫我没学过设计模式-_-#!

     代码会分的很细,现在的想法是Client里面网络层要分离出来,事件要更容易通知,解决超时检测的问题,细分[In] [Out]Packet,做成一个标准接口

     Gui端的工程可能比较大,可能所有的东西都要用GDI+来画,慢慢来,遥遥无期呵呵

     虽然这是我的无聊之做,为的是提高自己的编程水平,结果却发现有着不小的用处,不知道是Tencent有问题还是公司在搞鬼,整个公司的人都不能用正常的QQ登录-_-#,不过用自己写的客户端就可以 呵呵:)

     另外有时间再把 2006 Beta3的协议文档整理整理供大家参考:)

 

 

原创粉丝点击