短信短信网关设计报告

linux设置默认网关  时间:2021-02-27  阅读:()

上海易嵌

项目名称: 短信收发系统设计项目负责人: 汤汝

组员: 邵林、陈阳、余刚

目录

概要设计部分错误未定义书签。

一、设计需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

客户端要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

服务端要求错误未定义书签。

限制性需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

项目分配情况. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

二、体统总体结构图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

三、模块介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

1.服务器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2 协议层. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

3. 应用层模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

详细设计部分. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

一、 服务器设计与分析负责人余刚 错误未定义书签。

服务器应用层输入输出错误未定义书签。

模块功能函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

二、协议层设计与分析(负责人:汤汝)错误未定义书签。

1.客户端注册模块错误未定义书签。

2.客户端数据处理模块:错误未定义书签。

.客户端打包解包模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

4.服务端收发模块错误未定义书签。

三、应用层设计与分析负责人:邵林、陈阳 错误未定义书签。

1 .各函数模块介绍错误未定义书签。

1.1短信设置模块错误未定义书签。

 . 短信编辑模块错误未定义书签。

1.3短信操作模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

  4保存模块错误未定义书签。

2.视图模块对的构建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

  1已发件箱. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。

2.2 草稿箱模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45

2. 写信箱错误未定义书签。

2.4发件箱模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

   收件箱模块错误未定义书签。

2.6短信设置模块错误未定义书签。

2. 自定义文件夹模块错误未定义书签。

概要设计部分

一、设计需求

使用TCP/I协议模拟GS协议设计短信收发系统。

客户端要求

1.客户端第一界面为写短信,收件箱,发件箱,已发件箱,草稿箱,短信设置。用户可自定义文件夹。

2.写短信界面进入后需要输入收件人和短信内容,收件人可以从电话本模块中选择,也可以直接输入号码如输入号码和电话本中存在记录匹配,需直接显示为电话本中姓名输入完成后可进行发送操作或存入草稿箱。

3.收件箱中存储从网络端收到的短信,收件箱中的短信按照接受时间排序,未读短信需要被标识。对收件箱的操作包括删除短信包括单条删除多条删除和全部删除) ,显示短信数量,按发件人排序。单独对每个短信条目的操作包括删除,回复,转发,查看信息详情,将发件人保存至电话本将短信内容中号码保存至电话本,将短信条目移至自定义文件夹。

4.发件箱中保存正在发送中的短信如发送成功,则短信转存至已发件箱中。如发送失败,则短信仍保存在发件箱中。对发件箱的操作包括删除短信包括单条删除,多条删除和全部删除显示短信数量。单独对每个短信条目的操作包括删除,转发,发送。

5.已发件箱中保存发送成功的短信,对已发件箱的操作包括删除短信(包括单条删除,多条删除和全部删除) 显示短信数量,按收件人排序。单独对每个短信条目的操作包括删除转发,查看信息详情,将收件人保存至电话本。

6.草稿箱存储短信编辑的草稿对草稿箱的操作包括删除短信包括单条删除,多条删除和全部删除) ,显示短信数量。单独对每个短信条目的操作包括删除,发送。

7.自定义文件夹由用户定义,用户可定义自定义文件夹名称。对自定义文件夹的操作包括删除文件夹,删除短信包括单条删除,多条删除和全部删除) ,显示短信数量。对单条短信的操作同收件箱。用户可定义多个自定义文件夹。

8.短信设置中条目项为是否匿名发送 当前容量显示, 自定义文件夹管理,是否开启发送报告,短消息服务中心设置信息有效期短信黑名单功能。 自定义文件夹管理包括创建自定义文件夹,重命名自定义文件夹,删除自定义文件夹。服务端要求

服务器端需实现接收,存储和转发三种基本功能。另需根据MS协议标准实现延时发送,定时发送匿名发送,短信屏蔽功能。服务器端需启动守护进程。短信服务器

A、提供用户管理表

B、提供短信发送日志并通知是否到达客户手机

C、提供短信接收日志并响应客户端程序连接请求

D、短信内容服务可主要分为点播和订阅两张,点播类型随机发生,用户需要该信息临时点播,为一次性服务,订阅信息由用户定制订阅关系,服务方按时向全部订阅者发送同样的信息

E、手机用户在申请使用服务方所提供的信息服务前,需要注册。注册中要对手机用户进行验证,验证通过后注册成功

限制性需求

1短信字符编码要求根据MS协议实现。

2客户端电话本条数最大200条。客户端短信最大条目数为300条。最大条目数指所有短信文件夹内包括的条目数总量。服务器端存储容量不做限制。四安全性及可靠性需求

1 要求网络传输非明码传输并保证网络传输数据之可靠性。

2要求服务器端稳定安全。

要求客户端存储安全。

项目分配情况

二、体统总体结构图

三、模块介绍

1 .服务器

负责人:余刚

服务器设计为多线程程序,每次用户注册后创建线程为其提供服务。每次用户退出结束结束服务线程。服务器运行开启守护进程,负责写日志以及清理到期的发送失败短信。

其响应流程图如下

每次用户开机时都与服务端建立连接,检查服器失败队列中是否有自己的消息。服务器收到后保存该用户的id号到数组中,并记录总个数。当用户关机后服务器与他断开连接删除数组中的id号,并个数减一。

