桃谷绘理香豆腐西施:那位世内高人提供winsock感恩戴德,世世铭记

来源:百度文库 编辑:高校问答 时间:2024/04/29 18:20:07

ocket编程原理
1 问题的引入
UNIX系统的I/O命令集,是从Maltics和早期系统中的命令演变出来的,其模式为打开一读/写一关闭(open-write-read-close)。在一个用户进程进行I/O操作时,它首先调用“打开”获得对指定文件或设备的使用权,并返回称为文件描述符的整型数,以描述用户在打开的文件或设备上进行I/O操作的进程。然后这个用户进程多次调用“读/写”以传输数据。当所有的传输操作完成后,用户进程关闭调用,通知操作系统已经完成了对某对象的使用。

TCP/IP协议被集成到UNIX内核中时,相当于在UNIX系统引入了一种新型的I/O操作。UNIX用户进程与网络协议的交互作用比用户进程与传统的I/O设备相互作用复杂得多。首先,进行网络操作的两个进程钥纪?纪?同机器上,如何建立它们之间的联系?其次,网络协议存在多种,如何建立一种通用机制以支持多种协议?这些都是网络应用编程界面所要解决的问题。

在UNIX系统中,网络应用编程界面有两类:UNIX BSD的套接字(socket)和UNIX System V的TLI。由于Sun公司采用了支持TCP/IP的UNIX BSD操作系统,使TCP/IP的应用有更大的发展,其网络应用编程界面——套接字(socket)在网络软件中被广泛应用,至今已引进微机操作系统DOS和Windows系统中,成为开发网络应用软件的强有力工具,本章将要详细讨论这个问题。

2 套接字编程基本概念
钥纪?纪?始使用套接字编程之前,首先必须建立以下概念。

2.1 网间进程通信
进程通信的概念最初来源于单机系统。由于每个进程都在自己的地址范围内运行,为保证两个相互通信的进程之间既互不干扰又协调一致工作,操作系统为进程通信提供了相应设施,如UNIX BSD中的管道(pipe)、命名管道(named pipe)和软中断信号(signal),UNIX system V的消息(message)、共享存储区(shared memory)和信号量(semaphore)等,但都仅限于用在本机进程之间通信。网间进程通信要解决的是不同主机进程间的相互通信问题(可把同机进程通信看作是其中的特例)。为此,首先要解决的是网间进程标识问题。同一主机上,不同进程可用进程号(process ID)唯一标识。但在网络环境下,各主机独立分配的进程号不能唯一标识该进程。例如,主机A赋于某进程号5,在B机中也可以存在5号进程,因此,“5号进程”这句话就没有意义了。

其次,操作系统支持的网络协议众多,不同协议的工作方式不同,地址格式也不同。因此,网间进程通信还要解决多重协议的识别问题。

引进
1问题OCKET的的编程原理

UNIX系统的I / O命令的的指挥系统Maltics和早期演化的模式从打开一个读/写(开写读近距离) 。在一个用户进程的I / O操作,它首先调用“打开”指定的文件或设备的使用权,并返回一个整数,称为一个文件描述符描述用户打开的文件或设备的I / O操作过程。然后这个用户进程一再称为“R / W”来传输数据。当所有的传输操作完成时,用户进程关闭调用,通知操作系统已经完成对一个对象使用。

TCP / IP协议被集成到UNIX内核,相当于在UNIX系统引入了一种新类型的I / O操作。 UNIX用户进程和网络协议的用户进程和相互作用比传统的I / O设备相互作用是复杂得多。首先,网络经营两个进程的关键纪纪律,同一台机器上,如何建立它们之间的联系?其次,有多种网络协议,如何建立一种通用机制,支持多种协议?这些问题必须解决网络应用程序编程接口。

