通訊端選項和 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

SO_KEEPALIVE

BOOL

正在傳送 Keepalives。 ATM 通訊端不支援 (導致錯誤)。

FALSE

(i)

SO_LINGER

結構揮之不去

傳回目前的揮之不去選項。

l_onoff為 0

SO_MAX_MSG_SIZE

int

訊息通訊端類型的訊息輸出大小上限。 沒有布建可判斷輸入訊息大小上限。 對資料流程導向通訊端沒有任何意義。

相依實作

僅取得

SO_OOBINLINE

BOOL

OOB 資料正在一般資料流程中接收。

FALSE

SO_PROTOCOL_INFOW

結構 WSAPROTOCOL_INFO

系結至此通訊端之通訊協定的通訊協定資訊描述。

通訊協定相依

僅取得

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 傳回對應的值,而不需要以任何方式使用該值。

 

通訊端選項

SOL_SOCKET通訊端選項

IPPROTO_TCP通訊端選項

IPPROTO_UDP通訊端選項

Winsock IOCTLs