网站大量收购独家精品文档,联系QQ:2885784924

TCP课程设计指导教程.doc

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TCP课程设计指导教程

《通信应用软件设计》 课程设计指导教程 毛其林 南京工程学院通信工程学院通信教研室 2011年11月 目 录 1 课程设计目的 3 2 课程设计要求 3 3课程设计内容 3 3.1 “南工智能聊天系统”功能概述 3 3.1.1 服务器功能描述 3 3.1.2 客户端功能 4 3.2 总体设计思路 4 3.3 关键数据结构设计 5 3.3.1、消息设计 5 3.3.2服务器客户端信息记录区设计 6 3.4 界面设计 7 3.5 源代码 8 3.5.1文件组成 8 3.5.2编译链接、运行 8 3.5.3 源码 9 4 参考资料 27 1 课程设计目的 通过我们在《通信应用软件设计》理论课程和上机实践课程的学习,我们已经对socket网络编程、linux 系统编程、多线程编程的理论和实际使用有了一定的了解。在此基础上,能够再进一步拓展,利用一周的课程设计时间让我们写出一个比较综合的、主题明确,有一定实际应用价值的规模较大的软件程序。本次课程设计的目的在于较为全面地锻炼我们进行软件设计的能力,做到能够较为明确的给出系统需求分析、详细设计和编码、测试,掌握常用的软件设计技巧、调试技巧;独立地完成课程设计报告。通过本次课程设计,能够使我们积累对C语言、网络编程、通信协议编程等通信应用软件中常用技术的经验,为后续的软件设计技术的学习打下较好的基础。 2 课程设计要求 1) 综合应用所学的数据库、C语言、网络编程等知识和基本技能; 2)掌握软件开发的基本流程; 3)能够完成一个比较完善的小型程序; 4)能够解决较为复杂的软件开发中所遇到的问题; 5)能够在本指导书提供的案例的基础上进行创新和改进; 6)最后要求写出较为综合和完善的课程设计报告。 3课程设计内容 3.1 “南工智能聊天系统”功能概述 南工智能聊天系统由两部分程序组成,服务器软件和客户端软件。这两部分软件是各自独立的两个进程。服务器程序处于整个系统的核心,主要负责客户端信息的管理,包括:客户端登录、客户端信息查询、聊天信息转发等功能。客户端程序主要功能包括登录、查找好友、列出所有在线用户等功能。 3.1.1 服务器功能描述 服务器最主要的功能是进行聊天信息的转发,客户端A要与客户端B进行聊天,客户端A或B的信息不是直接传送到对端的,而是经过服务器转发的,即客户端A将聊天信息首先发送服务器,服务器根据客户端A的聊天好友找到客户端B并将信息发送给B。此外,服务器还具有下列功能: 处理客户端登录 客户端连接上服务器器后首先需要登录注册自身的ID号,客户端给服务器发送登录ID号,服务器接收到ID号后检查自身数据结构是否允许接纳该客户登录,服务器将执行下列动作: 检查该ID号是否已经存在,如存在则返回错误信息给客户端 检查服务器客户端信息记录区,是否有空余的区域记录该客户端信息,服务器的客户端信息区是有一定数量限制的,本服务器现在为10个客户端。如超过限制则返回错误信息给客户端。 处理客户端查询友好在线信息 客户端在主动发起与某个好友聊天之前,首先需要验证该好友是否在线?服务器收到查询请求后将根据查询要求返回存储在客户端信息记录区的客户端信息。 3.1.2 客户端功能 客户端在与服务器建立通信之后,首先需要进行登录,登录实际上是接入服务器的请求,如果服务器忙,或者自己登录的ID已经被别的客户端抢先登录,则登录失败。登录成功后,客户端可能存在两种情况:一是主动发起聊天请求,在聊天之前首先需要请求服务器验证希望聊天的好友ID是否存在,如果存在则进入聊天阶段,否则输入另外的好友ID号。二是客户端被其他客户端发起请求,要求与自己聊天,这时存在同意和拒绝两种选择,同意则将对端的ID保存为当前自己的好友QQ,拒绝则返回信息给服务器,服务器收到拒绝信息后则返回“拒绝服务”消息给发起端。 除了上述功能,客户端还能发起查询所有在线好友的功能。 3.2 总体设计思路 系统采用C语言在Linux系统中开发。图1给出了南工智能聊天系统的系统结构图,服务器启动以后等待客户端的连接,客户端的聊天信息经服务器转发给另一个客户端。服务器应具有简单的自我管理功能,客户端界面设计简洁和美观。客户端程序最好能是一个GUI(图形用户界面)程序,考虑到大家尚未学习过Linux GUI编程,所以客户端设计还是采用了命令行方式。 系统采用模块化分层实施的原则,其软件的设计层次如图2所示,TCP/IP通信层实现TCP/IP socket函数功能,业务层实现客户端或服务器的业务功能,主界面实现格式化输入输出功能,工具层提供一些通用风格的打印、调试函数。进行分层设计的好处是结构清晰、系统易于扩展,以及代码重用。 图1、南工智能聊天系统系统结构图 图2、南工系统软件设计分层模型 3.3 关键数据结构设计 3.3.1、消息设计

文档评论(0)

wannian118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档