论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
六.界面类
CGfxGroupEdit,CGfxOutBarCtrl,CGfxPopupMenu
实现像OutBar和oicq样式的那种滚动分栏的界面类,从Internet,上获得的源代码,通过修改一些接口,使之更适合我的应用。提供了一个漂亮的界面。
TrayIcon类
处理在任务栏上添加.修改.删除图标的类。封闭了Window的API函数
八.全局结构:
UserInfo结构存储在线人的信息
FriendState 在好友线信息结构
SaveMsg 消息的存储结构
Sparam 传给线程的参数结构
§4.4服务器端的常量定义
在这里,定义和申明了一些全局函数,常量,宏和全局数据结构,包括用户配置文件名,默认的参数等,总之,修改程序中的参数简单,直接修改头文件就可以了,因为所使用的数值性的参数,都在这里定义了。
#define ResponseMsg "ok" 发送数据时,发回的响应消息标志
#define SETUPFILE "config.ini" 服务器的保存配置文件
#define DEFAULT_SEND_NUM 5 默认的发送端口的数量
#define DEFAULT_DATAS_PWD "" 默认的数据源的访问密码
#define DEFAULT_DSN "IDServer" 默认的数据源名称
#define DEFAULT_UID "" 默认的数据源的访问的UID
保存在线人的信息的数据结构
typedef struct{
BYTE State; //0 不在线,1 在线,2 隐身
BYTE CanbeAdd;
DWORD Id;
DWORD IP;
DWORD Port;
DWORD PhotoId;
CString Name;
CString Department;
}UserOnline;
全局函数
UINT ProcessRecvData(LPVOID param);
处理用户请求的线程服务函数
UINT CheckOnline(LPVOID param);
处理定时检查用户是否仍然在线的线程函数
服务器接受到的消息类型
#define SEND_MSG_TO_FRIEND 1 //CMsg1 index,friendId,myId,msg,time
#define FRIEND_IDENTITY_VALIDATE 2 //CMsg1 (转载自http://zw.NSEaC.com科教作文网)
#define ADD_AS_FRIEND 3 //CMsg1
#define FRIEND_DETAIL 4 //CMsg1
#define FIND_FRIEND_BY_ID 5 //CMsg1
#define DELETE_A_FRIEND 6 //CMsg1