⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 6-7.html

📁 介绍各种平台进行SOCKET编程的好东东。
💻 HTML
字号:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>6</TITLE>
</HEAD>
<BODY>

<B><FONT FACE="黑体" LANG="ZH-CN" SIZE=5><P><A NAME="_Toc336626893"><A NAME="_Toc336792979"><A NAME="_Toc336793455"></FONT><FONT FACE="Arial" SIZE=5>6.7 </FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=5>服务的质量(</FONT><FONT FACE="Arial" SIZE=5>QOS</FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=5>)</A></A></A></P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>Windows Sockets 2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>中的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>机制是从</FONT><FONT SIZE=3>Craig Partridge</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>在</FONT><FONT SIZE=3>RFC 1363</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>中描述的流规格引入的。这一概念可以大致描述如下:</P>
<P ALIGN="JUSTIFY">&#9;流规格描述了一个网络上单向数据流的性质的集合。应用程序可以在调用</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数发出连接请求或者使用</FONT><FONT SIZE=3>WSAIoctl()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数等其他</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>命令时,把一对流规格和一个套接口连接(一个规范对应了一个方向)。流规格以参数方式声明了应用程序所要求的服务的级别,并且为应用程序适应不同的网络条件提供了一套反馈机制-如果应用程序要求的服务级别不能达到,应用程序是否愿意松动它的要求。</P>
<P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>Windows Sockets 2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>中</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>的使用模型如下:</P>
<P ALIGN="JUSTIFY">&#9;对于基于连接的传输服务,应用程序可以很方便的在使用</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数提出连接请求时规定它所要求的服务质量(</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>)。要注意的是:如果应用程序在调用</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>时</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>参数不为空,那么对于基于连接的套接口,任何预先设置的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>都会被覆盖。如果</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数成功返回,应用程序就会知道它所要求的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>已经被网络接受,那么应用程序就可以随意的使用这个套接口进行数据交换。如果连接操作由于资源有限而失败,应用程序应该适当地降低它所要求的服务质量或者干脆就放弃操作。</P>
<P ALIGN="JUSTIFY">&#9;在每次连接企图之后(不论成功与否),传输服务提供者都会更新</FONT><FONT SIZE=3>flow_spec</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>结构,以便尽可能地指明目前的网络条件。如果应用程序所要求的服务质量仅仅包含了一些传输服务提供者必须满足的缺省值,那么这种更新会是很有用处的。应用程序可以利用这些关于当前网络条件的信息来指导自己使用网络,例如今后的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>要求。然而应用程序应该注意的是,传输服务提供者在不断更新的</FONT><FONT SIZE=3>flow_spec</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>结构中提供的信息仅仅是一个参考,它们只不过是粗略的估计。应用程序应该很小心的解释这些数据。</P>
<P ALIGN="JUSTIFY">&#9;无连接的套接口也可以使用</FONT><FONT SIZE=3>WSAConnect()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数为一个指定的通讯规定特定的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>级别。</FONT><FONT SIZE=3>WSAIoctl()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数也可以用来规定初始的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>要求,或者用来今后的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>协商。</P>
<P ALIGN="JUSTIFY">&#9;即使是一个流规格已经建立,网络的情况也有可能改变,或者通讯的一方可能提出了</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>重协商的要求,这将导致可以得到的服务级别的降低或者提高。</FONT><FONT SIZE=3>Windows Sockets 2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>引入了一个通知机制。它使用了一般的</FONT><FONT SIZE=3>WS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>通知方式(</FONT><FONT SIZE=3>FD_QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>FD_GROUP_QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>事件)来告诉应用程序</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>级别已经改变了。一般服务提供者只在当前的服务级别和上一次报告有很大区别(通常是逆向的),并且有可能会影响到应用程序时才发出</FONT><FONT SIZE=3>FD_QOS/FD_GROUP_QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>通知。应用程序应该使用</FONT><FONT SIZE=3>WSAIoctl()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数来得到当前的状态并且检查服务等级的那些方面有了变化。如果当前的</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>级别是不可接受的,应用程序应该调整自己以去适应当前的状态,试图重新协商或者关闭套接口。</P>
<P ALIGN="JUSTIFY">&#9;</FONT><FONT SIZE=3>Windows Sockets 2</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>推荐的流规格把</FONT><FONT SIZE=3>QOS</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>特性划分为如下几个方面:</P>
<P ALIGN="JUSTIFY">&#9;&#9;</FONT><FONT SIZE=3>1. </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>源通讯描述:应用程序的通讯事件以什么方式被送入网络。</P>
<P ALIGN="JUSTIFY">&#9;&#9;</FONT><FONT SIZE=3>2. </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>延时性:最大延时和可接受的延时变化。</P>
<P ALIGN="JUSTIFY">&#9;&#9;</FONT><FONT SIZE=3>3. </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>需要保证的服务级别:应用程序是否要求对服务质量的绝对保证。</P>
<P ALIGN="JUSTIFY">&#9;&#9;</FONT><FONT SIZE=3>4. </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>费用:这一项是为将来可以决定有意义的费用时保留的。</P>
<P ALIGN="JUSTIFY">&#9;&#9;</FONT><FONT SIZE=3>5. </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>服务提供者特定的参数:流规格可以根据具体的提供者扩展。</P>
<P ALIGN="JUSTIFY"></P></FONT></BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -