SocketOptionName 列舉

定義

定義組態選項名稱。

public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName = 
Public Enum SocketOptionName
繼承
SocketOptionName

欄位

AcceptConnection 2

通訊端正在接聽。

AddMembership 12

加入 IP 群組成員資格。

AddSourceMembership 15

聯結來源群組。

BlockSource 17

封鎖來自來源的資料。

Broadcast 32

允許在通訊端上傳送廣播訊息。

BsdUrgent 2

使用 RFC-1222 中定義的緊急資料。 這個選項只能設定一次,一旦設定就無法關閉。

ChecksumCoverage 20

設定或取得 UDP 總和檢查碼涵蓋範圍。

Debug 1

記錄偵錯資訊。

DontFragment 14

不要將 IP 資料包分成片段。

DontLinger -129

立即關閉通訊端。

DontRoute 16

不進行路由,直接將封包傳送至介面位址。

DropMembership 13

捨棄 IP 群組成員資格。

DropSourceMembership 16

捨棄來源群組。

Error 4103

取得錯誤狀態並清除。

ExclusiveAddressUse -5

啟用將繫結至獨佔存取的通訊端。

Expedited 2

使用 RFC-1222 中定義的已傳輸資料。 這個選項只能設定一次,一旦設定就無法關閉。

HeaderIncluded 2

表示應用程式將提供輸出資料包的 IP 標頭。

HopLimit 21

指定網際網路通訊協定第 6 版 (IPv6) 封包的最大路由器躍點數。 這與網際網路通訊協定第 4 版的存留時間 (TTL) 類似。

IPOptions 1

指定要插入輸出資料包的 IP 選項。

IPProtectionLevel 23

啟用 IPv6 通訊端對指定範圍的限制,例如具有相同連結本機或月臺本機前置詞的位址。 此通訊端選項可讓應用程式對 IPv6 通訊端進行存取限制。 這類限制可以讓應用程式在私人 LAN 上執行,簡便又穩當地強化應用程式對外部攻擊的抵禦。 這個通訊端選項可放大或縮小接聽通訊端的範圍,根據需要啟用公用和私用使用者的無限制存取,或視需要限制成僅可存取相同的站台。 這個通訊端選項已定義 IPProtectionLevel 列舉中所指定的保護層級。

IpTimeToLive 4

設定 IP 標頭的存留時間欄位。

IPv6Only 27

指出針對 AF_INET6 位址家族建立的通訊端是否限制僅供 IPv6 通訊使用。 針對 AF_INET6 位址家族建立的通訊端,可同時提供 IPv6 及 IPv4 通訊使用。 某些應用程式可能希望將使用限制在針對 AF_INET6 位址家族所建立的通訊端,以及僅提供 IPv6 通訊使用。 如果這個值不是零 (Windows 上的預設值),則會使用針對 AF_INET6 位址家族建立的通訊端,並且只用來傳送和接收 IPv6 封包。 如果這個值為零,則針對 AF_INET6 位址家族建立的通訊端,可用來傳送和接收往返 IPv6 或 IPv4 位址的封包。 請注意,必須使用 IPv4 對應位址,才能發揮與 IPv4 位址互動的能力。 Windows Vista (含) 以後版本支援這個通訊端選項。

KeepAlive 8

使用 Keep-Alive。

Linger 128

如果有未傳送的資料,則延遲關閉。

MaxConnections 2147483647

不支援,如果使用則會擲回 SocketException

MulticastInterface 9

設定用於輸出多點傳送封包的介面。

MulticastLoopback 11

IP 多點傳送回送。

MulticastTimeToLive 10

IP 多點傳送存留時間。

NoChecksum 1

在總和檢查碼設定為零的情況下傳送 UDP 資料包。

NoDelay 1

停用用於傳送聯合的 Nagle 演算法。

OutOfBandInline 256

在一般資料流中接收頻外 (Out-of-Band) 資料。

PacketInformation 19

傳回所接收封包的相關資訊。

ReceiveBuffer 4098

指定保留給接收的每一通訊端緩衝區總空間。 這與最大訊息大小或 TCP 視窗大小無關。

ReceiveLowWater 4100

指定指定 Receive 作業的下限標準。

ReceiveTimeout 4102

收到逾時。此選項僅適用于同步方法;它不會影響非同步方法,例如 BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) 方法。

ReuseAddress 4

允許要繫結至已使用中位址的通訊端。

ReuseUnicastPort 12295

指出系統應該延遲連出連線的暫時性連接埠配置。 這相當於使用 Winsock2 SO_REUSE_UNICASTPORT 通訊端選項。

SendBuffer 4097

指定保留給傳送的每一通訊端緩衝區總空間。 這與最大訊息大小或 TCP 視窗大小無關。

SendLowWater 4099

指定指定 Send 作業的下限標準。

SendTimeout 4101

傳送逾時。此選項僅適用于同步方法;它不會影響非同步方法,例如 BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) 方法。

TcpKeepAliveInterval 17

在傳送另一個保持連線探查之前,TCP 連線將等候保持連線回應的秒數。

TcpKeepAliveRetryCount 16

在終止連線之前,會傳送的 TCP 保持連線探查數目。

TcpKeepAliveTime 3

在將保持連線探查傳送至遠端之前,TCP 連線將保持運作/閒置的秒數。

Type 4104

取得通訊端類型。

TypeOfService 3

變更服務欄位的 IP 標頭類型。

UnblockSource 18

取消封鎖先前所封鎖的來源。

UpdateAcceptContext 28683

藉由使用現有通訊端的屬性,更新已接受之通訊端的屬性。 這相當於使用 Winsock2 SO_UPDATE_ACCEPT_CONTEXT 通訊端選項,而且只有連線導向的通訊端才支援。

UpdateConnectContext 28688

藉由使用現有通訊端的屬性,更新已連接之通訊端的屬性。 這相當於使用 Winsock2 SO_UPDATE_CONNECT_CONTEXT 通訊端選項,而且只有連線導向的通訊端才支援。

UseLoopback 64

盡可能不使用硬體。

範例

下列程式碼範例會使用此列舉來設定通訊端選項。

// Specifies that send operations will time-out 
// if confirmation is not received within 1000 milliseconds.
s->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::SendTimeout, 1000 );

// Specifies that the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption( true,10 );

s->SetSocketOption( SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption );
// Send operations will time-out if confirmation
// is not received within 1000 milliseconds.
s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000);

// The socket will linger for 10 seconds after Socket.Close is called.
LingerOption lingerOption = new LingerOption (true, 10);

s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
'Send operations will time-out if confirmation is 
' not received within 1000 milliseconds.
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 1000)

' The socket will linger for 10 seconds after Socket.Close is called.
Dim lingerOption As New LingerOption(True, 10)
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption)

備註

列舉 SocketOptionName 會定義每個 Socket 組態選項的名稱。 通訊端可以使用 方法進行 Socket.SetSocketOption 設定。

適用於

另請參閱