在UNIX系统中,有两种类型的网络应用程序编程接口:UNIX BSD的套接字(socket)和UNIX System V的TLI。 Sun的支持TCP / IP的UNIX BSD的操作系统系统,TCP / IP的应用程序开发,网络应用程序编程接口 - 插口(插座)被广泛使用的网络软件,已经引进的微机操作系统DOS和Windows系统,一个功能强大的工具网络应用软件的发展,本章将详细讨论这个问题。



重点学科纪律开始使用socket编程socket编程的基本概念,你必须先建立如下的概念。

进程通信2.1网间进程通信的概念起源于单机系统。由于每个进程的地址范围内运行,以确保两者之间的互相通信,而不会干扰彼此协调工作,操作系统中的进程间通信提供设施,如在BSD UNIX管道(管),命名为管(命名管道)和软中断信号(信号),UNIX System V消息(消息),共享存储(共享内存)和信号(信号量),但只限于在本机通信的过程中使用。进程之间的通信网络来解决不同的主机上的进程间通信(同一台机器上的进程间通信可以被看作是一种特殊情况)。为此,我们必须首先要解决的互连工艺标识的问题。在同一主机上,不同的进程可以唯一标识的进程ID(进程ID)。但在网络环境中,每台主机分配一个单独的进程ID不能唯一标识的过程。例如,主机A分配给进程号5,第五届过程也可能是目前在B机器上,因此,“过程”这句话不会有意义。

二,支持多种网络协议,操作系统,不同的协议,以不同的方式,不同的地址格式。因此,互连进程间通信还要解决的问题的多协议识别。

问题OCKET编程原理介绍

UNIX系统的的指挥系统Maltics和早期演化的模式从I / O命令打开一个读/写(开读 - 写 - 关闭)。在一个用户进程的I / O操作,它首先调用“打开”指定的文件或设备的使用权,并返回一个整数,称为一个文件描述符描述用户打开的文件或设备的I / O操作过程。然后这个用户进程一再称为“R / W”来传输数据。当所有的传输操作完成时,用户进程关闭调用,通知操作系统已经完成对一个对象使用。

TCP / IP协议被集成到UNIX内核,相当于在UNIX系统引入了一种新类型的I / O操作。 UNIX用户进程和网络协议的用户进程和相互作用比传统的I / O设备相互作用是复杂得多。首先,网络经营两个进程的关键纪纪律,同一台机器上,如何建立它们之间的联系?其次,有多种网络协议,如何建立一种通用机制,支持多种协议?这些问题必须解决网络应用程序编程接口。

在UNIX系统中,有两种类型的网络应用程序编程接口:UNIX BSD的套接字(socket)和UNIX System V的TLI。 Sun公司的支持TCP / IP,UNIX的BSD操作系统,TCP / IP的应用程序开发,网络应用程序编程接口 - 插口(插座)被广泛使用的网络软件,已被引进的微电脑操作系统系统的DOS和Windows系统,成为用于开发网络应用的功能强大的工具,本章将详细讨论这个问题。

重点学科纪律开始使用套接字编程套接字编程的基本概念,你必须先建立如下的概念。

进程通信2.1网间进程通信的概念起源于单机系统。由于每个进程的地址范围内运行,沟通彼此的过程可以干扰对方和协调工作之间的进程通信,操作系统提供的设施,如UNIX的BSD管道(管道),命名管道(命名管道)和软中断信号(信号),UNIX System V的消息(消息),共享存储(共享内存)和信号(信号量),但仅限于在机通信的过程中使用。进程之间的通信网络来解决不同的主机上的进程间通信(同一台机器上的进程间通信可以被看作是一种特殊情况)。为此,我们必须首先要解决的互连工艺标识的问题。在同一主机上,不同的进程可以唯一标识的进程ID(进程ID)。但在网络环境中,每台主机分配一个单独的进程ID不能唯一标识的过程。例如,主机A分配给进程号5,第五届过程也可能是目前在B机器上,因此,“过程”这句话不会有意义。

二,支持多种网络协议,操作系统,不同的协议,以不同的方式,不同的地址格式。因此,互连进程间通信还要解决的问题的多协议识别。