信号与信息处理综合应用课程设计指导书_第1页
信号与信息处理综合应用课程设计指导书_第2页
信号与信息处理综合应用课程设计指导书_第3页
信号与信息处理综合应用课程设计指导书_第4页
信号与信息处理综合应用课程设计指导书_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、信号与信息处理综合应用课程设计指 导 书2011年11月第一 设计要求一、 设计题目基于socket的即时通讯系统二、 设计目的通过综合课程设计,使学生能够运用数字信号处理、信号与系统、通信原理、面向对象的程序设计、计算机通信网、通信协议开发及应用等课程的知识来设计一个基于socket的即时通讯系统,培养学生的动手能力以及分析问题、解决问题的能力。三、 设计要求(一)基本要求1 熟练掌握面向对象的程序设计方法;2 实现点对点通讯,能进行文字对话传输,包括客户端与服务器端;3 能对系统参数进行配置。(二)提高要求1、实现文件、图片传输;2、语音对话(两人及两人以上);3、友好的对话界面。四、 进

2、度安排1、 2011年12月5(星期一)上午9:00开始 作课程设计动员和课程设计任务安排。2、 2011年12月5日下午, 为调研、收集资料阶段。可以到图书馆、书店或网络上查阅相关资料,主要收集有关网络编程的基本原理、方法等方面的资料,以及ip协议、icmp协议文本。3、 2011年12月6日至2011年12月16日上午,编写源程序、上机调试。4、 2011年12月16日星期五下午(2:00)提交课程任务结题报告,并参加答辩(良、优)。五、 设计提示1 系统设计框图 注:局域网中任一端点都可作为客户端或服务器端。2 设计参考资料l tcp/ip网络编程技巧l windows编程l micro

3、soft visual c+6.0从入门到精通l delphi 网络编程l 计算机通信网基础六、 综合课程设计报告书要求(一) 报告内容1 设计目的。2 设计内容。3 设计要求。4 设计原理。5 软件设计(附程序流程图、源程序清单)。6 调试过程(论述调试中所遇到的各种问题,以及解决这些问题的思路和过程)。7 实验结果分析(对设计的系统和运行结果进行简要分析)。8 体会和建议。9 参考文献,参考文献的标注注意一定要符合科技论文标注国家标准相关的规定。第二 评分标准课程设计的成绩从以下个方面进行考核:1) 纪律:由指导教师根据平时考勤、学习态度及是否遵守设计安排酌情评分;2) 答辩:由指导教师统

4、一安排答辩时间及顺序,根据设计内容及论文提问相关问题,根据学生的回答决定答辩成绩;3) 实作:根据设计过程中,由指导教师记录的学生编程及调试的相关情况,以及答辩时学生上机操作的情况进行评分;4) 论文:论文要求包括文献综述、开题报告、结题报告及附源程序等内容,并对具体的格式及内容提出要求,根据学生完成论文的情况及内容给出相应成绩。其中纪律占,答辩占,实作占,论文占。按照百分比给出优、良、中、及格、不及格五个等级。第三 原理简介 1 tcp/ip简介 tcp/ip的历史要追溯到70年代中期,当时arpa为了实现异种网之间的互连(interconnection)与互通(intercommunica

5、tion),大力资助网间网技术的研究和开发,于1977年到1979年推出目前形式的tcp/ip体系结构和协议规范.到今天,tcp/ip技术以及internet网间网已经为广大计算机工作者,机算机厂商和机算机用户所接受.据统计,到1990年,internet以包含遍布欧美的五千个活动网络,超过三十万台机算机.作为一种事实上的工标准,tcp/ip技术方兴未艾. 2 tcp/ip的网络分层结构 对tcp/ip协议来说,tcp提供传输层服务,ip提供网络层服务.tcp/ip协议组(或internet协议组)的分层结构及其与osi模型的对应关系如图4所示.图中有关协议的名称及其基本含义如下: (1) t

6、cp. 为传输控制协议(transmission control protocol).它是提供给用户进程的一个可靠的全双工字节流的面向连接的协议.大多数internet应用程序使用tcp.因为tcp使用ip,所以整个internet协议组也常称为tcp/ip协议组. (2) udp. 为用户数据报协议 (user datagram protocol). (3) icmp. 为网间报文控制协议 (internet control message protocol). (4) ip. 网间协议 (internet protocol). ip协议是为tcp,udp和icmp提供分组发送服务协议. (

7、5) arp. 地址转换协议. (6) rarp. 反向地址转换协议. 3 socket编程界面 (1) socket 原理 socket编程界面由4bsd unix首先提出,目的是解决网间网进程通信问题.socket接口为进程间通信提供了一种新的手段,它不但能用于同一机器中的进程之间的通信,而且支持网络通信功能.socket具有类型,反应了对用户透明的通信特性. 一个完整的socket连接用一个相关描述: 协议,本地地址,本地端口,远地地址,远地端口 socket 是面向客户-服务器模型而设计的,针对客户和服务器程序提供不同的socket系统调用. (2) socket系统调用 不管sock

