《【协议分析】【SOCKET 网络程序设计】》.pdf

《【协议分析】【SOCKET 网络程序设计】》.pdf

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

计算机网络协议原理实验教程 实验二十七 SOCKET 网络程序设计 【实验目的】 1、理解进程通信的原理及通信过程; 2、掌握基本的网络编程方法。 【实验学时】 4 学时 【实验内容】 1、进一步学习UDP 及TCP 协议的工作原理; 2、学习SOCKET 编程的基本方法; 3、学习应用C 语言与WinSock2 进行简单的无连接的网络程序设计,实现网络数据传 输; 4 、学习应用C 语言与WinSock2 进行简单的面向连接的网络程序设计,实现网络数据 传输。 【实验原理】 1、关于使用套接字编程的一些基本概念 半相关 网络中用一个三元组可以在全局唯一标示一个进程:(协议,本地地址,本地端口号)。 这样一个三元组,叫做一个半相关(half-association),它指定连接的每半部分。 全相关 一个完整的网间进程通信需要由两个进程组成,并且只能使用同一种高层协议。也就是 说,不可能通信的一端用TCP 协议,而另一端用 UDP 协议。因此一个完整的网间通信需 要一个五元组来标识:协议,本地地址,本地端口号,远地地址,远地端口号。这样一个五 元组,叫做一个全相关(association ),即两个协议相同的半相关才能组合成一个全相关。 TCP/IP 协议的地址结构为: struct sockaddr_in { short sin_family; /*协议的地址族,IP 协议是AF_INET*/ u_short sin_port; /*16 位端口号,网络字节顺序*/ struct in addr sin addr; /*32 位IP 地址,网络字节顺序*/ char sin_zero[8]; /*填充*/ } 套接字类型 TCP/IP 的socket 提供下列二种类型套接字: 400 第九章 网络编程实验 ①、流式套接字(SOCK_STREAM ) 提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复地发送,且按发送顺 序接收。内设流量控制,避免数据流超限;数据被看作是字节流,无长度限制。文件传送协 议(FTP )即使用流式套接字。 ②、数据报套接字(SOCK_DGRAM ) 提供了一个无连接服务。数据包以独立包形式被发送,不提供无错保证,数据可能丢失 或重复,并且接收顺序混乱。网络文件系统(NFS)使用数据报式套接字。 ③原始套接字(SOCK_RAW ) 该接口允许对较低层协议,如IP、ICMP 直接访问。常用于检验新的协议实现或访问现 有服务中配置的新设备。 基本套接字系统调用 为了更好地说明套接字编程原理,下面给出几个基本套接字系统调用说明: ①、创建套接字——Socket() 应用程序在使用套接字前,首先必须拥有一个套接字,系统调用socket() 向应用程序提 供创建套接字的手段,其调用格式如下: SOCKET socket(int af,int type,int protoCol); 该调用要接收三个参数:af、type、protocol 参数af 指定通信发生的区域,UNIX 系统 支持的地址族有:AF UNIX、AF INET 、AF NS 等,而DOS、WINDOWS 中仅支持AF_INET , 因此,地址族与协议族相同。参数type 描述要建立的套接字的类型。参数protocol 说明该 套接字使用的特定协议,如果调用者不希望特别指定使用的协议,则置为0,使用默认的连 接模式。根据这 几个参数建立一个套接字,并将相应的资源分配给它,同时返回一个整型 套接字号。因此,socket()系统调用实际上指定了相关五元组中的“协议”这

文档评论(0)

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

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

1亿VIP精品文档

相关文档