Socket Třída

Definice

Implementuje rozhraní soketů Berkeley.

public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
    interface IDisposable
Public Class Socket
Implements IDisposable
Dědičnost
Socket
Implementuje

Příklady

Následující příklad ukazuje, jak Socket lze třídu použít k odeslání dat na server HTTP, tisk odpovědi ASCII na standardní výstup. Tento příklad blokuje volající vlákno, dokud není přijata celá stránka.

private static void SendHttpRequest(Uri? uri = null, int port = 80)
{
    uri ??= new Uri("http://example.com");

    // Construct a minimalistic HTTP/1.1 request
    byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.0
Host: {uri.Host}
Connection: Close

");

    // Create and connect a dual-stack socket
    using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
    socket.Connect(uri.Host, port);

    // Send the request.
    // For the tiny amount of data in this example, the first call to Send() will likely deliver the buffer completely,
    // however this is not guaranteed to happen for larger real-life buffers.
    // The best practice is to iterate until all the data is sent.
    int bytesSent = 0;
    while (bytesSent < requestBytes.Length)
    {
        bytesSent += socket.Send(requestBytes, bytesSent, requestBytes.Length - bytesSent, SocketFlags.None);
    }

    // Do minimalistic buffering assuming ASCII response
    byte[] responseBytes = new byte[256];
    char[] responseChars = new char[256];

    while (true)
    {
        int bytesReceived = socket.Receive(responseBytes);

        // Receiving 0 bytes means EOF has been reached
        if (bytesReceived == 0) break;

        // Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
        int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);

        // Print the contents of the 'responseChars' buffer to Console.Out
        Console.Out.Write(responseChars, 0, charCount);
    }
}

Následující příklad ukazuje stejný scénář HTTP GET, který používá asynchronní rozhraní API založená na úlohách a zároveň předává CancellationToken metodám asynchronní metodu a umožňuje tak zrušit celou operaci.

Tip

Socketasynchronní metody, které nepoužívají metodu CancellationToken , obvykle vrací Taskhodnotu , která je přidělena na haldě. Zrušitelná přetížení se vždy ValueTaskvracejí; jejich použití pomáhá snižovat přidělení ve vysoce výkonném kódu.

private static async Task SendHttpRequestAsync(Uri? uri = null, int port = 80, CancellationToken cancellationToken = default)
{
    uri ??= new Uri("http://example.com");

    // Construct a minimalistic HTTP/1.1 request
    byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.1
Host: {uri.Host}
Connection: Close

");

    // Create and connect a dual-stack socket
    using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
    await socket.ConnectAsync(uri.Host, port, cancellationToken);

    // Send the request.
    // For the tiny amount of data in this example, the first call to SendAsync() will likely deliver the buffer completely,
    // however this is not guaranteed to happen for larger real-life buffers.
    // The best practice is to iterate until all the data is sent.
    int bytesSent = 0;
    while (bytesSent < requestBytes.Length)
    {
        bytesSent += await socket.SendAsync(requestBytes.AsMemory(bytesSent), SocketFlags.None);
    }

    // Do minimalistic buffering assuming ASCII response
    byte[] responseBytes = new byte[256];
    char[] responseChars = new char[256];

    while (true)
    {
        int bytesReceived = await socket.ReceiveAsync(responseBytes, SocketFlags.None, cancellationToken);

        // Receiving 0 bytes means EOF has been reached
        if (bytesReceived == 0) break;

        // Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
        int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);

        // Print the contents of the 'responseChars' buffer to Console.Out
        await Console.Out.WriteAsync(responseChars.AsMemory(0, charCount), cancellationToken);
    }
}

Poznámky

Další informace o tomto rozhraní API najdete v tématu Doplňkové poznámky k rozhraní API pro soket.

Konstruktory

Socket(AddressFamily, SocketType, ProtocolType)

Inicializuje novou instanci Socket třídy pomocí zadané rodiny adres, typu soketu a protokolu.

Socket(SafeSocketHandle)

Inicializuje novou instanci Socket třídy pro zadaný popisovač soketu.

Socket(SocketInformation)

Inicializuje novou instanci Socket třídy pomocí zadané hodnoty vrácené z DuplicateAndClose(Int32).

Socket(SocketType, ProtocolType)

Inicializuje novou instanci Socket třídy pomocí zadaného typu soketu a protokolu. Pokud operační systém podporuje IPv6, tento konstruktor vytvoří soket duální režim; jinak vytvoří soket IPv4.

