《综合课程设计》实时通信指导书Word文档格式.docx

上传人:b****5 文档编号:15787266 上传时间:2022-11-16 格式:DOCX 页数:8 大小:82.68KB
下载 相关 举报
《综合课程设计》实时通信指导书Word文档格式.docx_第1页
第1页 / 共8页
《综合课程设计》实时通信指导书Word文档格式.docx_第2页
第2页 / 共8页
《综合课程设计》实时通信指导书Word文档格式.docx_第3页
第3页 / 共8页
《综合课程设计》实时通信指导书Word文档格式.docx_第4页
第4页 / 共8页
《综合课程设计》实时通信指导书Word文档格式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

《综合课程设计》实时通信指导书Word文档格式.docx

《《综合课程设计》实时通信指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《《综合课程设计》实时通信指导书Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。

《综合课程设计》实时通信指导书Word文档格式.docx

四、进度安排

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.设计参考资料

●TCP/IP网络编程技巧

●Windows编程

●MicrosoftVisualC++6.0从入门到精通

●DELPHI网络编程

●计算机通信网基础

六、综合课程设计报告书要求

(一)报告内容

1.设计目的。

2.设计内容。

3.设计要求。

4.设计原理。

5.软件设计(附程序流程图、源程序清单)。

6.调试过程(论述调试中所遇到的各种问题,以及解决这些问题的思路和过程)。

7.实验结果分析(对设计的系统和运行结果进行简要分析)。

8.体会和建议。

9.参考文献,参考文献的标注注意一定要符合《科技论文标注国家标准》相关的规定。

第二评分标准

课程设计的成绩从以下4个方面进行考核:

1)纪律:

由指导教师根据平时考勤、学习态度及是否遵守设计安排 

酌情评分;

2)答辩:

由指导教师统一安排答辩时间及顺序,根据设计内容及论 

文提问相关问题,根据学生的回答决定答辩成绩;

3)实作:

根据设计过程中,由指导教师记录的学生编程及调试的相

关情况,以及答辩时学生上机操作的情况进行评分;

4)论文:

论文要求包括文献综述、开题报告、结题报告及附源程序

等内容,并对具体的格式及内容提出要求,根据学生完成论文的情况及内容给出相应成绩。

其中纪律占20%,答辩占40%,实作占20%,论文占20%。

按照百分比给出优、良、中、及格、不及格五个等级。

第三原理简介

  1TCP/IP简介

  TCP/IP的历史要追溯到70年代中期,当时ARPA为了实现异种网之间的互连(interconnection)与互通(intercommunication),大力资助网间网技术的研究和开发,于1977年到1979年推出目前形式的TCP/IP体系结构和协议规范.到今天,TCP/IP技术以及Internet网间网已经为广大计算机工作者,机算机厂商和机算机用户所接受.据统计,到1990年,Internet以包含遍布欧美的五千个活动网络,超过三十万台机算机.作为一种事实上的工标准,TCP/IP技术方兴未艾.

  2TCP/IP的网络分层结构

  对TCP/IP协议来说,TCP提供传输层服务,IP提供网络层服务.TCP/IP协议组(或Internet协议组)的分层结构及其与OSI模型的对应关系如图4所示.图中有关协议的名称及其基本含义如下:

  

(1)TCP. 

为传输控制协议(TransmissionControlProtocol).它是提供给用户进程的一个可靠的全双工字节流的面向连接的协议.大多数Internet应用程序使用TCP.因为TCP使用IP,所以整个Internet协议组也常称为TCP/IP协议组.

  

(2)UDP.为用户数据报协议(UserDatagramProtocol).

  (3)ICMP.为网间报文控制协议(InternetControlMessageProtocol).

  (4)IP.网间协议(InternetProtocol).IP协议是为TCP,UDP和ICMP提供分组发送服务协议.

  (5)ARP.地址转换协议.

  (6)RARP.反向地址转换协议.

  3Socket编程界面

  

