SocketOptionName 列舉
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
定義組態選項名稱。
public enum class SocketOptionName
public enum SocketOptionName
type SocketOptionName =
Public Enum 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 | |
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 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 設定。
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應