共用方式為


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 中所定義的加速數據。 此選項只能設定一次;設定之後,就無法關閉。

FastOpen 15

啟用如 RFC-7413 中所定義的 TCP 快速開啟。 實際觀察到的行為取決於 OS 組態和核心 TCP Cookie 快取的狀態。 啟用 TFO 可能會影響互操作性,並造成連線問題。

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-alives。

Linger 128

如果有未傳送的數據,則會在關閉時揮之不去。

MaxConnections 2147483647

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

MulticastInterface 9

設定傳出多播封包的介面。

MulticastLoopback 11

IP 多播回送。

MulticastTimeToLive 10

IP 多播存留時間。

NoChecksum 1

將總和檢查碼設定為零的 UDP 數據報傳送。

NoDelay 1

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

OutOfBandInline 256

在一般數據流中接收頻外數據。

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 連線在傳送至遠端之前,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 the Socket will linger for 10 seconds after Close is called.
LingerOption^ lingerOption = gcnew LingerOption(true, 10);
s->SetSocketOption(SocketOptionLevel::Socket, SocketOptionName::Linger, lingerOption);
// The socket will linger for 10 seconds after Socket.Close is called.
var lingerOption = new LingerOption(true, 10);
s.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger, lingerOption);
' 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 方法來設定套接字。

適用於

另請參閱