新计算机网络与通信 教学课件 张曾科 计算机网络与通信(第13章).pptVIP

新计算机网络与通信 教学课件 张曾科 计算机网络与通信(第13章).ppt

  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文档。上传文档
查看更多
第13章 基于Socket的网络通信 13.1 概述 13.2 套接字Socket 13.3 基于Socket的网络通信程序设计 13.1 概述 TCP/IP通信协议的核心部分是TCP、UDP和IP,在操作系统的内核中实现,称为TCP/IP网络操作系统。 应用程序通过应用程序编程接口API (Application Programming Interface), 实现访问操作系统内核。 Socket是TCP/IP NOS环境下网络通信应用程序编程接口,提供了通过对系统内核进行调用来实现应用程序之间通信的一种机制。 可以把套接字看成是网络环境下UNIX文件访问方法的一般化。套接字继承了UNIX文件读写的思路,应用程序在进行网络读写时请求操作系统创建一个套接字,系统返回一个Socket描述字 ,提供通信的端口 。 13.1 概述 Socket网络通信API 13.2 套接字Socket 套接字的使用也和文件访问类似,一旦应用程序创建了一个套接字,并进行了地址绑定和外部地址的TCP连接,就可以利用套接字描述字作为参数使用write( )在此连接上发送数据流,在连接的另一端则使用read( )接收数据。 UNIX的套接字提供了一系列的系统调用函数,它们都是围绕着应用程序如何利用网络通信协议在网上进行数据交换而设计的。通过这些函数的调用,应用程序就可以在掩盖通信协议细节的情况下,实现网络传输。 套接字是面向C/S模式而设计的,对客户和服务器程序提供不同的Socket系统调用。 13.3基于Socket的网络通信程序设计 13.3.1 Socket的创建与关闭 13.3.2 绑定本地地址 13.3.3 建立连接 13.3.4 数据发送与接受 13.3.5 基于Socket的网络通信程序实现框架 13.3.1 Socket的创建与关闭 创建Socket: sockid = socket (pf, type, protocol) sockid是系统调用socket( )的返回值,即Socket描述字。 socket ( )的三个参数: ① pf(protocol family) ② type ③ protocol 关闭套接字: close (sockid) 其中,sockid是被关闭的Socket描述字。 13.3.1 Socket的创建与关闭 socket( )系统调用的三个参数的组合 13.3.2 绑定本地地址 bind( )将本地Socket地址与所创建的Socket号绑定起来 ,Socket地址:主机IP地址和端口号。 bind (sockid, localaddr, addrlen) ① sockid ② localaddr ③ addrlen地址长度 bind( )成功返回0,失败返回-1。 网络字节序: 采用大端字节序(big-endian),一个字的高位字节先存,存于机器的存储器中的低地址,而低位字节存于高地址 。 13.3.3 建立连接 请求连接 请求连接是客户端的动作。调用connect( )函数请求套接字与服务器已命名的被动套接字的连接。 connect (sockid, destaddr, addrlen) ① sockid ② destaddr ③ addrlen 连接失败,connect( )返回-1。 13.3.3 建立连接 接收连接 接收连接是服务器端的动作,服务程序必须在调用bind( )绑定地址之后执行两个步骤: 一是创建一个存储连接请求的侦听队列,这使得套接字能够听取多个连接请求,系统调用listen()用于建立侦听队列; 二是接收连接。系统调用accept( )用于接收套接字上到达的连接请求。 13.3.3 建立连接 (1)listen( ) listen(sockid, quelen) ① sockid ② quelen listen( )函数成功时返回0,失败时返回-1。 (2)accept( ) newsock = accept (sockid, clientaddr, paddrlen) ① sockid ② clientaddr ③ paddrlen 13.3.3 建立连接 accept( )调用后: 将返回连接请求方的Socke

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档