21UNX套接字网络编程接口的产生与发展 213套接字编程接口的继承和发展(P25) ) Windows系统 微软公司以UNI操作系统的 Berkeley Sockets规范为范例, 定义了 Windows socktes规范,全面继承了套接字网络编程接口 详细内容将在第三章介绍。 2) Linux系统 Linux操作系统中的套接字网络编程接口几乎与UNⅨX操作 系统的套接字网络编程接口一样
1)Windows系统 微软公司以UNIX操作系统的Berkeley Sockets规范为范例, 定义了Windows Socktes规范,全面继承了套接字网络编程接口。 详细内容将在第三章介绍。 2.1.3 套接字编程接口的继承和发展 (P25) 2.1 UNIX套接字网络编程接口的产生与发展 2) Linux系统 Linux操作系统中的套接字网络编程接口几乎与UNIX操作 系统的套接字网络编程接口一样
21UNIX套接字网络编程接口的产生与发展 214套接字编程接口的两种实现方式P25 要想实现套接字编程接口,可以采用两种实现方式: 1.一种是在操作系统的内核中增加相应的软件来实现, 套接字函数是操作系统内核的一部分。 2.另一种是通过开发操作系统之外的函数库来实现。 具有与UNI套接字相同的函数名和参数。实现了程序的可 移植性,程序源代码不必改动即可移植到另一个操作系统。 只是使用时要链接库函数
要想实现套接字编程接口,可以采用两种实现方式: 1. 一种是在操作系统的内核中增加相应的软件来实现, 套接字函数是操作系统内核的一部分。 2. 另一种是通过开发操作系统之外的函数库来实现。 具有与UNIX套接字相同的函数名和参数。实现了程序的可 移植性,程序源代码不必改动即可移植到另一个操作系统。 只是使用时要链接库函数。 2.1.4 套接字编程接口的两种实现方式 P25 2.1 UNIX套接字网络编程接口的产生与发展
21UNIX套接字网络编程接口的产生与发展 215套接字通信与UNX操作系统的输入输出的关系 UNIX操作系统对文件和所有其它的输入输出设备采用 种统一的的操作模式,就是“打开-读写关闭”(open-read write- close)的ⅣO模式。 当TCPP协议被集成到UNⅨX内核中的时候,相当于在 UNIX系统中引入了一种新型的ⅣO操作,就是应用程序通过 网络协议栈来交换数据
UNIX操作系统对文件和所有其它的输入/输出设备采用 一种统一的的操作模式,就是“打开-读-写-关闭”(open - read - write - close)的I/O模式。 当TCP/IP协议被集成到UNIX内核中的时候,相当于在 UNIX系统中引入了一种新型的I/O操作,就是应用程序通过 网络协议栈来交换数据。 2.1.5 套接字通信与UNIX操作系统的输入/输出的关系 2.1 UNIX套接字网络编程接口的产生与发展
215套接字通信与UNⅨ操作系统的输入/输出的关系 在UNIX系统的实现中,套接字是完全与其他ⅣO集成在 起的。操作系统和应用程序都将套接字编程接囗也看作 种ⅣO机制。 这体现在三个方面: 1)操作的过程类似。使用套接字也像使用I/O→样“打 开-读写-关闭”模式。 2)操作方法类似。操作系统为文件、设备、进程通信、 网络通信提供单独的一组描述符,套接字通信同样使用描述 符方法 3)过程名也可以相同。例如read和 write
在UNIX系统的实现中,套接字是完全与其他I/O集成在 一起的。操作系统和应用程序都将套接字编程接口也看作一 种I/O机制。 这体现在三个方面: 2.1.5 套接字通信与UNIX操作系统的输入/输出的关系 1)操作的过程类似。使用套接字也像使用I/O一样“打 开--读写--关闭”模式。 2)操作方法类似。操作系统为文件、设备、进程通信、 网络通信提供单独的一组描述符,套接字通信同样使用描述 符方法。 3)过程名也可以相同。例如read和write
215套接字通信与UNⅨ操作系统的输入/输出的关系 但是,用户进程与网络协议的交互作用实际要比用户进 程与传统的ⅣO设备相互作用要复杂得多。首先,进行网络操 作的两个进程是在两合不同的计算机,如何连接;其次,要 建立一种通用机制来支持多种网络协议。 还有,使用套接字的应用程序必须说明许多细节。仅仅 提供open、read、 write、lose四个过程远远不够。为避免单 个套接字函数参数过多,套接字编程接口的设计者还定义了 其它多个函数
但是,用户进程与网络协议的交互作用实际要比用户进 程与传统的I/O设备相互作用要复杂得多。首先,进行网络操 作的两个进程是在两台不同的计算机,如何连接;其次,要 建立一种通用机制来支持多种网络协议。 2.1.5 套接字通信与UNIX操作系统的输入/输出的关系 还有,使用套接字的应用程序必须说明许多细节。仅仅 提供open、read、write、close四个过程远远不够。为避免单 个套接字函数参数过多,套接字编程接口的设计者还定义了 其它多个函数