CmultiSendDlg 通过姓名或ID列表的向多人发送信息的对话框
CsendBroadcastDlg 发送广播消息的对话框
CsendToAllDlg 向所有好友发送消息的对话框
CModifyPIDlg 修改个人信息的对话框
六.界面类
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
#define DEFAULT_BROADCAST_PWD "1234567890" 默认的发送广播密码
#define DEFAULT_RECV_PORT_STR "4000,4001,4002"
默认的服务器接受端口号列表
const int ListenSocketNum=10; 最大的接受端口的个数
const int SendSocketNum=15; 最大的发送端口个数
const int TimeWaitForRes=1000; 等待响应的超时时间
const int MaxUserNumber=500; 服务器端最大的用户数
const int UserIdRadix=2000; 用户帐号开始的基数(从这个基数开始增加)
const int PersonNumEveryTime=20; 请求查看在线的人时,每次最多发回的人数
const int TimerSpanServer=30000; 服务器的一个运行时间间隔,过一个这个时间间隔,服务器就检查一次,看用户是否仍然在线
const int DataBufLength=500; 发送数据的最大长度
const int MaxResponseMsgLength=20; 最大的响应消息长度
const int CheckBufLength=512; 检查发回响应的一个缓冲区长度
保存在线人的信息的数据结构
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
#define ADD_AS_FRIEND 3 //CMsg1
#define FRIEND_DETAIL 4 //CMsg1
#define FIND_FRIEND_BY_ID 5 //CMsg1
#define DELETE_A_FRIEND 6 //CMsg1
首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/17/17
免费vc++网上寻呼QICQ源代码(附带文档)(五)由毕业论文网(www.huoyuandh.com)会员上传。