基于C的短信收发系统的设计与实现毕业论文



《基于C的短信收发系统的设计与实现毕业论文》由会员分享,可在线阅读,更多相关《基于C的短信收发系统的设计与实现毕业论文(23页珍藏版)》请在文档大全上搜索。
1、季徵研技冬院本科生毕业论文(设计)题目:基于C的短信收发系统的设计与实现姓名:秦正阳学 院:数理信息与工程专 业:计算机科学与技术班 级:11级计算机4班学 号:1881110415指导教师:刘斌 职称:副教授2015 年5月4 日安徽科技学院教务处制摘要 1关键词 1引言 11 系统概述 11.1 研究系统的目的和意义 11.2 国内外研究状况 21.3 应用前景 22 系统知识简介 22.1 GMS协议介绍 22.2 TCPsocket 编程模式 32.3 多线程编程的介绍 42.4 开发工具 53 短息收发系统分析 53.1 需求分析 53.2 可行性分析 53.2.1 技术可行性 53
2、.2.2 经济可行性 53.2.3 操作可行性 64 系统的设计和图分析 64.1 保存信息的内容 64.2 一级和二级服务器端 64.3 client 端 64.4 系统的总体设计 75 系统的实现和代码分析 85.1 一级server 85.2 二级server 95.3 client 端 116 . 系统测试 176.1 测试的目的及意义 176.2 一级服务器的性能测试 176.3 二级服务器的性能测试 186.4 本系统测试的总结 187 开发总结 18致谢 18参考文献 19英文摘要 20o基于C的短信收发系统的设计与实现计算机科学与技术专业指导教师秦正阳刘斌摘要:本短信收发系统是
3、基于 Linux下c语言,多线程,GMSS信协、议,select非阻塞方式, 采用TCP的连接和传输方式和网络编程来实现的。我要做的就是模拟手机短息的形式来实现短信的收发,一个总服务器去管理多个二级服务去,然后二级服务器去管理多个客户端,通过设计二层服务器的形式来实现服务器的负载均衡,这样同号码段的号码就可以通过所在号码段的二级服务器实现客户端的短信的收发,不同号码段的信息要通过一级服务器进行转发实现客户端的信息收发,通过这个系统的实现可以把以前所学的知识联系起来,得到巩固和自己编程能力的提升。嘲箱闰属侈瘗睐板尻赖。 关键词:c/s;短信收发;多级服务器;负载均衡 ;多线程.“»WQ
4、IWMMaClliOMMIMmNBYBIIIIilMMUppMgfr 随着网络的普及,人类生活越来越依赖网络,人与人之间的交流也越多的在网络上进行。由于交流的实时性,即时通讯系统也被越来越多的人所使用。即时通讯系统除了普通的生活上的交流,也在商业交流中越来越受到重视,它可以是个很好的与客户之间即时交流的平台,在时间上它要比电子邮件更加具有实时性, 而费用相对电话交流也要经济的多。在这种环境下,聊天软件作为一种即时通讯工具,得到了很好的发展。因此,设计开发一个可以灵活用于网站,论坛,公司或企业内部交流的聊天工具很有必要。残鹫楼静铸腌翻遮藏随着网络的的发展,网络上出现了各式各样的聊天工具,有国外的
5、也有国内的,但是他们的用途都一样,都是用来通信。纵观网络聊天工具的发展,市面上用的做多的莫过于QQ MSN YY微信等聊天工具,这些聊天工具针对不同的人 群有不同的选择,大多数的人用 QQ微信进行聊天、发心情、写日志、发说说、 图片等;工作上的人大多数使用 MSN这是国外的聊天工具,它不像 QQ那样能 够轻易得到别人的信息,从而带来骚扰,MS业须使用邮件进行聊天,用它也显示其专业性;像YY这样的聊天工具,有玩游戏的在使用,有网络教学的在使用, 群体不限,根据自己的爱好可以随意选取。还有基于网页的聊天工具,如新浪网聊天室、网易聊天室等。如新浪网聊天室,该网站为不同年龄、不同职业、不同地区、 不同
6、爱好的网友量身定制了数百个不同主题的 “房间” 。 以新浪聊天室看,聊天室呈现积聚人气的作用,并开设不同主题的聊天室以使网名具有针对性的使用聊天室。针对不同年龄层开设的额 “同龄话题”使各年龄层次的用户话题和选择自己聊天对象群体,找到自己合适的聊天话题,并且针对目前社会流行的热门话题和流行话题都有相应的主题室。r钢极飘镇桧猪锥。在网络发展日益成熟的今天,各式各样的网络聊天工具已经展现在我们的眼前。 他们之间都是大同小异,实现的功能各不相同;有些聊天工具只是实现聊天通讯,传输文件等简单的功能,而有些聊天工具做的非常全面,还有这视频,语音, 以及娱乐性的游戏等功能1。 说到QQ, 应该没有人不知道
7、吧?它是腾讯出台的一款聊天工具,这也是在国内出现的比较早的聊天工具,历经十几年的发展,已经发展到几亿用户的规模。它实现的功能非常多,有语音、视频、文件、应用等功能。 其最主要的就是应用功能,这些应用不仅给用户带来了乐趣,而且也给 自身带来了巨大的利润,腾讯在 QQ的应用中添加广告、设置需购买的道具等来 获取利益。价钱看似比较低,但是由于用户的基数庞大,每年的利润也非常高。这样的聊天工具在开发技术上已经没有什么难题,并且具有广泛的应用和市场空 间。弹贸摄尔霁毙揽砖卤尻。2系统知识简介应用了 GMS*议的结构体中包含了信息当中许多重要的信息, 如下面的结构 体所介绍的信息,我也应用了 GMSJ息协
8、议来填充自己数据结构,其中我的短信 收发用到的数据就给其赋上自己需要的值2。邠戢箧翻翱:类蒋番存放信息的结构体,主要存放信息的发送时间,信息的长度和具体的信息。typedef struct data char time30;/ 信息发送的时间int count;/ 信息的长度char message160; / 信息体data;发送信息的信息头部,存放一些重要的信息和进行信息验证的机制。typedef struct submit_head unsigned char sca_len;/ 短信息中心的地址长度unsigned char sca_type;/ 短信息中心号码类型unsigned c
9、har sca_add11;/ 短信息中心号码unsigned char file_tou; / 文件头字节unsigned char pdu_type;/PDU 类型unsigned char da_len;/接受方地址长度unsigned char da_type;/接受方地址类型unsigned char da_add11;/ 接受方地址协议标示数据编码方案信息有效期/用户数据长度unsigned char pid;/ unsigned char dcs;/ unsigned char vp;/ unsigned char udl;submit_head;接收信息的信息头部,也是存放一些
10、重要的信息。typedef struct deliver_headunsigned char sca_len;/服务中心的地址长度unsigned char sca_type;/ 月艮务中心类型 unsigned char sca_add11;/服务中心地址unsigned char pdu_type;/PDU 类型 unsigned char oa_len;/发送方地址长度unsigned char oa_type;/发送方地址类型unsigned char oa_add11;/发送方地址unsigned char pid;/协议标志unsigned char dcs;/数据细鸣方案iuns
11、igned char stcs7;/服务中心时间戳unsigned char udl; /用户数据长度deliver_head;发送信的一个完整的结构体。typedef struct submitsubmit_head sub_head;/ 发送协议头结构体变量data user_data; /用户数据结构体变量submit;接收信息的一个完整的结构体。typedef struct deliver一deliver_head delv_head;/接受结构体头变量data user_data; /用户数据结构体变量deliver;TCP是一种面向连接(连接导向)的、可靠的、基于字节流的 运输层(