Vlastnosti

AddressFamily

Získá řadu adres objektu Socket.

Available

Získá množství dat, které byly přijaty ze sítě a je k dispozici ke čtení.

Blocking

Získá nebo nastaví hodnotu, která označuje, zda Socket je v režimu blokování.

Connected

Získá hodnotu, která označuje, zda Socket je připojen ke vzdálenému hostiteli od poslední Send operace nebo Receive .

DontFragment

Získá nebo nastaví hodnotu, která určuje, zda Socket umožňuje protokol IP (Internet Protocol) datagramy fragmentovat.

DualMode

Získá nebo nastaví hodnotu, která určuje, zda Socket je soket v duálním režimu použit pro IPv4 i IPv6.

EnableBroadcast

Získá nebo nastaví Boolean hodnotu, která určuje, zda Socket může odesílat pakety všesměrového vysílání.

ExclusiveAddressUse

Získá nebo nastaví Boolean hodnotu, která určuje, zda Socket umožňuje pouze jeden proces vytvořit vazbu na port.

Handle

Získá popisovač operačního Socketsystému pro .

IsBound

Získá hodnotu, která označuje, zda Socket je vázán na konkrétní místní port.

LingerState

Získá nebo nastaví hodnotu, která určuje, zda Socket bude zpoždění uzavření soketu při pokusu o odeslání všech čekajících dat.

LocalEndPoint

Získá místní koncový bod.

MulticastLoopback

Získá nebo nastaví hodnotu, která určuje, zda odchozí pakety vícesměrového vysílání jsou doručeny do odesílající aplikace.

NoDelay

Získá nebo nastaví Boolean hodnotu, která určuje, zda datový proud Socket používá algoritmus Nagle.

OSSupportsIPv4

Určuje, jestli základní operační systém a síťové adaptéry podporují protokol IPv4 (Internet Protocol verze 4).

OSSupportsIPv6

Určuje, jestli základní operační systém a síťové adaptéry podporují protokol IPv6 (Internet Protocol verze 6).

OSSupportsUnixDomainSockets

Určuje, zda základní operační systém podporuje sokety domény unix.

ProtocolType

Získá typ Socketprotokolu .

ReceiveBufferSize

Získá nebo nastaví hodnotu, která určuje velikost vyrovnávací paměti Socketpro příjem .

ReceiveTimeout

Získá nebo nastaví hodnotu, která určuje dobu, po které synchronní Receive volání vyprší časový limit.

RemoteEndPoint

Získá vzdálený koncový bod.

SafeHandle

Získá objekt SafeSocketHandle , který představuje popisovač soketu, který aktuální Socket objekt zapouzdřuje.

SendBufferSize

Získá nebo nastaví hodnotu, která určuje velikost vyrovnávací paměti Socketpro odesílání .

SendTimeout

Získá nebo nastaví hodnotu, která určuje dobu, po které synchronní Send volání vyprší časový limit.

SocketType

Získá typ objektu Socket.

SupportsIPv4
Zastaralé.
Zastaralé.
Zastaralé.

Získá hodnotu označující, zda je podpora protokolu IPv4 k dispozici a povolena na aktuálním hostiteli.

SupportsIPv6
Zastaralé.
Zastaralé.
Zastaralé.

Získá hodnotu, která označuje, zda rozhraní podporuje IPv6 pro určité zastaralé Dns členy.

Ttl

Získá nebo nastaví hodnotu, která určuje hodnotu TTL (Time to Live) paketů protokolu IP (Internet Protocol) odeslaných pomocí Socket.

UseOnlyOverlappedIO
Zastaralé.

Získá nebo nastaví hodnotu, která určuje, zda soket by měl používat pouze překrytý vstupně-výstupní režim. V .NET 5+ (včetně verzí .NET Core) je hodnota vždy false.

Metody

Accept()

Vytvoří nové Socket pro nově vytvořené připojení.

AcceptAsync()

Přijme příchozí připojení.

AcceptAsync(CancellationToken)

Přijme příchozí připojení.

AcceptAsync(Socket)

Přijme příchozí připojení.

AcceptAsync(Socket, CancellationToken)

Přijme příchozí připojení.

AcceptAsync(SocketAsyncEventArgs)

Zahájí asynchronní operaci, která přijme příchozí pokus o připojení.

BeginAccept(AsyncCallback, Object)

Zahájí asynchronní operaci, která přijme příchozí pokus o připojení.

BeginAccept(Int32, AsyncCallback, Object)

Zahájí asynchronní operaci, která přijme příchozí pokus o připojení, a přijme první blok dat odeslaný klientskou aplikací.

BeginAccept(Socket, Int32, AsyncCallback, Object)

Zahájí asynchronní operaci, která přijme příchozí pokus o připojení ze zadaného soketu a přijme první blok dat odeslaný klientskou aplikací.

BeginConnect(EndPoint, AsyncCallback, Object)

Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli.

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. Hostitel je určen číslem IPAddress portu a .

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. Hostitel je určen polem IPAddress a číslem portu.

BeginConnect(String, Int32, AsyncCallback, Object)

Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. Hostitel je určen názvem hostitele a číslem portu.

BeginDisconnect(Boolean, AsyncCallback, Object)

Zahájí asynchronní požadavek na odpojení od vzdáleného koncového bodu.

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Začne asynchronně přijímat data z připojeného Socketobjektu .

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Začne asynchronně přijímat data z připojeného Socketobjektu .

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Začne asynchronně přijímat data z připojeného Socketobjektu .

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Začne asynchronně přijímat data z připojeného Socketobjektu .

BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)

Začne asynchronně přijímat data ze zadaného síťového zařízení.

BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)

Začne asynchronně přijímat zadaný počet bajtů dat do zadaného umístění datové vyrovnávací paměti pomocí zadaného SocketFlagsobjektu a uloží informace o koncovém bodu a paketu.

BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Odesílá data asynchronně do připojeného Socketobjektu .

BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Odesílá data asynchronně do připojeného Socketobjektu .

BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Odesílá data asynchronně do připojeného Socketobjektu .

BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Odesílá data asynchronně do připojeného Socketobjektu .

BeginSendFile(String, AsyncCallback, Object)

Odešle soubor fileName do připojeného Socket objektu pomocí příznaku UseDefaultWorkerThread .

BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object)

Odešle soubor a vyrovnávací paměti dat asynchronně do připojeného Socket objektu.

BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)

Odesílá data asynchronně do konkrétního vzdáleného hostitele.

Bind(EndPoint)

Přidruží Socket k místnímu koncovému bodu.

CancelConnectAsync(SocketAsyncEventArgs)

Zruší asynchronní požadavek na připojení ke vzdálenému hostiteli.

Close()

Socket Ukončí připojení a uvolní všechny přidružené prostředky.

Close(Int32)

Socket Ukončí připojení a uvolní všechny přidružené prostředky se zadaným časovým limitem, aby bylo možné odesílat data zařazená do fronty.

Connect(EndPoint)

Naváže připojení ke vzdálenému hostiteli.

Connect(IPAddress, Int32)

Naváže připojení ke vzdálenému hostiteli. Hostitel je určen IP adresou a číslem portu.

Connect(IPAddress[], Int32)

Naváže připojení ke vzdálenému hostiteli. Hostitel je určen polem IP adres a číslem portu.

Connect(String, Int32)

Naváže připojení ke vzdálenému hostiteli. Hostitel je určen názvem hostitele a číslem portu.

ConnectAsync(EndPoint)

Naváže připojení ke vzdálenému hostiteli.

ConnectAsync(EndPoint, CancellationToken)

Naváže připojení ke vzdálenému hostiteli.

ConnectAsync(IPAddress, Int32)

Naváže připojení ke vzdálenému hostiteli.

ConnectAsync(IPAddress, Int32, CancellationToken)

Naváže připojení ke vzdálenému hostiteli.

ConnectAsync(IPAddress[], Int32)

Naváže připojení ke vzdálenému hostiteli.

ConnectAsync(IPAddress[], Int32, CancellationToken)

Naváže připojení ke vzdálenému hostiteli.

ConnectAsync(SocketAsyncEventArgs)

Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli.

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli.

ConnectAsync(String, Int32)

Naváže připojení ke vzdálenému hostiteli.

ConnectAsync(String, Int32, CancellationToken)

Naváže připojení ke vzdálenému hostiteli.

Disconnect(Boolean)

Zavře připojení soketu a umožní opakované použití soketu.

DisconnectAsync(Boolean, CancellationToken)

Odpojí připojený soket od vzdáleného hostitele.

DisconnectAsync(SocketAsyncEventArgs)

