int m_nTimeOut; //发送一次数据的超时时间
BOOL m_bServerStarted; //标志服务是否已经开启
UserOnline* m_pUsers; //用来存储服务开启后,在线人的信息的一个指针,
CDatabase m_Database; //数据库对象
CString m_sConnectString; //联接数据库需要的字符串参数
int m_nNumberOnline; //当前在线的人数
int m_nMaxUserId; //最大的用户帐号(随着用户帐号的申请而增加)
int m_nRecvMsg; //当前从启动后,接受到多少交请求信息
CString m_strBroadcastPwd; //发广播消息的密码
CString m_strDataSource; //数据源的字符串
CString m_strDataSUID; //用户UID字符串
CString m_strDataSPwd; //数据源的密码字符串
CString m_strLocalIP; //本计算机的IP地址字符串
public:
virtual BOOL InitInstance(); //服务器程序的初始化部分
afx_msg void OnAppAbout();
afx_msg void OnSetupServer(); //进行服务器设置
afx_msg void OnStartServer(); //启动服务
afx_msg void OnUpdateStartServer(CCmdUI* pCmdUI);
afx_msg void OnUserOnline(); //显示在线的用户的对话框
afx_msg void OnCloseServer(); //关闭系统服务
afx_msg void OnUpdateCloseServer(CCmdUI* pCmdUI);
afx_msg void OnAppExit(); //处理程序的退出,执行程序中必要的清理工作
afx_msg void OnUpdateUserOnline(CCmdUI* pCmdUI);
DECLARE_MESSAGE_MAP()
};
§4.12 客户端的应用程序类CClientApp的设计
CClientApp类,定义了客户端全局的数据结构,客户端应用程序的入口
class CClientApp : public CWinApp
{
public:
CClientApp();
BOOL m_bOnlineState; //用户的在线状态(0,1,2 分别为离线,在线,隐身)
int m_nNumberHeadBmp; //保存头像文件的个数(从文件中读出)
CArray<UserInfo*,UserInfo*>m_aUserInfo; //存储好友信息的数组
CArray<UserInfo*,UserInfo*>m_aStranger;//存储陌生人信息的数组
CArray<FriendState*,FriendState*>m_aUserState;
//存储好友的在线状态及相关信息
CArray<FriendState*,FriendState*>m_aStrangerState;
//存储陌生人在线状态及相关信息
CArray<SaveMsg*,SaveMsg*>m_aSysMsg; //接受到的系统消息数组
int m_nCurSysMsg; //当前读到的系统消息的位置(索引)
CArray<SaveMsg*,SaveMsg*>m_aBroadcast;存放广播消息的数组
int m_nCurBroadcast; // 当前读到的广播消息的位置(索引)
CArray<SaveMsg*,SaveMsg*>m_aBeAdd;//存放自己被别人加为好友的信息
int m_nCurBeAdd; 当前读到的被别人加为好友的信息的位置(索引)
CClientSocket m_Socket; //底层通讯类的实例对象
DWORD m_uCurrentUserID; 当前用户的ID号
CString m_strCurIDpwd;当前用户的密码
CString m_strCurUserDir;当前用户的运行目录(是ID的数字串为目录)
CString m_strServerIP; 服务器IP地址的字符串
DWORD m_uServerIP; 服务器IP地址的32位整数
DWORD m_uServerPort; 服务器的端口号
BYTE m_cLoginType; 登陆时,选择的状态(是否隐身登陆)
CImageList m_imaLarge; //用户头像的大图标列表
CImageList m_imaSmall //用户头像的小图标列表
CImageList m_imaHead; //供用户选择头像时的大图标列表(没有灰色显示的)
CBitmap** m_paBitmap;//用来指向在运行时,动态创建的Cbitmap对象数组
int m_nBitmapNum;//指示Cbitmap对象的个数
virtual BOOL InitInstance();
//包括客户端的初始化和配置信息的读取等
virtual int ExitInstance();
//退出时,必要的清理工作
首页 上一页 10 11 12 13 14 15 16 下一页 尾页 13/17/17
免费vc++网上寻呼QICQ源代码(附带文档)(十三)由毕业论文网(www.huoyuandh.com)会员上传。