📄 6-10.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="_Toc336626898"><A NAME="_Toc336792982"><A NAME="_Toc336793458"></FONT><FONT FACE="Arial" SIZE=5>6.10 </FONT><FONT FACE="黑体" LANG="ZH-CN" SIZE=5>连接建立和拆除的高级函数</A></A></A></P>
</B></FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>WSAAccept()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数允许应用程序在接受连接请求以前得到请求者的信息,例如请求者的</FONT><FONT SIZE=3>ID</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>WSAAccept()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数的条件函数说明的用户对用户的数据可以在连接建立的时候传送到对方。</P>
<P ALIGN="JUSTIFY">	在连接拆除时,如果协议支持的话,也可以在通讯的端点间交换用户数据。需要提出拆除连接的通讯端点可以调用</FONT><FONT SIZE=3>WSASendDisconnect()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数声明没有要传送的数据并启动连接拆除过程。对于某些协议,这一拆除过程包括了从发起拆除连接的一方发送拆除数据。在接收到远端已经启动了连接拆除过程的通知后(通常是</FONT><FONT SIZE=3>FD_CLOSE</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>),应用程序可以调用</FONT><FONT SIZE=3>WSARecvDisconnect()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数接收某些拆除数据。</P>
<P ALIGN="JUSTIFY">	为了解释如何使用拆除数据,我们考虑如下的场景:在客户机</FONT><FONT SIZE=3>/</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>服务器模型中,通常是由客户机决定何时终止套接口的连接。在终止连接的同时,它通过拆除数据提供和服务器连接的次数。服务器也提供它和所有客户机的总的连接次数。这一过程如下所示:</P>
<P ALIGN="JUSTIFY">			</P>
<P ALIGN="JUSTIFY">			客户机端</FONT><FONT SIZE=3> </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>服务器端</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">(1) </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>调用</FONT><FONT SIZE=3>WSASendDisconnect()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数</P>
<P ALIGN="JUSTIFY">终止对话并提供总的交互次数。</P>
<P ALIGN="JUSTIFY">										</FONT><FONT SIZE=3> (2) </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>得到</FONT><FONT SIZE=3>FD_CLOSE</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>recv()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数</P>
<P ALIGN="JUSTIFY">										</FONT><FONT SIZE=3> </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>返回</FONT><FONT SIZE=3>0</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>,或者</FONT><FONT SIZE=3>WSARecv()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数返回</P>
<P ALIGN="JUSTIFY">										</FONT><FONT SIZE=3> WSAEDISCON</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>错误表示优雅的关闭。</P>
<P ALIGN="JUSTIFY">										</FONT><FONT SIZE=3> (3) </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>调用</FONT><FONT SIZE=3>WSARecvDisconnect()</P>
<P ALIGN="JUSTIFY">										 </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数来得到客户机的总的交互次</P>
<P ALIGN="JUSTIFY">										</FONT><FONT SIZE=3> </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>数。</P>
<P ALIGN="JUSTIFY">										</FONT><FONT SIZE=3> (4) </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>计算累积授权次数。</P>
<P ALIGN="JUSTIFY">										</FONT><FONT SIZE=3> (5) </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>调用</FONT><FONT SIZE=3>WSASendDisconnect()</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">										</FONT><FONT SIZE=3> </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数来传送累积授权次数。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">(6) </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>接收</FONT><FONT SIZE=3>FD_CLOSE</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>指示</FONT><FONT SIZE=3> (5’) </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>调用</FONT><FONT SIZE=3>closesocket()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">(7) </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>调用</FONT><FONT SIZE=3>WSARecvDisconnect() </P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">函数来接收并存放累积授权次数。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">(8) </FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>调用</FONT><FONT SIZE=3>closesocket()</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>函数。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	注意:步骤</FONT><FONT SIZE=3>(5’)</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>必须在步骤</FONT><FONT SIZE=3>(5)</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>之后执行,但是与步骤</FONT><FONT SIZE=3>(6)</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>(7)</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>或</FONT><FONT SIZE=3>(8)</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3>没有时间联系</FONT><FONT SIZE=3>.</P>
</FONT><FONT FACE="宋体" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"></P></FONT></BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -