计算机编程第10章 socket编程.pptxVIP

  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文档。上传文档
查看更多
第10章 socket编程;目录页;目录页;当今社会是信息化社会,信息的传播离不开网络,随着计算机与因特网的发展和普及,网络已渗入到社会生活的各行各业,大到操作系统,小到手机应用,都与网络息息相关。;Linux系统也与网络密不可分,无论是服务器开发,还是嵌入式应用等领域,都需要通过网络进行数据传递。Linux网络编程一般通过socket(套接字)接口实现。;计算机网络是网络(network)的一种,网络由若干个结点(node)和连接这些结点的链路(link)组成,网络中的结点可以是计算机、交换机或路由器等。 可以笼统地认为以计算机为结点的网络便是计算机网络,但计算机网络并非单纯地实现计算机的物理连接,还需在计算机上安装必须的软件,才能使计算机之间通过网络进行通讯。 实际上,“计算机之间通过网络进行通讯”并不准确,确切地说,通过网络进行通讯的不是具体的计算机,而是存在于计算机中的进程。;为了保证通讯能顺利进行,且进行交互的进程能获取到准确、有效的数据信息,进行通讯的双方必须遵循一系列事先约定好的规则,这些规则即是网络协议(protocol)。;计算机网络体系结构:OSI、TCP/IP、五层协议体系结构。;五层协议体系结构中各层的功能分别如下: 应用层为应用进程提供服务,定义了应用进程间通信和交互的规则。 传输层为应用进程提供连接服务,实现连接两端进程的会话。 网络层为分组交换网上的不同主机提供通信服务。 数据链路层可简称为链路层,该层将从网络层获取的IP数据报组装成帧,在网络结点之间以帧为单位传输数据。 物理层以比特为单位传输数据,该层定义了与网络相关的硬件的规范,如表示“0”、“1”电压的电压数值、硬件连接方式等。; 协议通常都由如下几个部分组成: (1)待交互数据的结构和格式; (2)进行交互的方式,包括数据的类型、对数据的处理动作等; (3)事件实现顺序的说明。; 除传输层和网络层外,应用层和数据链路层都会在从上层接收到的数据报中添加控制信息,若接收双方通过同一个路由器连接,那么数据在传输过程中的变化将如图10-2所示。; 体系结构中各层的实现建立在其下一???所提供的服务上,并向其上层提供服务,各层之间的关系如图10-3所示。; 网络结构模式分为两种,一种为客户机(client)/服务器(server)模式,即C/S模式,此种模式需要在进行通信的两端分别架设客户机和服务器;另一种为浏览器(browser)/服务器模式,即B/S模式,是WEB(World Wide Web)兴起后的一种网络结构模式,客户机只需安装浏览器,便可与服务器进行交互。;目录页;socket本意为“插座”,常被称为套接字,当使用socket进行通讯时,进程会先生成一个socket文件,之后再通过socket文件进行数据传递。;在TCP/IP协议族中,使用IP地址和端口号可以唯一标识网络中的一个进程;socket通信原理如图10-4所示。;对用户来说,不必了解socket文件的具体构成,只需掌握与socket相关的接口即可。socket接口位于应用层与TCP/IP协议族之间,是基于软件的抽象层,它与体系结构中各层的关系如图10-5所示。;Linux系统中常用的socket网络编程接口有socket()、bind()、listen()、accept()、connect()、send()、recv()、close(),其中connect()与send()为客户端专用接口,bind()、listen()、accept()及recv()为服务器端专用接口,socket()与close()则由服务器与客户端共用。;socket()函数存在于函数库sys/socket.h中,其声明如下: int socket(int domain, int type, int protocol);;socket()函数存在于函数库sys/socket.h中,其声明如下: int socket(int domain, int type, int protocol);;socket()函数存在于函数库sys/socket.h中,其声明如下: int socket(int domain, int type, int protocol);;socket()函数存在于函数库sys/socket.h中,其声明如下: int socket(int domain, int type, int protocol);;bind()函数存在于函数库sys/socket.h中,其声明如下: int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);;bind()函数存在于函数库sys/socket.h中,其声明如下: int

文档评论(0)

东山书苑 + 关注
实名认证
文档贡献者

业务以学生学习成长为中心,为外语培训、中小学基础教育、学前教育,提供各种学习资料支持服务。

1亿VIP精品文档

相关文档