Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1992646
  • 博文数量: 950
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 13070
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-04 09:23
文章分类

全部博文(950)

文章存档

2011年(1)

2008年(949)

我的朋友

分类: C/C++

2008-08-04 09:34:48

下载本文示例代码
下载源代码

一、概述

  1. 本系统为内部系统,帐户由管理员添加、管理;
  2. 分为两个组,User组和Boss组。Boss组的帐户可以发广播通知;
  3. 任意两个用户间可以互相通信;
  4. 数据库接口用DAO,网络通信用 CSocket CSocketFile;

二、详细设计

1、数据库设计

本系统只是一个消息通信模型,这里的数据库设计比较简单。

ER图:


 

把ER模型转为关系模型,共两个表:

User (No , Name ,Password ,G#) 候选键:No 外键:G#

Group (G# , GroupName ,Demo ) 主键 :G#

2、消息格式设计

<1>、传送的消息共有5类------登录消息,验证返回消息,普通消息,用户列表消息,通知消息。定义一个枚举类型:

enum MSGTYPE {LOGIN , LOGINResponse , CHATTING , USERList , NOTICE};

<2>、定义消息类

class CMsg : public CObject  

{

public:

     int m_eType;   //枚举类型,记录消息类型

     CString m_strMsg;   //消息

     CMsg();

     virtual ~CMsg();

     void Serialize(CArchive &ar);  //消息类系列化函数,发送和接受消息时用。

};      
<3>、m_strMsg 为消息类中存放消息的成员,它的具体格式随着消息类型m_eType不同而不同。
  下载本文示例代码
m_eType m_strMsg
LOGIN 呢称|密码
LOGINResponse GOOD|欢迎!(BOSS) 或 FAILED|验证失败!
CHATTING 发给(来自)的用户名|消息内容
USERList 呢称1|呢称2|…|呢称n|END
NOTICE ALL|消息内容 或 来自的用户|消息内容
阅读(435) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~