getservbyport()

getservbyport。計算機編程引用代碼,返回對應於給定連線埠號和協定名的相關服務信息。

簡述

返回對應於給定連線埠號協定名的相關服務信息
#include <windows.h>
struct servent FAR * PASCAL FAR getservbyport(int port,
const char FAR *proto);
port:給定的連線埠號,以網路位元組順序排列。
proto: 指向協定名的指針(可選)。如果這個指針為空,getservbyport()返回第一個port與s_port匹配的服務條目。否則getservbyport()對port和proto都進行匹配。

注釋

getservbyport()返回與給定服務名對應的包含名字和服務號信息的servent結構指針。結構的聲明與getservbyname()中一致。
返回的指針指向一個由Windows Sockets實現分配的結構。應用程式不應該試圖修改這個結構或者釋放它的任何部分。此外,每一執行緒僅有一份這個結構的拷貝,所以應用程式應該在發出其他Windows Scokets API調用前,把自己所需的信息拷貝下來。
返回值:
如果沒有錯誤發生,getservbyport()返回如上所述的一個指向servent結構的指針,否則,返回一個空指針。應用程式可以通過WSAGetLastError()來得到一個特定的錯誤代碼。
錯誤代碼:
WSANOTINTIALISED在套用這個API前,必須成功地調用WSAStartup()。
WSAENTDOWN Windows Sockets實現檢測到了網路子系統的錯誤。
WSAHOST_NOT_FOUND 沒有找到授權應答主機。
WSANO_DATA 有效的名字,但沒有關於請求類型的數據記錄。
WSAEINPROGRESS 一個阻塞的Windows Sockets操作正在進行。
WSAEINTR 阻塞調用被WSACancelBlockingCall()取消了.
參見: WSAAsyncGetServByPort(), getservbyname()

相關詞條

相關搜尋

熱門詞條

聯絡我們