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