袁瑞 的个人资料袁瑞的共享空间照片日志留言簿更多 ![]() | 帮助 |
|
|
11月30日 TCP中的状态说明From RFC793
A connection progresses through a series of states during its lifetime. The states are: LISTEN, SYN-SENT, SYN-RECEIVED, ESTABLISHED, FIN-WAIT-1, FIN-WAIT-2, CLOSE-WAIT, CLOSING, LAST-ACK, TIME-WAIT, and the fictional state CLOSED. CLOSED is fictional because it represents the state when there is no TCB, and therefore, no connection. Briefly the meanings of the states are: LISTEN - represents waiting for a connection request from any remote TCP and port. SYN-SENT - represents waiting for a matching connection request after having sent a connection request. SYN-RECEIVED - represents waiting for a confirming connection request acknowledgment after having both received and sent a connection request. ESTABLISHED - represents an open connection, data received can be delivered to the user. The normal state for the data transfer phase of the connection. FIN-WAIT-1 - represents waiting for a connection termination request from the remote TCP, or an acknowledgment of the connection termination request previously sent. FIN-WAIT-2 - represents waiting for a connection termination request from the remote TCP. CLOSE-WAIT - represents waiting for a connection termination request from the local user. CLOSING - represents waiting for a connection termination request acknowledgment from the remote TCP. LAST-ACK - represents waiting for an acknowledgment of the connection termination request previously sent to the remote TCP(which includes an acknowledgment of its connection termination request). TIME-WAIT - represents waiting for enough time to pass to be sure the remote TCP received the acknowledgment of its connection termination request. CLOSED - represents no connection state at all. A TCP connection progresses from one state to another in response to events. The events are the user calls, OPEN, SEND, RECEIVE, CLOSE, ABORT, and STATUS; the incoming segments, particularly those containing the SYN, ACK, RST and FIN flags; and timeouts. The state diagram in figure 6 illustrates only state changes, together with the causing events and resulting actions, but addresses neither error conditions nor actions which are not connected with state changes. In a later section, more detail is offered with respect to the reaction of the TCP to events. NOTE BENE: this diagram is only a summary and must not be taken as the total specification.
+---------+ ---------\ active OPEN | CLOSED | \ ----------- +---------+<---------\ \ create TCB | ^ \ \ snd SYN passive OPEN | | CLOSE \ \ ------------ | | ---------- \ \ create TCB | | delete TCB \ \ V | \ \ +---------+ CLOSE | \ | LISTEN | ---------- | | +---------+ delete TCB | | rcv SYN | | SEND | | ----------- | | ------- | V +---------+ snd SYN,ACK / \ snd SYN +---------+ | |<----------------- ------------------>| | | SYN | rcv SYN | SYN | | RCVD |<-----------------------------------------------| SENT | | | snd ACK | | | |------------------ -------------------| | +---------+ rcv ACK of SYN \ / rcv SYN,ACK +---------+ | -------------- | | ----------- | x | | snd ACK | V V | CLOSE +---------+ | ------- | ESTAB | | snd FIN +---------+ | CLOSE | | rcv FIN V ------- | | ------- +---------+ snd FIN / \ snd ACK +---------+ | FIN |<----------------- ------------------>| CLOSE | | WAIT-1 |------------------ | WAIT | +---------+ rcv FIN \ +---------+ | rcv ACK of FIN ------- | CLOSE | | -------------- snd ACK | ------- | V x V snd FIN V +---------+ +---------+ +---------+ |FINWAIT-2| | CLOSING | | LAST-ACK| +---------+ +---------+ +---------+ | rcv ACK of FIN | rcv ACK of FIN | | rcv FIN -------------- | Timeout=2MSL -------------- | | ------- x V ------------ x V \ snd ACK +---------+delete TCB +---------+ ------------------------>|TIME WAIT|------------------>| CLOSED | +---------+ +---------+ 11月14日 函数调用的区别左通过栈传递,被调用的函数在返回前清理传送参数的内存栈,但不同的是函数名的修饰部分(关于函数名的修饰部分在后面将详细说明)。
11月13日 CTI的主要标准协议从20世纪80年代起,在用户三方通讯应用需求的推动下,欧洲计算机制造协会(ECMA)发起了制定计算机和电信平台间的通讯标准运动。从那时起,产生了两个CTI标准:计算机支持的电话应用(CSTA)和交换机计算机应用接口(SCAI),随后,又有众多的厂商制定了相关的接口协议。下面对主要的CTI标准进行介绍。
1. CSTA标准 为了响应ECMA关于建立CTI标准的运动,包括AT&T、北电、Aicatel、Siemens、IBM、HP等电信设备制造商专门成立了一个委员会。该委员会制定了标准的ECMA-179-计算机支持的电信应用服务(CSTA)和标准ECMA-180-计算机支持的电信应用协议,CSTA协议是计算机与电信网间的OSI第7层通讯协议。 CSTA获得了大多数交换机制造商和呼叫中心开发公司的支持,目前的版本有CSTAI(1992)、CSTAII(1994)、CSTAIII(1998)。 CSTA为集成计算机和电信网平台定义了总体结构、要求和协议。这项技术标准强调了计算机和交换的灵活性、双向通讯和分布模型。由于CSTA起初是针对专用网的,因此它关注的是基于交换的对象,比如电话、中继线和队列等。CSTA服务是独立于交换平台的,它并不知道交换机是如何完成CSTA服务请求的特殊细节。
2. SCAI标准 交换机计算机应用接口(SCAI)标准是由美国国家标准协会(ANSI)制定的。SCAI详述了一种结构和OSI应用协议,以便在计算机和交换机应用程序间进行对等的数据通讯,从而实现计算机和电话交换平台的集成。 SCAI受其他标准的影响,包括受ISDN和智能网(IN)的影响。新一版的SCAI的目标是实现在公众网和专用网上的呼叫中心的应用。与CSTA不同的是,CSTA强调通讯集成而不是应用集成。由于CSTA提供了更多的事件报告能力,因此吸引了更多的应用开发者。
3. Versit标准 Versit是有四家主导计算机通讯产品的生产商——Apple公司、AT&T、IBM和Siemens Rolm组成的,目的是签署使计算机、电话及其他网络应用能共同工作的标准。该协会将保证那些获得其批准的产品能够互相作用。 Versit的另一个目标是定义技术规范,而且也已选择了一些现有的标准作为技术规范基础。Novell的TSAPI、IBM的CallPath交换正规化方案、单方呼叫功能以及下一代电话应用的一系列目标都由Versit支持。 电话和计算机目录接口方面的不统一会导致CTI产业分裂成两个阵营的危险。Versit选择了Aplle的GeoPort作为计算机到电话的物理链接。而Intel则提出了另一个接口,称为高速串行接口。而且拥有Compaq、Microsoft和北电诸多公司的支持。 Intel和其竞争对手Versit正在为完成多媒体通讯的标准展开竞争。如果谁的标准被标准化组织选用,谁就会扩展的更远。双方起初使用同一个宏结构,该结构的顶层的5Mbit/s串行总线用以同步数据,该结构的API层及其上的格式规范为各种PC应用提供数据。
4. CallPath标准 IBM的CallPath是20世纪80年代后期引入的主机CTI结构,是为了给从PBX到大呼叫中心环境中的IBM的主要链接提供接口。随后软件被扩展为能够容纳诸如OS/2和AIX的附加的IBM操作系统。最近,IBM宣布了一个CallPath的客户/服务器版本,反映了此环境的普遍性和重要性。 客户/服务器CallPath是一个几乎服务器的软件包。IBM将其产品定位在通用CTI服务器的概念上,而不是定位于特定的LAN环境(应与Novell为Netware LAN对TSAPI所做的处理一样)。PC、工作站及主机都可以与支持CallPath的服务器相连接,具有同时支持多达4个PBX的能力。该标准可以在一系列操作系统上允许,包括Windows、Solaris、SCO UNIX、IBM的AIX和OS/2系统。 从应用方面来说,IBM鼓励三方连接的开发者开发与CallPath兼容的应用程序,但IBM的方法没有Novell和Microsoft的那样富有攻击性。IBM的软件开发者工具箱的价格相当高,而且IBM也提供客户软件产品。 另外,IBM正在为它的将CallPath消息转换为指定电话系统形式的网关软件申请许可证。这个软件可以使交换机与现有的CallPath应用程序一同工作,而且方便了这些应用程序从一个主机到另一个主机的可移动性。ACD的主导生产商——Aspect Telecommunication,是第一个可以发放CallPath服务结构(CSA)许可证的电话系统销售商,并获得了IBM的确认。虽然正在向更大的呼叫中心环境迈进,但是从未来的趋势看这个做法在整个CTI工业界是相当恰当的。 5. SCSA MVIP标准 有两种主要方法将PC电话模块接口与其他设备相关联:一种是信号计算系统结构(SCSA),另一种是多厂家集成协议(MVIP)。这两个标准都是数字电话总线,使电话数据流的传输和交换在PC内或PC与其他设备之间进行。其他的设备可以是任一种已经存在的电话系统,包括PBX、Key系统、混合系统、IVR、预拨号机、ACD等。两个标准都有相似的目标:使集成者用不同的来自不同厂家的基于PC的应用卡创建一个终极用户解决办法。因此,客户可以从一个由语音卡、传真卡、视频卡、会议卡、语音辨认卡及其他卡构成的多资源系统获得好处,所有这些都使用同一条总线和软件接口。 MVIP是由一群电话卡厂商倡导的,包括Natural MicroSystems、Rhetorex和Pika。Dialogic(基于PC的语音模块的市场领导者)则引入了SCSA总线。这两类总线是互不兼容的,因此应用程序提供者和集成者需要在二者之间做出选择。
6. TAPI标准 Windows电话API被称为TAPI,Microsoft的TAPI提供单方连接。TAPI的目的是为Windows平台提供“个人电话”,它包含在Windows95及以后的各种Windows版本中。Windows95/98/Me系列产品支持TAPI2.0;Windows2000/XP系列则支持TAPI3.0。 Windows电话是由Windows电话动态链接库和两个标准组成的。第一个标准是服务提供者接口(SPI)。SPI被发送给那些希望遵从Windows电话的硬件生产商。如果硬件生产商的产品遵从SPI,就可以与Windows电话的DLL对话。第二个标准称为应用编程接口(API),它被发送给编写应用程序的软件开发者。如果这些开发者的软件遵守API,就可以利用Windows电话DLL的便利驱动任何电话设备或遵从SPI的服务。
7. TSAPI标准 TSAPI在电话和PC之间提供三方连接。CTI应用使用TSAPI控制任何一个呼叫,即使该呼叫进入了公司内部任何一条电话线。可以实现一些功能,比如转移呼叫,交互式语音应答(IVR)以及自动呼叫分配(ACD)等。Novell和AT&T发展TSAPI是为了给Netware操作系统增加电话服务。其结果是电话服务API需要使用LAN,不在每个电话和PC上建立直接的连接。而是在服务器电话系统间建立一个连接。这个连接称为PBX-to-Server连接,它在物理上可以由几种方式建立。
除了以上的标准外,Apple公司的MTA(将Mac机定位于多目的可处理电话应用的计算机系统)、北电的T-MAP(在TAPI和TSAPI之间提供转换功能)、Sun的XTL远程服务和ITU制定的TASC标准也是比较重要的。 11月12日 注册一个文件类型,并指定打开该类型的程序//--------------------------------------------------------------------------- windows下进程间通信的手段有哪些?1 进程与进程通信 进程是装入内存并准备执行的程序,每个进程都有私有的虚拟地址空间,由代码、数据以及它可利用的系统资源(如文件、管道等)组成。多进程/多线程是Windows操作系统的一个基本特征。Microsoft Win32应用编程接口(Application Programming Interface, API)提供了大量支持应用程序间数据共享和交换的机制,这些机制行使的活动称为进程间通信(InterProcess Communication, IPC),进程通信就是指不同进程间进行数据共享和数据交换。 2 进程通信方法 2.1 文件映射 |
|
|