本(WinKing)提供之 Windows Sockets API 介面乃是依照 1993年1月20日公布之 WINSOCK 第1.1版(如附錄)中所定義之函式 (routine); 包括了30個Berkeley Software Distribution (BSD) 的函式以及16個符合 Windows Message-driven 特性的函式。
(21) setsockopt():設定 Socket 的狀態。
格式: int PASCAL FAR setsockopt( SOCKET s,int level,int optname,const char FAR *optval,int optlen );
參數: s Socket 的識別碼,level 選項設定的 level,optname 選項名稱,optval 選項的設定值,optlen 選項設定值的長度
傳回值: 成功 - 0
失敗 - SOCKET_ERROR (呼叫 WSAGetLastError() 可得知原因)
說明: 此函式用來設定 Socket 的一些選項,藉以更改其動作。
可更改的選項有: (參見WINSOCK第1.1版54頁)
Value Type
-----------------------------------------------
SO_BROADCAST BOOL
*SO_DEBUG BOOL
SO_DONTLINGER BOOL
*SO_DONTROUTE BOOL
*SO_KEEPALIVE BOOL
SO_LINGER struct linger FAR*
SO_OOBINLINE BOOL
*SO_RCVBUF int
SO_REUSEADDR BOOL
*SO_SNDBUF int
TCP_NODELAY BOOL
(22) shutdown():停止 Socket 接收/傳送的功能。
格式: int PASCAL FAR shutdown( SOCKET s, int how );
參數: s Socket 的識別碼,how 代表該停止那些動作的標幟
傳回值: 成功 - 0
失敗 - SOCKET_ERROR (呼叫 WSAGetLastError()可得知原因)
說明: 此函式用來停止 Socket 的後續接收或傳送的功能。
若 how 的值為 0,則不再接收資料。
若 how 的值為 1,則不再允許傳送資料。