- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常州信息职业技术学院
《软件开发与项目管理》
学生作品
作品题目: 班级信息管理系统中服务端的设计与实现
作品作者: 欧林华
指导教师: 余永佳
完成时间: 2014.06.20
一、选题背景
在信息化的今天,信息对于我们是不可缺少的,在高校的日常教学管理活动中,老师和学生之间会产生许许多多的信息的交流。传统的信息通讯工具主要是以手机为主,其次还有通过网络来进行信息的交互。通过调查可以发现,高校中学生使用手机的人数在总人数中占据了很大的比重,而智能手机更是得到学生们的青睐。如今的智能手机更能强大拓展能力强,且便于携带,因此,许多老师都会选择手机来与学生进行交互。但是有时也会遭遇这些的困扰。
通过手机短信给学生发送信息时,如果学生不回复的话,那么老师就无法知晓这则消息是否被该学生阅读过;使用一些现有的聊天工具,如飞信、QQ、微信,常规的还有手机短息。同上述一样。在得不到对方回复的情况下,老师还是无法正确的判断这则消息是否被阅读了。所以老师不知道自己想要传达的信息有没有真正传达到学生那里;而如果使用电话来告知,这个方式比起上述两种方法有着很大的区别。打电话通知比起上面两个方法显得比较正式、严肃,带有很强的目的性。但是这个方式有着很大的缺陷,这种方式只能一个一个的进行通知,不仅效率不高,而且花费的代价也是比较大。
所以我们根据上述的情况,结合高校中学生手机的使用情况,开发出一款能在老师和学生之间都能使用的通讯软件。
该通讯软件由一个教师端和一个学生端组成。老师操作教师端向一个或者多个学生发送信息,学生操作学生端可以查看信息的状态,能按照相应的条件进行排序,可以对教师端发送过来的信息进行反馈,还能够同教师端进行实时交流聊天。而这些客户端之间又是由服务器来进行连接通讯的。
有了这样一款软件,极大的方便了老师的教学任务,更有利于学生及时了解学校下发的各种信息。
二、系统开发技术
2.1 基于TCP协议的Socket通信
1、架构
基于TCP协议的Socket通信。架构类似于C/S架构,一个Socket通信服务器,多个Socket通信客户端。Socket通信服务器启动时,会建立一个侦听Socket,侦听Socket主要负责监听数据流转,当有数据转入时侦听Socket会将侦听到的Socket连接传给接受Socket,然后由接受Socket完成接受、发送消息,如果Socket存在异常,则连接中断。在实际开发项目中,往往要求Socket通信服务器能提供高效、稳定的服务,一般会用到以下技术:双工通信、完成端口、SAEA、池、多线程、异步等。特别是池,用的比较多,“池”一般包括一下几种:
(1)、Buffer池,用于集中管控Socket缓冲区,防止内存碎片。
SAEA池,用于集中管控Socket,重复利用Socket。
(2)SQL池,用于分离网络服务层与数据访问层(SQL的执行效率远远低于网络层执行效率)。
(3)线程池,用于从线程池中调用空闲线程执行业务逻辑,进一步提高网络层运行效率。
图2-1 Socket通信示意图
2、通讯
主服务器的接受Socket作为一端,客户端Socket为一端,这两个端口通过TCP协议建立连接,通信基础系统负责管理此连接,这种基于TCP/IP协议,并且能够建立稳定连接的点对点通信,它的特点是安全性高,稳定性强且数据不会丢失。它有发送消息和接受消息两个主要功能。
Socket的Send方法,并不是像大家想象中的从端口A发送消息到端口B这么直接,它只是把端口A中的数据转存到基础系统的发送缓冲区,然后再由基础系统把发送缓冲区中的数据发送到已经连接的另一端口B。值得一说的是,这里的数据转存与同步发送消息的转存是不一样的,同步发送的转存,是直接拷贝数据到基础系统缓冲区,拷贝完成后返回,在拷贝的过程中,执行线程会IO等待。 此种拷贝与Socket自带的Buffer空间无关,但异步发送消息的转存,是将Socket自带的Buffer空间内的所有数据,拷贝到基础系统发送缓冲区,并立即返回,执行线程无需IO等待。这样一来,异步发送在处理完端口A数据开始发送之前必须执行SetBuffer方法,拷贝完成后,会触发你自定义回调函数ProcessSend,在ProcessSend方法中,再调用SetBuffer方法,重新初始化Buffer空间。
图2-2 Socket通信数据交互示意图
2.2 开发语言
本次实验采用C#作为开发语言,C#是一种面向对象的高级程序设计语言。选择它是因为C#看起来与Java类似,又和C有着千丝万缕的关系,所以对于我个人来讲,主要的原因之一是技术上难点会小很多。
C#和Jav
您可能关注的文档
- 汽车电工与电子技术 7.2基本逻辑门电路 任务6.2 认识基本逻辑门电路.doc
- 汽车电工与电子技术 7.3集成触发器 任务6.4 认识触发器与时序逻辑电路.doc
- 汽车电控系统诊断与调试 电动车窗 电动车窗.docx
- 汽车电路系统初级维护 FlexRay总线的特点及应用 FlexRay总线的特点及应用电子教案.doc
- 汽车电路系统初级维护 车身模块控制的基本结构 车身模块控制的基本结构电子教案.doc
- 汽车电路系统初级维护 二极管的概述 二极管的概述电子教案.doc
- 汽车电路系统初级维护 屏蔽线的概述 屏蔽线的概述电子教案.doc
- 汽车电路系统初级维护 三极管在汽车电控单元的应用 三极管在汽车电控单元的应用电子教案.doc
- 汽车电路系统初级维护 万用表测电压、电压降 万用表测量电压、电压降电子教案.doc
- 汽车电路系统初级维护 总线故障的检测 总线故障的检测电子教案.doc
- GB/T 46622.1-2025液压传动 螺纹插装阀安装连接尺寸 第1部分:米制螺纹.pdf
- 《GB/T 46622.1-2025液压传动 螺纹插装阀安装连接尺寸 第1部分:米制螺纹》.pdf
- 2025重庆渝海物业管理有限责任公司外包岗位招聘7人备考题库最新.docx
- 岳池县兴隆镇公开招聘社区网格员的备考题库最新.docx
- 2025湖南怀化市靖州县纪委监委选调11人备考题库最新.docx
- 2025年镇原县科技局下属事业单位招聘笔试参考题库附答案.docx
- 贵州国企招聘:2025中国人民财产保险股份有限公司贵州省分公笔试参考题库附答案.docx
- 2025年武汉铁路局集团招聘(180人)笔试参考题库最新.docx
- 2025重庆市应急管理局遴选公务员7人备考题库附答案.docx
- 赣州市人力资源有限公司公开招聘劳务派遣制工作人员备考题库附答案.docx
原创力文档


文档评论(0)