(1)Socket原理

  Socket编程界面由4BSDUNIX首先提出,目的是解决网间网进程通信问题.Socket接口为进程间通信提供了一种新的手段,它不但能用于同一机器中的进程之间的通信,而且支持网络通信功能.Socket具有类型,反应了对用户透明的通信特性.

  一个完整的Socket连接用一个相关描述:

     

{协议,本地地址,本地端口,远地地址,远地端口}

  Socket是面向客户-服务器模型而设计的,针对客户和服务器程序提供不同的Socket系统调用.

  

(2)Socket系统调用

  不管Socket内部机制如何,它提供给应用程序员的最终界面是一组系统功能调用.下面,我们一一给出重要的Socket系统调用.

   

1.创建Socket-----socket()

调用格式如下:

sockid=socket(af,type,protocol)

af:

地址族,指本socket所用地址类型.

type:

类型,指创建socket的应用程序所希望的通信服务器类型.

protocol:

协议,指本socket请求的协议.

2.指定本地地址----bind()调用

bind()将本地socket地址与所创建的socket联系起来,即将本socket地址赋予socket,以指定本地半相关.bind()的作用相当于给socket命名,调用格式为:

       

bind(sockid,localaddr,addrlen)

sockid:

socket号.

localaddr:

本地socket地址.

addrlen:

地址长度.

3.建立socket连接----connect()与accept()调用

这两个系统调用用于完成整个相关的建立.其中connect用于建立连接.调用格为:

connect(sockid,destaddr,addrlen)

    destaddr:

指向对方socket地址(信宿地址)结构的指针.

    accept:

用于面向连接的服务器,其调用格式为:

newsock=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()和send()用于面向连接传输,其余两个用于无连接传输.面向连接的调用可以不指定信宿地址,而无连接的调用必须指定.假如无连接socket的双方均调用过connect(),可以认为是建立有连接的socket,也可以面向连接调用发送数据.

三个面向连接调用三者的格式大致相同:

write(sockid,buff,bufflen):

缓冲发送

writev(sockid,iovector,vectorlen):

集中发送

send(sockid,buff,bufflen,flags):

可控缓冲发送

其中buff指向发送缓冲区的指针,bufflen是发送缓冲区大小.

用于无连接数据发送的调用有两个:

sendto(sockid,buff,bufflen,flags,dsadd,addrlen)

sendmsg(sockid,message,flags):

可控集中无连接发送.

    6.接收数据----read(),readv(),recv()与recvfrom(),recvmsg()

    接收数据与发送数据系统调用是一一对应的,两者参数的最大区别是,前者buffer是一个指针,其所指单元初值为欲读数据长度,调用后的值是实际读出的值.

  4客户--服务器模型的Socket实现框架

1)客户--服务器模型时序图

下图是面向连接客户--服务器模型的典型时序图

      服务器               

客户

socket()               

socket()

      bind()               bind()

listen()                

accept()  等待客户连接请求      

    阻塞 

<

━━━━━━━━━━━━━━━connect()

read()<

━━━━━━━━━━━━━━━>

write()

 

2)服务器socket地址的确定

在客户--服务器模型中,所有的作用者都是客户首先发起的(如连接请求,服务请求等),因此客户必须要知道服务器socket地址,另外,客户调用服务器之前,可以在命令行中给出服务器所在主机的域名,根据域名可以获得服务器主机的地址,系统调用为:

hp=gethostbyname(host).其中host可以是服务器主机域名,返回hp是一个指向主机地址结构的指针.

附录:

课程设计中要用到的Winsock函数

WSAStartup

初始化socket库

WSACleanup

结束socket库的使用

socket

为所要进行的网络通信建立标识符

connect

连接到远程主机

closesocket

结束通信,关闭标识符

bind

将IP地址、TCP端口号与套接字标识符绑定

listen

将接受套接字置于被动模式,

将服务器置于侦听状态,并指定允许的连接数

accept

接受下一个呼入的连接

recv

接收传入的TCP数据

recvfrom

接收传入的UDP数据

select

在指定的套接字集准备好接收数据前一直等待

send

发送TCP数据

sendto

发送UDP数据

shutdown

释放TCP连接

getpeername

从套接字中获取对等方的端口地址

setsocketopt

获取当前套接字的可变

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1