本系統(WinKing)提供之 Windows Sockets API 介面乃是依照 1993年1月20日公布之 WINSOCK 第1.1版(如附錄)中所定義之函式 (routine); 包括了30個Berkeley Software Distribution (BSD) 的函式以及16個符合 Windows Message-driven 特性的函式。
(11) inet_ntoa():將一網路位址轉換成「點格式」字串。
格式: char FAR * PASCAL FAR inet_ntoa( struct in_addr in );
參數: in 一個代表 Internet 位址的結構
傳回值: 成功 - 一個代表位址的「點格式」(dotted) 字串
失敗 - NULL
說明: 此函式將一 Internet 位址轉換成「a.b.c.d」字串格式。
(12) ioctlsocket():控制 Socket 的模式。
格式: int PASCAL FAR ioctlsocket( SOCKET s, long cmd, u_long FAR *argP );
參數: s Socket 的識別碼,cmd 指令名稱,argP 指向 cmd 參數的指標
傳回值: 成功 - 0
失敗 - SOCKET_ERROR (呼叫 WSAGetLastError() 可得知原因)
說明: 此函式用來獲取或設定 Socket 的運作參數。其所提供的指令有:
FIONBIO -- 開關 non-blocking 模式
FIONREAD -- 自 Socket 一次可讀取的資料量
SIOCATMARK -- OOB 資料是否已被讀取完 (*暫不提供此功能)
(13) listen():設定 Socket 為監聽狀態,准備被連接。
格 式: int PASCAL FAR listen( SOCKET s, int backlog );
參 數: s Socket 的識別碼,backlog 未真正完成連接前(尚未呼叫 accept() 前)彼端的連接要求的最大個數
傳回值: 成功 - 0
失敗 - SOCKET_ERROR (呼叫 WSAGetLastError() 可得知原因)
說明: 使用者可利用此函式來設定 Socket 進入監聽狀態,並設定最多可有多少個在未真正完成連接前的彼端的連接要求。(目前最大值限制為 5, 最小值為1)