?? 5-2.html
字號:
<P ALIGN="JUSTIFY">錯誤代碼:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSANOTINTIALISED </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>在應用這個</FONT><FONT SIZE=3>API</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>前,必須成功地調用</FONT><FONT SIZE=3>WSAStartup()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAENTDOWN Windows Sockets</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>實現檢測到了網絡子系統的錯誤。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSANO_RECOVERY </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>無法恢復的錯誤,</FONT><FONT SIZE=3>FORMERR</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>REFUSED</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>,</FONT><FONT SIZE=3>NOTIMP</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSANO_DATA </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>有效的名字,但沒有關于請求類型的數據記錄。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAEINPROGRESS </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>一個阻塞的</FONT><FONT SIZE=3>Windows Sockets</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>操作正在進行。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAEINTR </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>阻塞調用被</FONT><FONT SIZE=3>WSACancelBlockingCall()</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>
<P ALIGN="JUSTIFY">參見</FONT><FONT SIZE=3>: WSAAsyncGetProtoByNumber(), getprotobyname()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋體" LANG="ZH-CN" SIZE=5><P><A NAME="_Toc336626860"><A NAME="_Toc336792943"><A NAME="_Toc336793419"></FONT><FONT SIZE=5>5.2.6 getservbyname()</A></A></A></P>
</B></FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">簡述:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>返回對應于給定服務名和協議名的相關服務信息。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>#include <windows.h></P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	struct servent FAR * PASCAL FAR getservbyname(const char</P>
<P ALIGN="JUSTIFY">	Far * name, const char FAR *proto);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	name</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>:</FONT><FONT SIZE=3> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>一個指向服務名的指針。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>proto</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>:</FONT><FONT SIZE=3> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>指向協議名的指針(可選)。如果這個指針為空,</FONT><FONT SIZE=3>getservbyname()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>返回第一個</FONT><FONT SIZE=3>name</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>與</FONT><FONT SIZE=3>s_name</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>或者某一個</FONT><FONT SIZE=3>s_aliases</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>匹配的服務條目。否則</FONT><FONT SIZE=3>getservbyname()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>對</FONT><FONT SIZE=3>name</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>proto</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>都進行匹配。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">注釋:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> getservbyname()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>返回與給定服務名對應的包含名字和服務號信息的</FONT><FONT SIZE=3>servent</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>結構指針。結構的聲明如下:</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>struct servent {</P>
<P ALIGN="JUSTIFY">		char FAR * s_name;</P>
<P ALIGN="JUSTIFY">		char Far * FAR * s_aliases;</P>
<P ALIGN="JUSTIFY">		short s_port;</P>
<P ALIGN="JUSTIFY">		char FAR * s_proto;</P>
<P ALIGN="JUSTIFY">	};</P>
<P ALIGN="JUSTIFY"></P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><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">s_name </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>正規的服務名。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">s_aliases </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>一個以空指針結尾的可選服務名隊列。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">s_port </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>連接該服務時需要用到的端口號,返回的端口號是以網絡字節順序排列的。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">s_proto </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>連接該服務時用到的協議名。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	返回的指針指向一個由</FONT><FONT SIZE=3>Windows Sockets</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>實現分配的結構。應用程序不應該試圖修改這個結構或者釋放它的任何部分。此外,每一線程僅有一份這個結構的拷貝,所以應用程序應該在發出其他</FONT><FONT SIZE=3>Windows Scokets API</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>調用前,把自己所需的信息拷貝下來。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">返回值:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>如果沒有錯誤發生,</FONT><FONT SIZE=3>getservbyname()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>返回如上所述的一個指向</FONT><FONT SIZE=3>servent</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>結構的指針,否則,返回一個空指針。應用程序可以通過</FONT><FONT SIZE=3>WSAGetLastError()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>來得到一個特定的錯誤代碼。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">錯誤代碼:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSANOTINTIALISED </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>在應用這個</FONT><FONT SIZE=3>API</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>前,必須成功地調用</FONT><FONT SIZE=3>WSAStartup()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAENTDOWN Windows Sockets</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>實現檢測到了網絡子系統的錯誤。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAHOST_NOT_FOUND </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>沒有找到授權應答主機。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSANO_DATA </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>有效的名字,但沒有關于請求類型的數據記錄。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAEINPROGRESS </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>一個阻塞的</FONT><FONT SIZE=3>Windows Sockets</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>操作正在進行。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAEINTR </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>阻塞調用被</FONT><FONT SIZE=3>WSACancelBlockingCall()</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>
<P ALIGN="JUSTIFY">參見</FONT><FONT SIZE=3>: WSAAsyncGetServByName(), getservbyport()</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY"> </P>
</FONT><B><FONT FACE="宋體" LANG="ZH-CN" SIZE=5><P><A NAME="_Toc336626861"><A NAME="_Toc336792944"><A NAME="_Toc336793420"></FONT><FONT SIZE=5>5.2.7 getservbyport()</A></A></A></P>
</B></FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">簡述:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>返回對應于給定端口號和協議名的相關服務信息。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>#include <windows.h></P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	struct servent FAR * PASCAL FAR getservbyport(int port,</P>
<P ALIGN="JUSTIFY">	const char FAR *proto);</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	port</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>:</FONT><FONT SIZE=3> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>給定的端口號,以網絡字節順序排列。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	</FONT><FONT SIZE=3>proto</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>:</FONT><FONT SIZE=3> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>指向協議名的指針(可選)。如果這個指針為空,</FONT><FONT SIZE=3>getservbyport()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>返回第一個</FONT><FONT SIZE=3>port</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>與</FONT><FONT SIZE=3>s_port</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>匹配的服務條目。否則</FONT><FONT SIZE=3>getservbyport()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>對</FONT><FONT SIZE=3>port</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>和</FONT><FONT SIZE=3>proto</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>都進行匹配。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">注釋:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> getservbyport()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>返回與給定服務名對應的包含名字和服務號信息的</FONT><FONT SIZE=3>servent</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>結構指針。結構的聲明與</FONT><FONT SIZE=3>getservbyname()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>中一致。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">	返回的指針指向一個由</FONT><FONT SIZE=3>Windows Sockets</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>實現分配的結構。應用程序不應該試圖修改這個結構或者釋放它的任何部分。此外,每一線程僅有一份這個結構的拷貝,所以應用程序應該在發出其他</FONT><FONT SIZE=3>Windows Scokets API</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>調用前,把自己所需的信息拷貝下來。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">返回值:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY"> </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>如果沒有錯誤發生,</FONT><FONT SIZE=3>getservbyport()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>返回如上所述的一個指向</FONT><FONT SIZE=3>servent</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>結構的指針,否則,返回一個空指針。應用程序可以通過</FONT><FONT SIZE=3>WSAGetLastError()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>來得到一個特定的錯誤代碼。</P>
<P ALIGN="JUSTIFY"></P>
<P ALIGN="JUSTIFY">錯誤代碼:</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSANOTINTIALISED </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>在應用這個</FONT><FONT SIZE=3>API</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>前,必須成功地調用</FONT><FONT SIZE=3>WSAStartup()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAENTDOWN Windows Sockets</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>實現檢測到了網絡子系統的錯誤。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAHOST_NOT_FOUND </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>沒有找到授權應答主機。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSANO_DATA </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>有效的名字,但沒有關于請求類型的數據記錄。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAEINPROGRESS </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>一個阻塞的</FONT><FONT SIZE=3>Windows Sockets</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>操作正在進行。</P>
</FONT><FONT SIZE=3><P ALIGN="JUSTIFY">WSAEINTR </FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>阻塞調用被</FONT><FONT SIZE=3>WSACancelBlockingCall()</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3>取消了</FONT><FONT SIZE=3>.</P>
<P ALIGN="JUSTIFY"></P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=3><P ALIGN="JUSTIFY">參見</FONT><FONT SIZE=3>: WSAAsyncGetServByPort(), getservbyname()</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 + -