- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]第二章-SOCKET基础
套接字网络编程接口 网络软件设计 赵洪 zh@besti.edu.cn 内容概要 套接字编程接口的产生和发展 问题的提出 套接字编程接口的起源与应用 套接字编程接口的两种实现方式 套接字编程接口与UNIX的I/O系统 问题的提出 问题的提出 套接字编程接口的起源与应用 加州大学伯克利(Berkley)分校开发并推广了一个包括TCP/IP互联协议的UNIX,称为BSD UNIX(Berkeley Software Distribution UNIX)操作系统,套接字编程接口是这个操作系统的一个部分。 后来的许多操作系统并没有另外搞一套其它的编程接口,而是选择了对于套接字编程接口的支持。 由于这个套接字规范最早是由Berkeley大学开发的,一般将它称为Berkeley Sockets规范。 套接字编程接口的两种实现方式 在操作系统的内核中增加相应的软件来实现。 通过开发操作系统之外的函数库来实现。 套接字编程接口与UNIX的I/O系统 SOCKET源于UNIX系统,沿用了UNIX的I/O模式。 UNIX操作系统对文件和所有其它的输入/输出设备采用一种统一的的操作模式,就是“打开-读-写-关闭”(open - read - write - close)的I/O模式。 当TCP/IP协议被集成到UNIX内核中的时候,相当于在UNIX系统中引入了一种新型的I/O操作,就是应用程序通过网络协议栈来交换数据。 用户进程与网络协议的交互作用实际要比用户进程与传统的I/O设备相互作用要复杂得多。仅仅提供open、read、write、close四个过程远远不够,因此,套接字编程接口的设计者定义了多个函数。 套接字编程的基本概念 套接字的概念理解。 套接字的分类。 套接字的应用场合。 套接字的概念理解 套接字的概念理解 从套接字所处的地位来讲:套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议栈进行通信的接口,是应用程序与网络协议栈进行交互的接口。 从使用的角度来讲,非常简单。对于套接字的操作形成了一种网络应用程序的编程接口(API)。 套接字编程接口和套接字区分理解:操作套接字的编程接口函数称作套接字编程接口,套接字是它的操作对象。 套接字的分类 数据报套接字数据报套接字提供无连接的不保证可靠的独立的数据报传输服务。在Internet通信域中,数据报套接字使用UDP数据报协议形成的进程间通路,具有UDP协议为上层所提供的服务的所有特点。 流式套接字流式套接字提供双向的、有序的、无重复的、无记录边界的可靠的数据流传输服务。在Internet通信域中,流式套接字使用TCP协议形成的进程间通路,具有TCP协议为上层所提供的服务的所有特点,在使用流式套接字传输数据之前,必须在数据的发送端和接收端之间建立连接。 原始套接字原始式套接字允许对较低层次的协议,如IP、ICMP直接访问,用于检验新的协议的实现。 套接字的应用场合 套接字编程是比较底层的网络应用程序开发。 适合没有已有的应用层协议的应用开发。 开发的自由度更高,但难度相对更大。 面向连接的套接字编程 网络字节序和主机字节序 我们的第一个网络程序“hello,socket。” 网络字节序和主机字节序 “小序在前”(Little-endian) 0个整数在计算机内存中是这样存放:a[0]=0x44,a[1]=0x33,a[2]=0x22,a[3]=0x11 “大序在前”(Big-endian) 0个整数在计算机内存中是这样存放:a[0]=0x11,a[1]=0x22,a[2]=0x33,a[3]=0x44 Windows系统采用“小序在前” 网络字节顺序采用“大序在前” 第一个SOCKET程序 simple_srv,简单服务器。 simple_clt,简单客户端。 功能:客户端向服务器发送Hello,Server。服务器收到后向客户端发送Hello,Client。 面向连接的C/S程序工作模型 认识集成开发环境(IDE)VC6 IDE是什么? 代码编辑器 编译器 调试器 其他辅助开发的工具 我们课程使用的IDE——VC6 与Windows结合紧密 功能强大 尤其适合Windows系统下C/CPP编程 建立工程 从建立工程开始的好处 最大程度自动化 常见的工程类型 Console程序 Win32程序 MFC程序 动态链接库程序 用VC编写一个console程序 空工程 简单应用程序 一个hello world程序 支持MFC的简单应用程序 怎样进行调试 设置断点 单步执行 查看执行过程中变量的变化 Socket在程序中的体现形式 所有的socket接口封装在一个动态链接库里面, WS2_32.DLL。 WS2_32.DLL对应的头文
文档评论(0)