- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
网络编程;1.1 网络编程相关的基本概念;Windows系统不但支持多进程,还支持多线程。
当创建一个进程时,系统会自动创建它的第一个线程,称为主线程。然后,该线程可以创建其他的线程,而这些线程又能创建更多的线程。
Windows 2000能够在拥有多个CPU的
计算机上运行,每个CPU上运行不同的线程,达到多线程运行。;2.网络应用进程在网络体系结构中的位置;网络应用程序最终要实现网络资源的共享,共享的基础就是必须能够通过网络轻松地传递各种信息。
网络编程首先要解决网间进程通信的问题。然后才能在通信的基础上开发各种应用功能。;3.实现网间进程通信必须解决的问题;按照OSI七层协议的描述,传输层与网络层在功能上的最大区别是传输层提供进程通信的能力。TCP/IP协议提出了传输层协议端口
(protocol port,简称端口)的概念,成功地解决了通信进程的标识问题。
传输层是计算机网络中,通信主机内部进行独立操作的第一层,是支持端到端的进程通信的关键的一层。;2.端口的概念;3.端口号的分配机制;4.进程的网络地址的概念;5.网络中进程通信的标识;1.面向消息的协议与基于流的协议
(1)面向消息的协议
面向消息的协议以消息为单位在网上传送数据,在发送端,消息一条一条地发送,在接收端,也只能一条一条地接收,每一条消息是独立的,消息之间存在着边界。;(2)基于流的协议
基于流的协议不保护消息边界,将数据当作字节流连续地传输,不管实际消息边界是否存在。;2.面向连接的服务和无连接的服务;3.可靠性和次序性;1.1.4 高效的用户数据报协议UDP;1.1.5 可靠的传输控制协议TCP;TCP被称作一种端对端(end to end)协议,这
是因为它提供一个直接从一台计算机上的应用进程到另一远程计算机上的应用进程的连接。应用进程能请求TCP构造一个连接,通过这个连接发送和接收数据,以及关闭连接。由TCP提供的连接叫做虚连接(virtual connection),虚连接是由软件 实现的。事实上,底层的因特网系统并不对连接提供硬件或软件支持,只是两台机器上的TCP软件模块通过交换消息来实现连接的幻象。;第2章 UNIX中的套接字网络编程接口;套接字应用程序编??接口是网络应用程序通过网络协议栈进行通信时所使用的接口,即应用程序与协议栈软件之间的接口,简称套接字编程接口 (Socket API)。
它定义了应用程序与协议栈软件进行交互时可以使用的一组操作,决定了应用程序使用协议栈的方式、应用程序所能实现的功能、以及开发具有这些功能的程序的难度。;加州大学伯克利(Berkley)分校开发并推广了一个包括TCP/IP互联协议的UNIX,称为BSD UNIX
(Berkeley Software Distribution UNIX)操作
系统,套接字编程接口是这个操作系统的一个部分。
后来的许多操作系统并没有另外搞一套其它的编程接口,而是选择了对于套接字编程接口的支持。
由于这个套接字规范最早是由Berkeley大学开发的,一般将它称为Berkeley Sockets规范。;要想实现套接字编程接口,可以采用两种实现方式,
一种是在操作系统的内核中增加相应的软件来实现,
一种是通过开发操作系统之外的函数库来实现。;UNIX操作系统对文件和所有其它的输入/输 出设备采用一种统一的的操作模式,就是“打开-读-写-关闭”(open - read - write - close) 的I/O模式。
当TCP/IP协议被集成到UNIX内核中的时候,相当于在UNIX系统中引入了一种新型的I/O操作,就是应用程序通过网络协议栈来交换数据。;在UNIX系统的实现中,套接字是完全与其他I/O集成在一起的。操作系统和应用程序都将套接字编程接口也看作一种输入/输出机制。
但是,用户进程与网络协议的交互作用实际要比用户进程与传统的I/O设备相互作用要复杂得多。;2.2 套接字编程的基本概念;我们应当从多个层面来理解套接字这个概念的内涵。
从套接字所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议栈进行通信的接口,是应用程序与网络协议栈进行交互的接口。;从实现的角度来讲,非常复杂。套接字是一 个复杂的软件机构,包含了一定的数据结构,包含许多选项,由操作系统内核管理。
从使用的角度来讲,非常简单。对于套接字的操作形成了一种网络应用程序的编程接口( API)。
本书把这一套操作套接字的编程接口函数称作套接字编程接口,套接字是它的操作对象。
总之,套接字是网络通信的基石。;1.通信域
接字存在于通信域中,通信域是为了处理一般的进程通过套接字通信而引入的一种抽象概念,套接字通常只和同一域中的套接字交换数据。
如果数据交换要穿越域的边界,就一定要执行某种解释程序
您可能关注的文档
最近下载
- 锅炉本体检修工职业技能鉴定高级工试题.docx VIP
- 初中数学重点知识点梳理汇总.docx VIP
- [中国青铜器]01.第一章 概论.pdf VIP
- 德国探亲签邀请函中德文对照.docx
- 2024山西太原市古交市招聘劳动保障工作站和社区低保工作站人员笔试历年典型考题及考点剖析附答案带详解.docx VIP
- 2025年高等教育自学考试马克思主义基本原理概论真题及模拟试题汇编.doc VIP
- it审计的组织与实施(培训课件).ppt VIP
- 2025社区两保人员考试真题及答案.doc VIP
- 《春江花月夜》教学设计及课堂镜头.doc VIP
- 肿瘤多学科综合治疗模式与个体化治疗研究进展.docx VIP
文档评论(0)