基于Socket异步通信的实现管理论文.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Socket异步通信的实现管理论文 目录 1 概述 2 系统设计 2.1 总体分析 主要设计思路:首先客户端连接服务器端 2.2 服务器端程序设计 服务器端程序主要功能如下: S=new ZipInputStream(File.OpenRead(FileTounZip));解压缩 2.3 客户端程序设计 客户端程序功能是对文件传输进行了加密、压缩来保证数据安全性及效率 S=new ZipOutStream(File.Create(ZipOutFileName) S.write(buffer,0,buffer.length);对文件加密 3 实际测试 3.1 网络测试参数 在局域网网络环境中传输1份文件: 3.2 测试结果 测试结果用时0.4843750s 4 结论 正文 摘要:在基于Socket的word/excel试题自动评分系统的传输模块中,为了保证学生考试数据在网络传输中的安全性、完整性以及传输效率,采用Socket异步通信和多线程技术。实验证明本数据传输模块可以有效地保证传输数据的安全性和完整性。 下载论文网 关键字:C#Socket异步通信多线程 1 概述 为了适应信息社会的需求,目前,大学非计算机专业学生都要求在大学期间拿到省二级办公软件高级应用证书。虽然目前国内已经有了word/excel试题自动评分系统,如全国计算机等级、省二级办公软件高级应用等考试系统,但这些软件只限于局域网范围内使用,如一个机房内参加考试或练习,这就给学生平时练习或更大范围内的考试带来不便。为了克服已有软件的不足,本系统采用基于Socket通信实现,它类似于QQ软件的服务器/客户端方式,这样学生只要下载该系统的客户端,就可以通过远程的方式进行练习与测试。从而避免目前已有的考试或练习软件的不足,提高效率。 本系统使用面向对象C#语言编程,以Socket和多线程技术为核心进行系统设计,很好的满足学生办公软件高级应用试题的练习与测试。 2 系统设计 2.1 总体分析 主要设计思路:首先客户端连接服务器端,客户端必须根据服务器的IP地址+服务器预设端口连接到服务器端。接着客户端将学生上交的考题文件进行压缩、加密,然后发送至服务器端。服务器端将采用连续监听端口的方式,实现对客户端的监听。一旦客户端有请求到达,服务器端将自动产生一个线程,该线程将响应请求,接受客户端发送的文件,然后进行解密、解压缩等操作,成功获得从客户端发送来的文件,当然这其中还应考虑断点续传问题。 客户端也要采用多线程实现,编程的基本思路:当发送文件进行分块后,采用多线程传输。客户端将对已分割的文件块进行单独校验,能保证文件的完整性,同时还提供磁盘缓存功能。文件传输模块流程如图1所示。 2.2 服务器端程序设计 服务器端程序主要功能如下: ①获得线程。②异步接收数据。③获取估计剩余时间。④获取已完成数据长度。⑤开始传输。 Security sFile=new Security();解密 sFile.DecryptFile(filePath,sDiretoryName,bjus ZipInputStream S; S=new ZipInputStream(File.OpenRead(FileTounZip));解压缩 ⑥中止传输是否关闭Socket。⑦从客户端获取文件名。⑧从客户端获取区块总数。 string[] Msg = ReceiveString().Split( if(Msg[0] == SET Msg[1] == TotalBlock {if (int.TryPae(Msg[2], out _TotalBlock))break; ⑨从客户端获取最后一个区块大小。⑩校验文件。 for(int count = 0; _FileStream.Position _FileStream.Length count _TotalBlock; count++) {校验已存在的区块 … if (BlockHashed != null) BlockHashed(this, new BlockFinishedEventArgs(count) for (int index = 0; index _TotalBlock; ) {计算仍需传输区块 … return BlockRemaining; 2.3 客户端程序设计 客户端程序功能是对文件传输进行了加密、压缩来保证数据安全性及效率。主要功能如下:①连接服务器。②开始异步接收。③开始传输。 ZipOutStream S;压缩传输文件 S=new ZipOutStream(File.Create(ZipOutFileName) S.write(buffer,0,buffer.length);对文件加密 sFile.EncryFile(fi

您可能关注的文档

文档评论(0)

行业资料 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档