Zahájí asynchronní požadavek na odpojení od vzdáleného koncového bodu.

Dispose()

Uvolní všechny prostředky používané aktuální instancí Socket třídy .

Dispose(Boolean)

Uvolní nespravované prostředky používané nástrojem Socketa volitelně odstraní spravované prostředky.

DuplicateAndClose(Int32)

Duplikuje odkaz soketu pro cílový proces a zavře soket pro tento proces.

EndAccept(Byte[], IAsyncResult)

Asynchronně přijme příchozí pokus o připojení a vytvoří nový Socket objekt pro zpracování komunikace vzdáleného hostitele. Tato metoda vrátí vyrovnávací paměť, která obsahuje počáteční přenesená data.

EndAccept(Byte[], Int32, IAsyncResult)

Asynchronně přijme příchozí pokus o připojení a vytvoří nový Socket objekt pro zpracování komunikace vzdáleného hostitele. Tato metoda vrátí vyrovnávací paměť, která obsahuje počáteční data a počet přenesených bajtů.

EndAccept(IAsyncResult)

Asynchronně přijme příchozí pokus o připojení a vytvoří nový Socket pro zpracování komunikace vzdáleného hostitele.

EndConnect(IAsyncResult)

Ukončí čekající požadavek na asynchronní připojení.

EndDisconnect(IAsyncResult)

Ukončí čekající asynchronní požadavek na odpojení.

EndReceive(IAsyncResult)

Ukončí asynchronní čtení čekající na zpracování.

EndReceive(IAsyncResult, SocketError)

Ukončí asynchronní čtení čekající na zpracování.

EndReceiveFrom(IAsyncResult, EndPoint)

Ukončí čekající asynchronní čtení z konkrétního koncového bodu.

EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation)

Ukončí čekající asynchronní čtení z konkrétního koncového bodu. Tato metoda také odhalí více informací o paketu než EndReceiveFrom(IAsyncResult, EndPoint).

EndSend(IAsyncResult)

Ukončí asynchronní odeslání čekající na vyřízení.

EndSend(IAsyncResult, SocketError)

Ukončí asynchronní odeslání čekající na vyřízení.

EndSendFile(IAsyncResult)

Ukončí čekající asynchronní odeslání souboru.

EndSendTo(IAsyncResult)

Ukončí čekající asynchronní odeslání do konkrétního umístění.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
Finalize()

Uvolní prostředky používané Socket třídou .

GetHashCode()

Vrátí hodnotu hash pro Socket instanci.

GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetRawSocketOption(Int32, Int32, Span<Byte>)

Získá hodnotu soketu možnost pomocí platformy specifické úrovně a název identifikátory.

GetSocketOption(SocketOptionLevel, SocketOptionName)

Vrátí hodnotu zadané Socket možnosti reprezentované jako objekt.

GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Vrátí zadané Socket nastavení možnosti reprezentované jako pole bajtů.

GetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Vrátí hodnotu zadané Socket možnosti v matici.

GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
IOControl(Int32, Byte[], Byte[])

Nastaví režimy nízké úrovně provozu pro zařízení Socket pomocí číselných řídicích kódů.

IOControl(IOControlCode, Byte[], Byte[])

Nastaví režimy provozu nízké úrovně pro pomocí Socket výčtu IOControlCode pro určení řídicích kódů.

Listen()

Socket Místa ve stavu naslouchání.

Listen(Int32)

Socket Místa ve stavu naslouchání.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
Poll(Int32, SelectMode)

Určuje stav .Socket

Poll(TimeSpan, SelectMode)

Určuje stav .Socket

Receive(Byte[])

Přijímá data z vazby Socket do vyrovnávací paměti pro příjem.

Receive(Byte[], Int32, Int32, SocketFlags)

Přijme zadaný počet bajtů z vazby Socket do zadané pozice posunu vyrovnávací paměti příjmu pomocí zadané SocketFlags.

Receive(Byte[], Int32, Int32, SocketFlags, SocketError)

Přijímá data z vazby Socket do vyrovnávací paměti příjmu pomocí zadané SocketFlags.

Receive(Byte[], Int32, SocketFlags)

Přijme zadaný počet bajtů dat z vazby Socket do vyrovnávací paměti příjmu pomocí zadané SocketFlags.

Receive(Byte[], SocketFlags)

Přijímá data z vazby Socket do vyrovnávací paměti příjmu pomocí zadané SocketFlags.