线程接收短信包后提取目的地址分析目的地址,设置源地址,转发;线程处理流程如下:

将本次信息删除本

接收模块:当用户发送信息报时,服务器接收并保存。

解析模块:将信息报的信息解析出来包括目的地址,源地址大小,内容存入结构体中。

发送模块:将结构体发送到目的地址。提供短信发送日志并通知是否到达客户手机

发送失败分析

1.若对方手机未开机,则服务器保存消息,等待用户开机后再发送。

2.若是网络问题则重新发送,并确认是否接受成功。

服务器数据结构:

S uct   s t_fil_p ack*ead /失败队列头节点(全局)#dfine toa 1   /服务器能接受客户端的个数int cou 记录当前连接客户的个数

S  t client{

Int c  ien ;//套接字描述符

C har uer[12 ;/电话号码

thredt hreadid;//线程D

Struct cl  ent*nex 

} //用户连接时发送给服务器的结构体,记录用户信息

t  t  i  t_hea{

S rut   st_h d p v;

trc t lis _hed next;

}

S trc t a l_p ac k{

S ruc t lin_s edac tmp;

truct tim t mestam;

};/发送失败后保存的结构体

S uct list_filpck 

Struct List_ed  is _h;

Stuc  fil_pac fpc;

};//建立失败内容链表

2.协议层

协议层分为客户端和服务器两种;总共有两个线程,其中接收线程一直存在系统中阻塞读取端口信息,接收到信息后解压解密后发送给应用层。发送线程由用户调用接口函数后开启发送线程,获得发送内容后压缩加密后再打包,发送至服务端。

S ruct c  iensendpdu_ead{/客户发送数据包头部

Uns  ned char  ca   3];

Unsigned car pdu_type;

Unsined cha r;

ns igne h   _len //目的地址长度

Unsiged har  _type;

Un gned h  d a[1  ];/目的地址

n ined char pid;

Unsiged c r cs;

Unsiged hr vp

Unsigned char udl //用户数据长度

};

Strct lien_rcvpdu_ a{/客户接收数据包头部

Unsiged chr sca[13]

nsined car pdu_typ ;

Uns gned char alen;//源地址长度

Unsige cha o_typ

Us  ned char a[11];/源地址

Un ign  har pi;

siged char dcs;

n ge cha scts[];

n igned chr udl;//用户数据长度

 ;

S trc  c  iet_snd_du{/客户端发送数据包

 Struct cl  et e _pduhead hea;

C ha bffer 140];

};

Struct c  int_ec_  {/客户端接收数据包

Surt cl   t_ecv_pdu_head   d;

C r bfer[140];

}

协议层模块图

客户端协议层:

CheapWindowsVPS:7个机房可选全场5折,1Gbps不限流量每月4.5美元

CheapWindowsVPS是一家成立于2007年的老牌国外主机商,顾名思义,一个提供便宜的Windows系统VPS主机(同样也支持安装Linux系列的哈)的商家,可选数据中心包括美国洛杉矶、达拉斯、芝加哥、纽约、英国伦敦、法国、新加坡等等,目前商家针对VPS主机推出5折优惠码,优惠后最低4GB内存套餐月付仅4.5美元。下面列出几款VPS主机配置信息。CPU:2cores内存:4GB硬盘:60G...

CloudCone月付$48,MC机房可小时付费

CloudCone商家在前面的文章中也有多次介绍,他们家的VPS主机还是蛮有特点的,和我们熟悉的DO、Linode、VuLTR商家很相似可以采用小时时间计费,如果我们不满意且不需要可以删除机器,这样就不扣费,如果希望用的时候再开通。唯独比较吐槽的就是他们家的产品太过于单一,一来是只有云服务器,而且是机房就唯一的MC机房。CloudCone 这次四周年促销活动期间,商家有新增独立服务器业务。同样的C...

A2Hosting三年付$1.99/月,庆祝18周年/WordPress共享主机最高优惠81%/100GB SSD空间/无限流量

A2Hosting主机,A2Hosting怎么样?A2Hosting是UK2集团下属公司,成立于2003年的老牌国外主机商,产品包括虚拟主机、VPS和独立服务器等,数据中心提供包括美国、新加坡softlayer和荷兰三个地区机房。A2Hosting在国外是一家非常大非常有名气的终合型主机商,拥有几百万的客户,非常值得信赖,国外主机论坛对它家的虚拟主机评价非常不错,当前,A2Hosting主机庆祝1...

linux设置默认网关为你推荐
免费开通黄钻如何免费开通qq黄钻打开网页出现错误网页上有错误怎么解决?办公协同软件oa办公系统软件有哪些怎么点亮qq空间图标QQ空间的图标怎么点亮保护气球抖音里面看的,这是什么游戏小米3大概多少钱小米3现在多少钱创维云电视功能创维云电视是指什么免费免费建站最好的免费建站ejb开发什么是EJB?ios系统iOS系统为什么那么好
服务器空间租用 网络服务器租用 主机域名 北京租服务器 北京vps 草根过期域名 ftp空间 edgecast 光棍节日志 卡巴斯基永久免费版 ca4249 193邮箱 徐正曦 广州服务器 免费的域名 实惠 工信部icp备案查询 网站加速 cdn服务 云销售系统 更多