本文档为ZZ聊天软件使用说明文档
------文档作者:过客
------作者邮箱:386520874@qq.com
------撰写时间:2013.10.14凌晨于夜深人静之时
1. 软件作用
该软件主要用于网络聊天,可单人对单人聊天,也可多人在线群聊
2.声明:此软件全为过客一人独立开发编写,仅供娱乐,不可做商业目的
3. 开发环境:大名鼎鼎的VC++以及牛气哄哄的VS2010
4.使用步骤
(1) WinXP版本(Win7也一样)
1.1.1 解压”ZZ发布1.0.0.1版本(WinXP).rar”
1.1.2 双击打开”ZZ发布1.0.0.1版本(WinXP)\ZZServer\bin\ZZServer.exe”
1.1.3 单击”ZZ服务器列表”对话框左下方”开启”按钮,如果出现”服务器绑定监听成功3”即为服务器成功开启,接下来就是漫长的等待客户端来连接该服务器(注意对话框最下方的IP地址,这个IP地址就是你的电脑的IP地址,也是所有客户端连接时需要输入该IP和端口,例如192.168.77.20:8001)
1.1.4 双击打开” ZZ发布1.0.0.1版本(WinXP)\ZZClient\bin\ZZ.exe”,注意该目录下的MouseHook.dll必不可少,并且必须和ZZ.exe在同一个目录
1.1.5 单击”ZZ号码/手机/邮箱”下拉列表框,随便选一个登陆账号例如386520874
1.1.6 如果单击”登录”按钮的话,会提示”请在本登陆框背面,设置你要登陆的服务器ip地址,注意:是TCP类型”,你点确定后,再单击右上角齿轮形状的按钮,然后在登录服务器的类型下拉列表中选择”TCP类型”(目前还不支持UDP类型),再在地址编辑框里面输入刚才服务器的IP地址,注意格式为[XXX.XXX.XXX.XXX]其中XXX是[0-256]的整数,也可以是别人的电脑上开了该服务器的IP地址,然后在端口编辑框里面输入”8001”,这是服务器默认端口,不能更改,然后单击确定按钮,结果如下图所示
1.1.7 在上一步单击确定后,就回到一开始2.1.5所示的界面,这时再单击”登录”按钮,如果不出意外的话,会出现”ZZ2014”的列表框,如下图
1.1.8 重复2.1.4到2.1.7打开另一个ZZ账号,例如”100001”,如下图
1.1.9 单击ZZ昵称为”过客”头像,出现如下聊天对话框(为省版面略)
1.1.10接下来,我想不用我多说,都知道该怎么做了,哥还是给个示范吧,如下图
===========================================================
好了,高清大图欣赏完毕,下面说说在开发过程中的一些心得吧
也许你是来自21世纪的人才,一眼就能看出,这是一个三寨版企鹅,嗯,没错,哥是纯属娱乐一下,一开始以为开发聊天程序很简单用个对话框上面放N多按钮,然后写一下各个按钮的功能就是了,至于网路部分没什么值得伤脑筋的,各种网路协议都制定好了的,按部就班就行,不过,我还是要说:话虽如此。。。。。
1.我最开始从登陆后的那个列表来写的,后来发现按钮都是小kiss,真正的大boss是那个好友列表框,这个框框,我一开始以为是树形控件TreeCtrl,后来越觉得不是,我发现有人甚至说是一个ListBox,我真的很无语了,单单一个树形控件就花了两个月去折腾,两个月后我得出的结论是微软的标准控件很强大,但如果要做更炫的界面,千万不要按照它给的那些方法来思考,因为那些标准的东西灵活度太小了。最好是自己定义数据结构,然后在内存中画图,最后一起画到屏幕上,当然前提是内存吃得消,CPU跑得动
2.对于透明背景的处理,也很伤脑筋,总不能每一张都做成png吧,简单的话用基本的那几个API就行了,但最好还是选择GDI+来画图,但我发现GDI+对字体的处理貌似很特别
3.对于窗口之间的相互关系要驾轻就熟,是父子关系呢,还是爷孙关系得心里有数,还有就是窗口的Z序,也容易让人晕
4.对于动画效果,当然得设一个计时器啊,不然怎么动啊,setTimer啊都行,但我没用过另开一个线程来负责动画,因为我觉得太过兴师动众了,为了画一个gif而开一个线程,太浪费了
5.无句柄窗口,这个东西初听很高深,其实我也不知道是什么意思,据说vista全是用的这个技术,直到有一天我觉得我写的聊天4件套差不多了,到收尾的时候,用Spy++瞧瞧QQ用了多少个窗口句柄,居然发现是only one,我那个心发凉发凉的,意思就是说你外貌像极了,但是是抹了10层脂粉才这样,少一层都露馅,为此我还得重新考虑写一个中间类,来专门处理无句柄窗口(不知道可不可以叫dirct draw),想来想去,最后居然自己写了一类似CWnd的类,唉,那才叫一个痛苦啊,每天不停的上MSDN,网页都快翻烂了,基本的鼠标,键盘消息都得重写一遍
6.最最痛苦的是,文本框的无句柄窗口不能直接用微软现成CEdit,也许有哪位大神知道隐藏句柄的方法,麻烦告诉我一声。最后不得不自己写一个CEdit类,听清楚了,是CEdit啊,微软又没公开这些类的代码,自己得一个一个功能的模仿,为此弄得我两月寝食难安,总算大概像个样子了
7.还有那个RichEdit的图片至今不知道用的是什么格式存储的,metaFile又不像,rtf也不可能,唉,谁又知道是一套什么规则呢,要是哪天愤怒了,哥直接将Word的内存全部拷贝下来,一个一个0,1,0,1的分析
,我看还是算了吧,太没意义了
8.网络部分的设计,我一开始就老想着为服务器减压,在每个客户端自己再开一个监听套接字,来直接处理好友发来的信息,这样就直接点对点了,不再经过服务器这一中间环节了,后来发现这是一个浆糊版的蜘蛛网啊,放弃了,服务器嘛,就是专门为别人的服务的咧,你可别想偷懒
9...........
如果要下载链接,可以到
http://pan.baidu.com/s/1IXam (ZZ发布1.0.0.1版本(WinXP).rar)
http://user.qzone.qq.com/386520874/infocenter#!app=2&via=QZ.HashRefresh&pos=1381687455
本文档详细介绍了一款名为ZZ的聊天软件的安装与使用过程,包括服务器与客户端配置步骤,并分享了开发过程中的心得体会。

3239

被折叠的 条评论
为什么被折叠?