Receive(IList<ArraySegment<Byte>>)

Přijímá data z vazby Socket do seznamu vyrovnávacích pamětí pro příjem.

Receive(IList<ArraySegment<Byte>>, SocketFlags)

Přijímá data z vazby Socket do seznamu příjmových vyrovnávacích pamětí pomocí zadaného SocketFlags.

Receive(IList<ArraySegment<Byte>>, SocketFlags, SocketError)

Přijímá data z vazby Socket do seznamu příjmových vyrovnávacích pamětí pomocí zadaného SocketFlags.

Receive(Span<Byte>)

Přijímá data z vazby Socket do vyrovnávací paměti pro příjem.

Receive(Span<Byte>, SocketFlags)

Přijímá data z vazby Socket do vyrovnávací paměti příjmu pomocí zadané SocketFlags.

Receive(Span<Byte>, SocketFlags, SocketError)

Přijímá data z vazby Socket do vyrovnávací paměti příjmu pomocí zadané SocketFlags.

ReceiveAsync(ArraySegment<Byte>)

Přijímá data z připojeného soketu.

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

Přijímá data z připojeného soketu.

ReceiveAsync(IList<ArraySegment<Byte>>)

Přijímá data z připojeného soketu.

ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags)

Přijímá data z připojeného soketu.

ReceiveAsync(Memory<Byte>, CancellationToken)

Přijímá data z připojeného soketu.

ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)

Přijímá data z připojeného soketu.

ReceiveAsync(SocketAsyncEventArgs)

Zahájí asynchronní požadavek na příjem dat z připojeného Socket objektu.

ReceiveFrom(Byte[], EndPoint)

Přijme datagram do datové vyrovnávací paměti a uloží koncový bod.

ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint)

Přijme zadaný počet bajtů dat do zadaného umístění datové vyrovnávací paměti pomocí zadaného SocketFlagsa uloží koncový bod.

ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint)

Přijme zadaný počet bajtů do datové vyrovnávací paměti pomocí zadaného SocketFlagsa uloží koncový bod.

ReceiveFrom(Byte[], SocketFlags, EndPoint)

Přijme datagram do vyrovnávací paměti dat pomocí zadaného SocketFlagsa uloží koncový bod.

ReceiveFrom(Span<Byte>, EndPoint)

Přijme datagram do datové vyrovnávací paměti a uloží koncový bod.

ReceiveFrom(Span<Byte>, SocketFlags, EndPoint)

Přijme datagram do vyrovnávací paměti dat pomocí zadaného SocketFlagsa uloží koncový bod.

ReceiveFrom(Span<Byte>, SocketFlags, SocketAddress)

Přijme datagram do vyrovnávací paměti dat pomocí zadaného SocketFlagsa uloží koncový bod.

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Přijme data a vrátí koncový bod odesílajícího hostitele.

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Přijme data a vrátí koncový bod odesílajícího hostitele.

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Přijme data a vrátí koncový bod odesílajícího hostitele.

ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

Přijme data a vrátí koncový bod odesílajícího hostitele.

ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken)

Přijme datagram do vyrovnávací paměti dat pomocí zadaného SocketFlagsa uloží koncový bod.

ReceiveFromAsync(SocketAsyncEventArgs)

Začne asynchronně přijímat data ze zadaného síťového zařízení.

ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation)

Přijme zadaný počet bajtů dat do zadaného umístění datové vyrovnávací paměti pomocí zadaného SocketFlagsa uloží informace o koncovém bodu a paketu.

ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation)

Přijme zadaný počet bajtů dat do zadaného umístění datové vyrovnávací paměti pomocí zadaného socketFlagsa uloží informace o koncovém bodu a paketu.

ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)

Přijme data a vrátí další informace o odesílateli zprávy.

ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Přijme data a vrátí další informace o odesílateli zprávy.

ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Přijme data a vrátí další informace o odesílateli zprávy.

ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken)

Přijme data a vrátí další informace o odesílateli zprávy.

ReceiveMessageFromAsync(SocketAsyncEventArgs)

Začne asynchronně přijímat zadaný počet bajtů dat do zadaného umístění ve vyrovnávací paměti dat pomocí zadaného SocketFlagsa ukládá koncové body a informace o paketech.

Select(IList, IList, IList, Int32)

Určuje stav jednoho nebo více soketů.

Select(IList, IList, IList, TimeSpan)

Určuje stav jednoho nebo více soketů.

