免费获取|
论文天下网
  • 论文天下网 |
  • 原创毕业论文 |
  • 论文范文 |
  • 论文下载 |
  • 计算机论文 |
  • 论文降重 |
  • 毕业论文 |
  • 外文翻译 |
  • 免费论文 |
  • 开题报告 |
  • 心得体会 |

当前位置:论文天下网 -> 免费论文 -> 计算机论文

免费vc++网上寻呼QICQ源代码(附带论文)(七)


#define ALL_FRIEND_ID         45  //CMsg2 收到这个信息,这表示登陆成功
#define ONLINE_FRIEND         46   //CMsgOnlineFriend
#define BE_ADDED_AS_FRIEND   47   //CMsg1 响应好友加入的消息
#define SYSTEM_BROADCAST     48   //CMsg1  发送系统广播


§4.5客户端的常量定义

 在这里,定义和申明了一些全局函数,常量,宏和全局数据结构,包括用户配置文件名等,总之,修改程序中的参数简单,直接修改头文件就可以了,因为所使用的数值性和可变性的参数,都在这里定义了。
 
#define WM_RECIEVE_MSG  WM_USER+104  
 //客户端接受到数据后向父窗口发送的消息
#define WM_SENDINTHREAD_RES  WM_USER+105
 //调用在工作线程中发送数据时,发送后向窗口发送的反馈消息
#define WM_SHOW_FRIEND_DETAIL WM_USER+106
 //发给CfriendDetailDlg对话框的一个消息,让它显示指定人的详细资料,传入的参数中WPARAM 是需要显示的人的UserInfo数据的指针,LPARAM是FriendState数据的指针.
#define WM_RECVMSG WM_USER+ 107
 //发给ClookDlg对象框的一个消息,让它显示别人发来的信息窗口,一有数据传到,就向它发送这个消息即可,就会显示一个查看消息的对话框,接口简单。传入的参数中WPARAM 是需要显示的人的UserInfo数据的指针,LPARAM是FriendState数据的指针.
#define WM_SEND_MSG  WM_USER+108
 //发给CtalkDlg对象框的一个消息,指示我要对指定对象发送消息,只要向其对象框对象发送这个消息,就会打开一个发送消息的对话框,不需知道内部细节。传入的参数中WPARAM 是需要显示的人的UserInfo数据的指针,LPARAM是FriendState数据的指针.
#define ResponseMsg "ok"  //确认信息串
#define USERFILE "users.db"   //保存用户的好友信息的文件
#define MSGFILE  "msg.db"     //保存用户聊天记录的文件
#define ALLUSERIDFILE "client.cfg"
 //客户端的一个记录所有登陆帐号的文件
#define USERSETUP "config.dat"    //客户端的一个配置文件
#define FACEINIFILE "face\\face.ini"  //头像文件的记录文件

在这里略去与服务器相同的:
const int TimeWaitForRes=3000; 发送数据超时时间
const int PersonNumEveryTime=20;查看在线的人,每次发回的多少人
const int TimerSpanClient=40000; 客户端每隔这个时间,若没有收到TOTAL_ONLINE消息(所有在线人数),就判断客户端已经掉线了。
const int DataBufLength=1000;  发送接受数据最大长度
const int MaxResponseMsgLength=20;
const int UserFileReservedLength=20;
 //用户user.db文件中,前面保留的字节数,以备以后扩充使用
const int MaxPasswordLength=16;密码的最长长度
const int LimitMaxMsgLength=900;限制每次发送消息的字节数
const int AutoSaveTime=200000; 自动保存用户信息的间隔时间
const int CheckBufLength=128; 检查确认信息的缓冲区长度

必要的类申明,否则以下几个数据结构会有编译错误
class CData;
class CMsg1;
class CMsg2;
class CLookDlg;
class CTalkDlg;
class CFriendDetailDlg;
class CClientSocket;
在客户端保存用户详细信息的数据结构
struct UserInfo{
 BYTE HaveDetail; //(0 没有详细资料, 1 有)
 BYTE CanbeAdd;
//能否被加入的标志(0拒绝所有,1允许任何,2需要身份验证)
 BYTE Sex;
 DWORD Id;
 DWORD PhotoId;
 char Age[10];
 char Name[20];
 char Phone[20];
 char Email[30];
 char Fax[20];
 char Homepage[40];
 char Address[60];
 char Department[20];
 char Description[100];
 UserInfo();  //对各个成员进行初始化
};

//保存消息的数据结构
struct SaveMsg
{
 DWORD ID;
 CTime Time;
 CString Msg;
};

 保存好友的在线、收发的消息、在线的IP和Port以及发送消息、查看消息、好友详细信息的窗口的指针等一些相关信息的数据结构,这些都是运行时的数据结构,不需要存储的数据。对话框都是无框式对话框,所有,必须保存各个对话框的指针。
struct FriendState
{
 FriendState();//做必要的初始化操作
 ~FriendState();//删除动态产生的数据
 BYTE OnlineState;  //(0,1,2 离线,在线,隐身)
 DWORD IP;  在线的IP
 DWORD Port; 在线的Port
 CArray<SaveMsg*,SaveMsg*>aMsg; 收发的消息列表
 int nCu

首页 上一页 4 5 6 7 8 9 10 下一页 尾页 7/17/17

相关论文
上一篇:免费vc++医药管理系统+论文 下一篇:免费vc中国象棋软件
推荐论文 本专业最新论文
Tags:免费 网上 寻呼 QICQ 源代码 附带 论文 【返回顶部】

相关栏目

自动化相关
计算机论文
工程管理论文
法律论文
医学论文
人力资源
电子专业
电气工程
英语论文
行政管理
电子商务
社科文学
教育论文
物流专业
金融专业
财务管理
会计专业
化学化工材料科学
电子通信
环境科学
经济类
机械模具类
报告,总结,申请书
其他专业论文


关于我们 | 联系方式 | 论文说明 | 网站地图 | 免费获取 | 钻石会员 | 原创毕业论文

 

论文天下网提供论文检测,论文降重,论文范文,论文排版,网站永久域名WWW.GEPUW.NET

本站部分文章来自网友投稿上传,如发现侵犯了您的版权,请联系指出,本站及时确认并删除  E-mail: 893628136@qq.com

Copyright@ 2009-2022 GEPUW.NET 论文天下网 版权所有