套接字選項和IOCTL
下表摘要說明 Windows Sockets 2 的一些套接字選項。 WSPGetSockOpt 和/或 WSPSetSockOpt下第 4 節會提供更詳細的資訊。 其他新的通訊協定特定套接字選項可在 Protocol-Specific 附件中找到。 Winsock 參考中提供 Windows 套接字套接字選項的完整清單。
如需一些 Winsock Ioctls 的摘要,請參閱套接字 Ioctl Opcodes 的摘要。 Winsock 參考中提供 Winsock IOCTLs 的完整清單。
通用套接字選項的摘要
Winsock 服務提供者必須辨識所有這些選項,而且 (針對 WSPGetSockOpt)會針對每個選項傳回合理的值。 下表顯示每個選項的預設值。
價值
類型
意義
違約
注意
SO_ACCEPTCONN
BOOL
套接字正在接聽。
FALSE,除非已執行 WSPListen。
SO_BROADCAST
BOOL
套接字已設定為廣播訊息的傳輸和接收。
假
SO_DEBUG
BOOL
已啟用偵錯。
假
(i)
SO_DONTLINGER
BOOL
如果為 true,則會停用SO_LINGER選項。
真
SO_DONTROUTE
BOOL
路由已停用。 成功,但在AF_INET套接字上會被忽略;在具有 WSAENOPROTOOPT的AF_INET6套接字上失敗。 ATM 套接字不支援 (導致錯誤)。
假
(i)
SO_ERROR
int
擷取錯誤狀態並清除。
0
SO_GROUP_ID
群
保留。
零
僅取得
SO_GROUP_PRIORITY
int
保留。
0
BOOL
正在傳送 Keepalives。 ATM 套接字不支援 (導致錯誤)。
假
(i)
SO_LINGER
結構揮之不去
傳回目前的揮之不去選項。
l_onoff為 0
SO_MAX_MSG_SIZE
int
訊息套接字類型的訊息輸出大小上限。 沒有布建可判斷輸入訊息大小上限。 對數據流導向套接字沒有任何意義。
相依實作
僅取得
SO_OOBINLINE
BOOL
OOB 數據正在一般數據流中接收。
假
SO_PROTOCOL_INFOW
structure WSAPROTOCOL_INFO
系結至此套接字之通訊協議的通訊協議資訊描述。
通訊協定相依
僅取得
SO_RCVBUF
int
保留給接收的每個套接字緩衝區空間總計。 這與SO_MAX_MSG_SIZE無關,不一定對應至 TCP 接收視窗的大小。
相依實作
(i)
SO_REUSEADDR
BOOL
此套接字所系結的位址可供其他人使用。 不適用於 ATM 套接字。
假
SO_SNDBUF
int
保留給傳送的每個套接字緩衝區空間總計。 這與SO_MAX_MSG_SIZE無關,不一定對應至 TCP 傳送視窗的大小。
相依實作
(i)
SO_TYPE
int
套接字的類型(例如,SOCK_STREAM)。
透過套接字建立時。
PVD_CONFIG
char FAR *
不透明的數據結構物件,其中包含服務提供者的組態資訊。
相依實作
TCP_NODELAY
BOOL
停用用於傳送聯合的 Nagle 演算法。
相依實作
(i) 服務提供者可能會在 WSPSetSockOpt 上以無訊息方式忽略這個選項,並傳回 WSPGetSockOpt的常數值,或接受 WSPSetSockOpt 的值,並在 WSPGetSockOpt 中傳回對應的值,而不需以任何方式使用該值。
相關主題