Send(Byte[])

Odesílá data do připojeného Socketzařízení .

Send(Byte[], Int32, Int32, SocketFlags)

Odešle zadaný počet bajtů dat připojenému Socket, počínaje zadaným posunem a pomocí zadaného SocketFlags.

Send(Byte[], Int32, Int32, SocketFlags, SocketError)

Odešle zadaný počet bajtů dat připojenému Socket, počínaje zadaným posunem a pomocí zadaného SocketFlags.

Send(Byte[], Int32, SocketFlags)

Odešle zadaný počet bajtů dat do připojeného Socketzařízení pomocí zadaného SocketFlags.

Send(Byte[], SocketFlags)

Odešle data připojenému Socket pomocí zadaného SocketFlagsparametru .

Send(IList<ArraySegment<Byte>>)

Odešle sadu vyrovnávacích pamětí v seznamu připojenému Socket.

Send(IList<ArraySegment<Byte>>, SocketFlags)

Odešle sadu vyrovnávacích pamětí v seznamu připojenému Socketzařízení pomocí zadaného SocketFlags.

Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError)

Odešle sadu vyrovnávacích pamětí v seznamu připojenému Socketzařízení pomocí zadaného SocketFlags.

Send(ReadOnlySpan<Byte>)

Odesílá data do připojeného Socketzařízení .

Send(ReadOnlySpan<Byte>, SocketFlags)

Odešle data připojenému Socket pomocí zadaného SocketFlagsparametru .

Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)

Odešle data připojenému Socket pomocí zadaného SocketFlagsparametru .

SendAsync(ArraySegment<Byte>)

Odesílá data do připojeného soketu.

SendAsync(ArraySegment<Byte>, SocketFlags)

Odesílá data do připojeného soketu.

SendAsync(IList<ArraySegment<Byte>>)

Odesílá data do připojeného soketu.

SendAsync(IList<ArraySegment<Byte>>, SocketFlags)

Odesílá data do připojeného soketu.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Odesílá data do připojeného soketu.

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Odesílá data do připojeného soketu.

SendAsync(SocketAsyncEventArgs)

Odesílá data asynchronně do připojeného Socket objektu.

SendFile(String)

Odešle soubor fileName připojenému Socket objektu s příznakem UseDefaultWorkerThread přenosu.

SendFile(String, Byte[], Byte[], TransmitFileOptions)

Odešle soubor fileName a vyrovnávací paměti dat do připojeného Socket objektu pomocí zadané TransmitFileOptions hodnoty.

SendFile(String, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, TransmitFileOptions)

Odešle soubor fileName a vyrovnávací paměti dat do připojeného Socket objektu pomocí zadané TransmitFileOptions hodnoty.

SendFileAsync(String, CancellationToken)

Odešle soubor fileName připojenému Socket objektu.

SendFileAsync(String, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, TransmitFileOptions, CancellationToken)

Odešle soubor fileName a vyrovnávací paměti dat do připojeného Socket objektu pomocí zadané TransmitFileOptions hodnoty.

SendPacketsAsync(SocketAsyncEventArgs)

Odesílá kolekci souborů nebo do vyrovnávací paměti dat asynchronně do připojeného Socket objektu.

SendTo(Byte[], EndPoint)

Odesílá data do zadaného koncového bodu.

SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint)

Odešle zadaný počet bajtů dat do zadaného koncového bodu, počínaje zadaným umístěním ve vyrovnávací paměti a pomocí zadaného SocketFlags.

SendTo(Byte[], Int32, SocketFlags, EndPoint)

Odešle zadaný počet bajtů dat do zadaného koncového bodu pomocí zadaného SocketFlags.

SendTo(Byte[], SocketFlags, EndPoint)

Odešle data do konkrétního koncového bodu pomocí zadaného SocketFlags.

SendTo(ReadOnlySpan<Byte>, EndPoint)

Odesílá data do zadaného koncového bodu.

SendTo(ReadOnlySpan<Byte>, SocketFlags, EndPoint)

Odešle data do konkrétního koncového bodu pomocí zadaného SocketFlags.

SendTo(ReadOnlySpan<Byte>, SocketFlags, SocketAddress)

Odešle data do konkrétního koncového bodu pomocí zadaného SocketFlags.

SendToAsync(ArraySegment<Byte>, EndPoint)

Odesílá data do zadaného vzdáleného hostitele.

SendToAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Odesílá data do zadaného vzdáleného hostitele.

SendToAsync(ReadOnlyMemory<Byte>, EndPoint, CancellationToken)

Odesílá data do zadaného vzdáleného hostitele.

SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, EndPoint, CancellationToken)

Odesílá data do zadaného vzdáleného hostitele.

SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, SocketAddress, CancellationToken)

Odešle data do konkrétního koncového bodu pomocí zadaného SocketFlags.

SendToAsync(SocketAsyncEventArgs)

Odesílá data asynchronně konkrétnímu vzdálenému hostiteli.

SetIPProtectionLevel(IPProtectionLevel)

Nastaví úroveň ochrany PROTOKOLU IP na soketu.

SetRawSocketOption(Int32, Int32, ReadOnlySpan<Byte>)

Nastaví hodnotu možnosti soketu pomocí identifikátorů úrovně a názvu specifické pro platformu.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Nastaví zadanou Socket možnost na zadanou Boolean hodnotu.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Nastaví zadanou Socket možnost na zadanou hodnotu reprezentovanou jako pole bajtů.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Nastaví zadanou Socket možnost na zadanou celočíselnou hodnotu.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Nastaví zadanou Socket možnost na zadanou hodnotu reprezentovanou jako objekt.

Shutdown(SocketShutdown)

Zakáže odesílání a přijímání na .Socket

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Explicitní implementace rozhraní

IDisposable.Dispose()

Toto rozhraní API podporuje produktovou infrastrukturu a není určené k použití přímo z uživatelského kódu.

Uvolní všechny prostředky používané nástrojem Socket.

Metody rozšíření

AcceptAsync(Socket)

Provede asynchronní operaci pro přijetí příchozího pokusu o připojení na soketu.

AcceptAsync(Socket, Socket)

Provede asynchronní operaci pro přijetí příchozího pokusu o připojení na soketu.

ConnectAsync(Socket, EndPoint)

Naváže připojení ke vzdálenému hostiteli.

ConnectAsync(Socket, EndPoint, CancellationToken)

Naváže připojení ke vzdálenému hostiteli.

ConnectAsync(Socket, IPAddress, Int32)

Naváže připojení ke vzdálenému hostiteli. Hostitel je určen IP adresou a číslem portu.

ConnectAsync(Socket, IPAddress, Int32, CancellationToken)

Naváže připojení ke vzdálenému hostiteli, které je určeno IP adresou a číslem portu.

ConnectAsync(Socket, IPAddress[], Int32)

Naváže připojení ke vzdálenému hostiteli. Hostitel je určen polem IP adres a číslem portu.

ConnectAsync(Socket, IPAddress[], Int32, CancellationToken)

Naváže připojení ke vzdálenému hostiteli, které je určeno polem IP adres a číslem portu.

ConnectAsync(Socket, String, Int32)

Naváže připojení ke vzdálenému hostiteli. Hostitel je určen názvem hostitele a číslem portu.

ConnectAsync(Socket, String, Int32, CancellationToken)

Naváže připojení ke vzdálenému hostiteli, které je určeno názvem hostitele a číslem portu.

ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags)

Přijímá data z připojeného soketu.

ReceiveAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags)

Přijímá data z připojeného soketu.

ReceiveAsync(Socket, Memory<Byte>, SocketFlags, CancellationToken)

Přijímá data z připojeného soketu.

ReceiveFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint)

Přijímá data ze zadaného síťového zařízení.

ReceiveMessageFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint)

Přijme zadaný počet bajtů dat do zadaného umístění datové vyrovnávací paměti pomocí zadaného SocketFlagsa uloží informace o koncovém bodu a paketu.

SendAsync(Socket, ArraySegment<Byte>, SocketFlags)

Odesílá data do připojeného soketu.

SendAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags)

Odesílá data do připojeného soketu.

SendAsync(Socket, ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Odesílá data do připojeného soketu.

SendToAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint)

Odesílá data asynchronně do konkrétního vzdáleného hostitele.

Platí pro

Bezpečný přístup z více vláken

V instanci je bezpečné provádět operace odesílání a příjmu Socket současně, ale nedoporučujeme provádět více volání odesílání nebo přijímání současně. V závislosti na základní implementaci platformy to může vést k nezamýšleným prokládáním dat pro velké nebo více vyrovnávacích pamětí odesílaných nebo přijímaných ve více vyrovnávacích pamětích.

Viz také