短信短信网关设计报告

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];

}

协议层模块图

客户端协议层:

RackNerd 2022春节促销提供三款年付套餐 低至年付10.88美元

RackNerd 商家我们应该是比较熟悉的商家,速度一般,但是人家便宜且可选机房也是比较多的,较多集中在美国机房。包括前面的新年元旦促销的时候有提供年付10美元左右的方案,实际上RackNerd商家的营销策略也是如此,每逢节日都有活动,配置简单变化,价格基本差不多,所以我们网友看到没有必要囤货,有需要就选择。RackNerd 商家这次2022农历新年也是有几款年付套餐。低至RackNerd VPS...

Webhosting24:€15/年-AMD Ryzen/512MB/10GB/2TB/纽约&日本&新加坡等机房

Webhosting24是一家始于2001年的意大利商家,提供的产品包括虚拟主机、VPS、独立服务器等,可选数机房包括美国洛杉矶、迈阿密、纽约、德国慕尼黑、日本、新加坡、澳大利亚悉尼等。商家VPS主机采用AMD Ryzen 9 5950X CPU,NVMe磁盘,基于KVM架构,德国机房不限制流量,网站采用欧元计费,最低年付15欧元起。这里以美国机房为例,分享几款套餐配置信息。CPU:1core内存...

819云(240元)香港CN2 日本CN2 物理机 E5 16G 1T 20M 3IP

819云是我们的老熟人了,服务器一直都是稳定为主,老板人也很好,这次给大家带来了新活动,十分给力 香港CN2 日本CN2 物理机 E5 16G 1T 20M 3IP 240元0官方网站:https://www.819yun.com/ 特惠专员Q:442379204套餐介绍套餐CPU内存硬盘带宽IP价格香港CN2 (特价)E5 随机分配16G1T 机械20M3IP240元/月日本CN2 (...

linux设置默认网关为你推荐
u盘无法读取U盘无法识别是怎么回事最新qq空间代码qq空间都是有哪些免费代码!(要全部)微信如何建群微信建群怎么建不兼容安卓手机软件不兼容怎么办?彩信中心短信中心号码是多少硬盘人电脑对人有多大辐射?人人逛街人人逛街网是正品吗cisco防火墙cisco防火墙里k9是什么意思263企业邮箱设置263企业邮箱如何设置白名单?怎样申请支付宝如何申请支付宝?
域名注册网 个人虚拟主机 科迈动态域名 ion sockscap 搜狗12306抢票助手 主机合租 台湾谷歌网址 免空 支付宝扫码领红包 web服务器安全 爱奇艺会员免费试用 宏讯 web应用服务器 德隆中文网 主机返佣 云销售系统 锐速 卡巴斯基免费版 文件传输 更多