8、et内部机制如何,它提供给应用程序员的最终界面是一组系统功能调用.下面,我们一一给出重要的socket系统调用. 1. 创建 socket - socket() 调用格式如下: sockid = socket (af,type,protocol) af : 地址族,指本socket所用地址类型. type : 类型,指创建socket的应用程序所希望的通信服务器类型. protocol : 协议,指本socket请求的协议. 2. 指定本地地址 - bind()调用 bind()将本地socket地址与所创建的socket联系起来,即将本socket地址赋予socket,以指定本地半相关.bi

9、nd()的作用相当于给socket命名,调用格式为: bind (sockid,localaddr,addrlen) sockid : socket号. localaddr : 本地socket地址. addrlen : 地址长度. 3. 建立socket连接 - connect () 与 accept ()调用 这两个系统调用用于完成整个相关的建立.其中connect用于建立连接 .调用格为: connect (sockid,destaddr,addrlen) destaddr : 指向对方socket地址(信宿地址)结构的指针. accept : 用于面向连接的服务器,其调用格式为: ne

10、wsock = accept (sockid,clientaddr,paddrlen) clientaddr : 指向客户socket地址指针. paddrlen : 客户socket地址长度. 4. listen() 调用 此调用用于面向连接服务器,表明它愿意接收连接,listen()在accept()之前调用,格式为: listen (sockid,quelen) quelen : 请求队列长度. 5. 发送数据 - write(),writev(),send()与sendto(),sendmsg() 用于socket数据发送的系统调用一共有五个,其中三个,write(),writev()

11、和send()用于面向连接传输,其余两个用于无连接传输.面向连接的调用可以不指定信宿地址,而无连接的调用必须指定.假如无连接socket的双方均调用过connect(),可以认为是建立有连接的socket,也可以面向连接调用发送数据. 三个面向连接调用三者的格式大致相同: write (sockid,buff,bufflen) : 缓冲发送 writev (sockid,iovector,vectorlen) : 集中发送 send (sockid,buff,bufflen,flags) : 可控缓冲发送 其中buff指向发送缓冲区的指针,bufflen是发送缓冲区大小. 用于无连接数据发送的

12、调用有两个: sendto (sockid,buff,bufflen,flags,dsadd,addrlen) sendmsg (sockid,message,flags):可控集中无连接发送. 6. 接收数据 - read(),readv(),recv()与recvfrom(),recvmsg() 接收数据与发送数据系统调用是一一对应的,两者参数的最大区别是,前者buffer是一个指针,其所指单元初值为欲读数据长度,调用后的值是实际读出的值. 4 客户-服务器模型的socket实现框架 1)客户-服务器模型时序图 下图是面向连接客户-服务器模型的典型时序图 服务器 客户 socket() s

13、ocket() bind() bind() listen() accept() 等待客户连接请求 阻塞 connect() read() write() 2)服务器socket地址的确定 在客户-服务器模型中,所有的作用者都是客户首先发起的(如连接请求,服务请求等),因此客户必须要知道服务器socket地址,另外,客户调用服务器之前,可以在命令行中给出服务器所在主机的域名,根据域名可以获得服务器主机的地址,系统调用为:hp=gethostbyname(host).其中host可以是服务器主机域名,返回hp是一个指向主机地址结构的指针.附录:课程设计中要用到的winsock函数wsastartu

14、p初始化socket库wsacleanup结束socket库的使用socket为所要进行的网络通信建立标识符connect连接到远程主机closesocket结束通信,关闭标识符bind将ip地址、tcp端口号与套接字标识符绑定listen将接受套接字置于被动模式,将服务器置于侦听状态,并指定允许的连接数accept接受下一个呼入的连接recv接收传入的tcp数据recvfrom接收传入的udp数据select在指定的套接字集准备好接收数据前一直等待send发送tcp数据sendto发送udp数据shutdown释放tcp连接getpeername从套接字中获取对等方的端口地址setsocketopt获取当前套接字的可变选项gethostbynameinet_addr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论