Socket Klasa

Definicja

Implementuje interfejs gniazd Berkeley.

public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
    interface IDisposable
Public Class Socket
Implements IDisposable
Dziedziczenie
Socket
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak Socket klasa może służyć do wysyłania danych do serwera HTTP, drukowania odpowiedzi ASCII na standardowe dane wyjściowe. Ten przykład blokuje wątek wywołujący do momentu odebrania całej strony.

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);
    }
}

W następnym przykładzie pokazano ten sam scenariusz HTTP GET, używając asynchronicznych interfejsów API opartych na zadaniach, a także przekazując element CancellationToken do metod asynchronicznych, dzięki czemu można anulować całą operację.

Porada

SocketMetody asynchroniczne, które zwykle nie zwracają CancellationTokenTaskelementu , który jest przydzielany na stercie. Przeciążenia, które można anulować, są zawsze ValueTaskzwracane, a ich użycie pomaga zmniejszyć alokacje w kodzie o wysokiej wydajności.

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);
    }
}

Uwagi

Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz dodatkowe uwagi dotyczące interfejsu API dla gniazda.

Konstruktory

Socket(AddressFamily, SocketType, ProtocolType)

Inicjuje Socket nowe wystąpienie klasy przy użyciu określonej rodziny adresów, typu gniazda i protokołu.

Socket(SafeSocketHandle)

Inicjuje Socket nowe wystąpienie klasy dla określonego uchwytu gniazda.

Socket(SocketInformation)

Inicjuje nowe wystąpienie Socket klasy przy użyciu określonej wartości zwróconej z DuplicateAndClose(Int32)klasy .

Socket(SocketType, ProtocolType)

Inicjuje Socket nowe wystąpienie klasy przy użyciu określonego typu gniazda i protokołu. Jeśli system operacyjny obsługuje protokół IPv6, ten konstruktor tworzy gniazdo w trybie podwójnym; w przeciwnym razie tworzy gniazdo IPv4.

Właściwości

AddressFamily

Pobiera rodzinę adresów .Socket

Available

Pobiera ilość danych, które zostały odebrane z sieci i jest dostępna do odczytu.

Blocking

Pobiera lub ustawia wartość wskazującą, czy Socket element jest w trybie blokowania.

Connected

Pobiera wartość wskazującą, czy element Socket jest połączony z hostem zdalnym od ostatniego Send lub Receive operacji.

DontFragment

Pobiera lub ustawia wartość określającą, czy Socket zezwala na fragmentacje datagramów protokołu internetowego (IP).

DualMode

Pobiera lub ustawia wartość określającą, czy Socket jest to gniazdo w trybie podwójnym używane zarówno dla protokołu IPv4, jak i IPv6.

EnableBroadcast

Pobiera lub ustawia wartość określającą Boolean , czy Socket można wysyłać pakiety emisji.

ExclusiveAddressUse

Pobiera lub ustawia wartość określającą Boolean , czy Socket zezwala tylko jednemu procesowi na powiązanie z portem.

Handle

Pobiera dojście systemu operacyjnego dla elementu Socket.

IsBound

Pobiera wartość wskazującą, czy Socket element jest powiązany z określonym portem lokalnym.

LingerState

Pobiera lub ustawia wartość, która określa, czy Socket opóźnienie zamknięcia gniazda w próbie wysłania wszystkich oczekujących danych.

LocalEndPoint

Pobiera lokalny punkt końcowy.

MulticastLoopback

Pobiera lub ustawia wartość określającą, czy wychodzące pakiety multiemisji są dostarczane do aplikacji wysyłającej.

NoDelay

Pobiera lub ustawia wartość określającą Boolean , czy strumień Socket używa algorytmu Nagle.

OSSupportsIPv4

Wskazuje, czy bazowy system operacyjny i adaptery sieciowe obsługują protokół internetowy w wersji 4 (IPv4).

OSSupportsIPv6

Wskazuje, czy podstawowy system operacyjny i adaptery sieciowe obsługują protokół internetowy w wersji 6 (IPv6).

OSSupportsUnixDomainSockets

Wskazuje, czy bazowy system operacyjny obsługuje gniazda domeny systemu Unix.

ProtocolType

Pobiera typ protokołu .Socket

ReceiveBufferSize

Pobiera lub ustawia wartość, która określa rozmiar buforu odbioru .Socket

ReceiveTimeout

Pobiera lub ustawia wartość określającą czas, po którym zostanie przekroczone limit czasu wywołania synchronicznego Receive .

RemoteEndPoint

Pobiera zdalny punkt końcowy.

SafeHandle

Pobiera obiekt SafeSocketHandle reprezentujący uchwyt gniazda, który jest hermetyzowany przez bieżący Socket obiekt.

SendBufferSize

Pobiera lub ustawia wartość określającą rozmiar buforu wysyłania elementu Socket.

SendTimeout

Pobiera lub ustawia wartość określającą czas, po którym zostanie przekroczone limit czasu wywołania synchronicznego Send .

SocketType

Pobiera typ .Socket

SupportsIPv4
Przestarzałe.
Przestarzałe.
Przestarzałe.

Pobiera wartość wskazującą, czy obsługa protokołu IPv4 jest dostępna i włączona na bieżącym hoście.

SupportsIPv6
Przestarzałe.
Przestarzałe.
Przestarzałe.

Pobiera wartość wskazującą, czy platforma obsługuje protokół IPv6 dla niektórych przestarzałych Dns elementów członkowskich.

Ttl

Pobiera lub ustawia wartość określającą wartość czasu wygaśnięcia (TTL) pakietów protokołu internetowego (IP) wysyłanych przez .Socket

UseOnlyOverlappedIO
Przestarzałe.

Pobiera lub ustawia wartość określającą, czy gniazdo powinno używać tylko nakładanego trybu we/wy. Na platformie .NET 5+ (w tym w wersjach platformy .NET Core) wartość jest zawsze falsewartością .

Metody

Accept()

Tworzy nowe Socket dla nowo utworzonego połączenia.

AcceptAsync()

Akceptuje połączenie przychodzące.

AcceptAsync(CancellationToken)

Akceptuje połączenie przychodzące.

AcceptAsync(Socket)

Akceptuje połączenie przychodzące.

AcceptAsync(Socket, CancellationToken)

Akceptuje połączenie przychodzące.

AcceptAsync(SocketAsyncEventArgs)

Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego.

BeginAccept(AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego.

BeginAccept(Int32, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną w celu zaakceptowania próby połączenia przychodzącego i odebrania pierwszego bloku danych wysyłanych przez aplikację kliencką.

BeginAccept(Socket, Int32, AsyncCallback, Object)

Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego z określonego gniazda i odbiera pierwszy blok danych wysyłanych przez aplikację kliencką.

BeginConnect(EndPoint, AsyncCallback, Object)

Rozpoczyna asynchroniczne żądanie połączenia hosta zdalnego.

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Rozpoczyna asynchroniczne żądanie połączenia hosta zdalnego. Host jest określony przez numer IPAddress portu i .

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

Rozpoczyna asynchroniczne żądanie połączenia hosta zdalnego. Host jest określany przez tablicę IPAddress i numer portu.

BeginConnect(String, Int32, AsyncCallback, Object)

Rozpoczyna asynchroniczne żądanie połączenia hosta zdalnego. Host jest określany przez nazwę hosta i numer portu.

BeginDisconnect(Boolean, AsyncCallback, Object)

Rozpoczyna żądanie asynchroniczne, aby odłączyć się od zdalnego punktu końcowego.

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

Rozpoczyna asynchronicznie odbierać dane z połączonego Socketobiektu .

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

Rozpoczyna asynchronicznie odbierać dane z połączonego Socketobiektu .

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

Rozpoczyna asynchronicznie odbierać dane z połączonego Socketobiektu .

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

Rozpoczyna asynchronicznie odbierać dane z połączonego Socketobiektu .

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

Rozpoczyna asynchronicznie odbierać dane z określonego urządzenia sieciowego.

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

Zaczyna asynchronicznie odbierać określoną liczbę bajtów danych do określonej lokalizacji bufora danych przy użyciu określonego SocketFlagsparametru i przechowuje informacje o punkcie końcowym i pakiecie.

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

Wysyła dane asynchronicznie do połączonego Socketelementu .

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

Wysyła dane asynchronicznie do połączonego Socketelementu .

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

Wysyła dane asynchronicznie do połączonego Socketelementu .

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

Wysyła dane asynchronicznie do połączonego Socketelementu .

BeginSendFile(String, AsyncCallback, Object)

Wysyła plik fileName do połączonego Socket obiektu przy użyciu flagi UseDefaultWorkerThread .

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

Wysyła plik i bufory danych asynchronicznie do połączonego Socket obiektu.

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

Wysyła dane asynchronicznie do określonego hosta zdalnego.

Bind(EndPoint)

Kojarzy element Socket z lokalnym punktem końcowym.

CancelConnectAsync(SocketAsyncEventArgs)

Anuluje asynchroniczne żądanie połączenia hosta zdalnego.

Close()

Socket Zamyka połączenie i zwalnia wszystkie skojarzone zasoby.

Close(Int32)

Socket Zamyka połączenie i zwalnia wszystkie skojarzone zasoby z określonym limitem czasu, aby umożliwić wysyłanie danych w kolejce.

Connect(EndPoint)

Ustanawia połączenie z hostem zdalnym.

Connect(IPAddress, Int32)

Ustanawia połączenie z hostem zdalnym. Host jest określany przez adres IP i numer portu.

Connect(IPAddress[], Int32)

Ustanawia połączenie z hostem zdalnym. Host jest określany przez tablicę adresów IP i numer portu.

Connect(String, Int32)

Ustanawia połączenie z hostem zdalnym. Host jest określany przez nazwę hosta i numer portu.

ConnectAsync(EndPoint)

Ustanawia połączenie z hostem zdalnym.

ConnectAsync(EndPoint, CancellationToken)

Ustanawia połączenie z hostem zdalnym.

ConnectAsync(IPAddress, Int32)

Ustanawia połączenie z hostem zdalnym.

ConnectAsync(IPAddress, Int32, CancellationToken)

Ustanawia połączenie z hostem zdalnym.

ConnectAsync(IPAddress[], Int32)

Ustanawia połączenie z hostem zdalnym.

ConnectAsync(IPAddress[], Int32, CancellationToken)

Ustanawia połączenie z hostem zdalnym.

ConnectAsync(SocketAsyncEventArgs)

Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym.

ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs)

Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym.

ConnectAsync(String, Int32)

Ustanawia połączenie z hostem zdalnym.

ConnectAsync(String, Int32, CancellationToken)

Ustanawia połączenie z hostem zdalnym.

Disconnect(Boolean)

Zamyka połączenie gniazda i umożliwia ponowne użycie gniazda.

DisconnectAsync(Boolean, CancellationToken)

Odłącza podłączone gniazdo od hosta zdalnego.

DisconnectAsync(SocketAsyncEventArgs)

Rozpoczyna żądanie asynchroniczne, aby odłączyć się od zdalnego punktu końcowego.

Dispose()

Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy Socket.

Dispose(Boolean)

Zwalnia niezarządzane zasoby używane przez Socketprogram i opcjonalnie usuwa zasoby zarządzane.

DuplicateAndClose(Int32)

Duplikuje odwołanie gniazda dla procesu docelowego i zamyka gniazdo dla tego procesu.

EndAccept(Byte[], IAsyncResult)

Asynchronicznie akceptuje próbę połączenia przychodzącego i tworzy nowy Socket obiekt do obsługi komunikacji zdalnego hosta. Ta metoda zwraca bufor, który zawiera przesyłane dane początkowe.

EndAccept(Byte[], Int32, IAsyncResult)

Asynchronicznie akceptuje próbę połączenia przychodzącego i tworzy nowy Socket obiekt do obsługi komunikacji zdalnego hosta. Ta metoda zwraca bufor zawierający dane początkowe i liczbę przetransferowanych bajtów.

EndAccept(IAsyncResult)

Asynchronicznie akceptuje próbę połączenia przychodzącego i tworzy nowy Socket do obsługi komunikacji hosta zdalnego.

EndConnect(IAsyncResult)

Kończy oczekujące żądanie asynchronicznego połączenia.

EndDisconnect(IAsyncResult)

Kończy oczekujące żądanie asynchronicznego rozłączenia.

EndReceive(IAsyncResult)

Kończy oczekujący odczyt asynchroniczny.

EndReceive(IAsyncResult, SocketError)

Kończy oczekujący odczyt asynchroniczny.

EndReceiveFrom(IAsyncResult, EndPoint)

Kończy oczekujący asynchroniczny odczyt z określonego punktu końcowego.

EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation)

Kończy oczekujący asynchroniczny odczyt z określonego punktu końcowego. Ta metoda ujawnia również więcej informacji o pakiecie niż EndReceiveFrom(IAsyncResult, EndPoint).

EndSend(IAsyncResult)

Kończy oczekujące wysyłanie asynchroniczne.

EndSend(IAsyncResult, SocketError)

Kończy oczekujące wysyłanie asynchroniczne.

EndSendFile(IAsyncResult)

Kończy oczekujące asynchroniczne wysyłanie pliku.

EndSendTo(IAsyncResult)

Kończy oczekujące asynchroniczne wysyłanie do określonej lokalizacji.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Zwalnia zasoby używane przez klasę Socket .

GetHashCode()

Zwraca wartość skrótu Socket dla wystąpienia.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetRawSocketOption(Int32, Int32, Span<Byte>)

Pobiera wartość opcji gniazda przy użyciu identyfikatorów nazw i poziomów specyficznych dla platformy.

GetSocketOption(SocketOptionLevel, SocketOptionName)

Zwraca wartość określonej Socket opcji reprezentowanej jako obiekt.

GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Zwraca określone Socket ustawienie opcji reprezentowane jako tablica bajtów.

GetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Zwraca wartość określonej Socket opcji w tablicy.

GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IOControl(Int32, Byte[], Byte[])

Ustawia tryby operacyjne niskiego poziomu dla używania Socket numerycznych kodów sterujących.

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

Ustawia tryby operacyjne niskiego poziomu dla Socket przy użyciu IOControlCode wyliczenia w celu określenia kodów kontrolnych.

Listen()

Socket Miejsca w stanie nasłuchiwania.

Listen(Int32)

Socket Miejsca w stanie nasłuchiwania.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
Poll(Int32, SelectMode)

Określa stan elementu Socket.

Poll(TimeSpan, SelectMode)

Określa stan elementu Socket.

Receive(Byte[])

Odbiera dane z powiązanego Socket do buforu odbioru.

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

Odbiera określoną liczbę bajtów z powiązanej Socket do określonej pozycji przesunięcia bufora odbioru przy użyciu określonego SocketFlags.

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

Odbiera dane z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlagselementu .

Receive(Byte[], Int32, SocketFlags)

Odbiera określoną liczbę bajtów danych z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlags.

Receive(Byte[], SocketFlags)

Odbiera dane z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlagselementu .

Receive(IList<ArraySegment<Byte>>)

Odbiera dane z powiązanej Socket listy buforów odbioru.

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

Odbiera dane z powiązanej Socket z listą buforów odbioru przy użyciu określonego SocketFlagselementu .

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

Odbiera dane z powiązanej Socket z listą buforów odbioru przy użyciu określonego SocketFlagselementu .

Receive(Span<Byte>)

Odbiera dane z powiązanego Socket do buforu odbioru.

Receive(Span<Byte>, SocketFlags)

Odbiera dane z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlagselementu .

Receive(Span<Byte>, SocketFlags, SocketError)

Odbiera dane z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlagselementu .

ReceiveAsync(ArraySegment<Byte>)

Odbiera dane z podłączonego gniazda.

ReceiveAsync(ArraySegment<Byte>, SocketFlags)

Odbiera dane z podłączonego gniazda.

ReceiveAsync(IList<ArraySegment<Byte>>)

Odbiera dane z podłączonego gniazda.

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

Odbiera dane z podłączonego gniazda.

ReceiveAsync(Memory<Byte>, CancellationToken)

Odbiera dane z podłączonego gniazda.

ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken)

Odbiera dane z podłączonego gniazda.

ReceiveAsync(SocketAsyncEventArgs)

Rozpoczyna asynchroniczne żądanie odbierania danych z połączonego Socket obiektu.

ReceiveFrom(Byte[], EndPoint)

Odbiera datagram do bufora danych i przechowuje punkt końcowy.

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

Odbiera określoną liczbę bajtów danych do określonej lokalizacji bufora danych przy użyciu określonego SocketFlagselementu i przechowuje punkt końcowy.

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

Odbiera określoną liczbę bajtów do bufora danych przy użyciu określonego SocketFlagselementu i przechowuje punkt końcowy.

ReceiveFrom(Byte[], SocketFlags, EndPoint)

Odbiera datagram do bufora danych przy użyciu określonego SocketFlagselementu i przechowuje punkt końcowy.

ReceiveFrom(Span<Byte>, EndPoint)

Odbiera datagram do bufora danych i przechowuje punkt końcowy.

ReceiveFrom(Span<Byte>, SocketFlags, EndPoint)

Odbiera datagram do bufora danych przy użyciu określonego SocketFlagselementu i przechowuje punkt końcowy.

ReceiveFrom(Span<Byte>, SocketFlags, SocketAddress)

Odbiera datagram do bufora danych przy użyciu określonego SocketFlagselementu i przechowuje punkt końcowy.

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Odbiera dane i zwraca punkt końcowy hosta wysyłającego.

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Odbiera dane i zwraca punkt końcowy hosta wysyłającego.

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Odbiera dane i zwraca punkt końcowy hosta wysyłającego.

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

Odbiera dane i zwraca punkt końcowy hosta wysyłającego.

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

Odbiera datagram do bufora danych przy użyciu określonego SocketFlagselementu i przechowuje punkt końcowy.

ReceiveFromAsync(SocketAsyncEventArgs)

Rozpoczyna asynchronicznie odbierać dane z określonego urządzenia sieciowego.

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

Odbiera określoną liczbę bajtów danych do określonej lokalizacji bufora danych przy użyciu określonej SocketFlagswartości i przechowuje informacje o punkcie końcowym i pakiecie.

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

Odbiera określoną liczbę bajtów danych do określonej lokalizacji bufora danych przy użyciu określonej socketFlagswartości i przechowuje informacje o punkcie końcowym i pakiecie.

ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)

Odbiera dane i zwraca dodatkowe informacje o nadawcy wiadomości.

ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Odbiera dane i zwraca dodatkowe informacje o nadawcy wiadomości.

ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Odbiera dane i zwraca dodatkowe informacje o nadawcy wiadomości.

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

Odbiera dane i zwraca dodatkowe informacje o nadawcy wiadomości.

ReceiveMessageFromAsync(SocketAsyncEventArgs)

Rozpoczyna asynchronicznie odbierać określoną liczbę bajtów danych do określonej lokalizacji w buforze danych przy użyciu określonego SocketFlagselementu i przechowuje informacje o punkcie końcowym i pakiecie.

Select(IList, IList, IList, Int32)

Określa stan co najmniej jednego gniazda.

Select(IList, IList, IList, TimeSpan)

Określa stan co najmniej jednego gniazda.

Send(Byte[])

Wysyła dane do połączonego Socketpliku .

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

Wysyła określoną liczbę bajtów danych do połączonego Socketobiektu , począwszy od określonego przesunięcia i przy użyciu określonego SocketFlags.

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

Wysyła określoną liczbę bajtów danych do połączonego Socketobiektu , począwszy od określonego przesunięcia i przy użyciu określonego SocketFlags.

Send(Byte[], Int32, SocketFlags)

Wysyła określoną liczbę bajtów danych do połączonego Socketobiektu przy użyciu określonego SocketFlagselementu .

Send(Byte[], SocketFlags)

Wysyła dane do połączonego Socket przy użyciu określonego SocketFlagselementu .

Send(IList<ArraySegment<Byte>>)

Wysyła zestaw buforów na liście do połączonego Socketelementu .

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

Wysyła zestaw buforów na liście do połączonego Socketobiektu przy użyciu określonego SocketFlagselementu .

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

Wysyła zestaw buforów na liście do połączonego Socketobiektu przy użyciu określonego SocketFlagselementu .

Send(ReadOnlySpan<Byte>)

Wysyła dane do połączonego Socketpliku .

Send(ReadOnlySpan<Byte>, SocketFlags)

Wysyła dane do połączonego Socket przy użyciu określonego SocketFlagselementu .

Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)

Wysyła dane do połączonego Socket przy użyciu określonego SocketFlagselementu .

SendAsync(ArraySegment<Byte>)

Wysyła dane do połączonego gniazda.

SendAsync(ArraySegment<Byte>, SocketFlags)

Wysyła dane do połączonego gniazda.

SendAsync(IList<ArraySegment<Byte>>)

Wysyła dane do połączonego gniazda.

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

Wysyła dane do połączonego gniazda.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Wysyła dane do połączonego gniazda.

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Wysyła dane do połączonego gniazda.

SendAsync(SocketAsyncEventArgs)

Wysyła dane asynchronicznie do połączonego Socket obiektu.

SendFile(String)

Wysyła plik fileName do połączonego Socket obiektu z flagą transmisji UseDefaultWorkerThread .

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

Wysyła plik fileName i bufory danych do połączonego Socket obiektu przy użyciu określonej TransmitFileOptions wartości.

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

Wysyła plik fileName i bufory danych do połączonego Socket obiektu przy użyciu określonej TransmitFileOptions wartości.

SendFileAsync(String, CancellationToken)

Wysyła plik fileName do połączonego Socket obiektu.

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

Wysyła plik fileName i bufory danych do połączonego Socket obiektu przy użyciu określonej TransmitFileOptions wartości.

SendPacketsAsync(SocketAsyncEventArgs)

Wysyła kolekcję plików lub buforów danych pamięci asynchronicznie do połączonego Socket obiektu.

SendTo(Byte[], EndPoint)

Wysyła dane do określonego punktu końcowego.

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

Wysyła określoną liczbę bajtów danych do określonego punktu końcowego, począwszy od określonej lokalizacji w buforze i przy użyciu określonego SocketFlags.

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

Wysyła określoną liczbę bajtów danych do określonego punktu końcowego przy użyciu określonego SocketFlagselementu .

SendTo(Byte[], SocketFlags, EndPoint)

Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu .

SendTo(ReadOnlySpan<Byte>, EndPoint)

Wysyła dane do określonego punktu końcowego.

SendTo(ReadOnlySpan<Byte>, SocketFlags, EndPoint)

Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu .

SendTo(ReadOnlySpan<Byte>, SocketFlags, SocketAddress)

Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu .

SendToAsync(ArraySegment<Byte>, EndPoint)

Wysyła dane do określonego hosta zdalnego.

SendToAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Wysyła dane do określonego hosta zdalnego.

SendToAsync(ReadOnlyMemory<Byte>, EndPoint, CancellationToken)

Wysyła dane do określonego hosta zdalnego.

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

Wysyła dane do określonego hosta zdalnego.

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

Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu .

SendToAsync(SocketAsyncEventArgs)

Wysyła dane asynchronicznie do określonego hosta zdalnego.

SetIPProtectionLevel(IPProtectionLevel)

Ustawia poziom ochrony adresu IP na gniazdie.

SetRawSocketOption(Int32, Int32, ReadOnlySpan<Byte>)

Ustawia wartość opcji gniazda przy użyciu identyfikatorów nazw i poziomów specyficznych dla platformy.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

Ustawia określoną Socket opcję na określoną Boolean wartość.

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Ustawia określoną Socket opcję na określoną wartość reprezentowaną jako tablica bajtów.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

Ustawia określoną Socket opcję na określoną wartość całkowitą.

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

Ustawia określoną Socket opcję na określoną wartość reprezentowaną jako obiekt.

Shutdown(SocketShutdown)

Wyłącza wysyłanie i odbieranie w obiekcie Socket.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

IDisposable.Dispose()

Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu.

Zwalnia wszelkie zasoby używane przez element Socket.

Metody rozszerzania

AcceptAsync(Socket)

Wykonuje operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego w gniazdach.

AcceptAsync(Socket, Socket)

Wykonuje operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego w gniazdach.

ConnectAsync(Socket, EndPoint)

Ustanawia połączenie z hostem zdalnym.

ConnectAsync(Socket, EndPoint, CancellationToken)

Ustanawia połączenie z hostem zdalnym.

ConnectAsync(Socket, IPAddress, Int32)

Ustanawia połączenie z hostem zdalnym. Host jest określany przez adres IP i numer portu.

ConnectAsync(Socket, IPAddress, Int32, CancellationToken)

Ustanawia połączenie z hostem zdalnym określonym przez adres IP i numer portu.

ConnectAsync(Socket, IPAddress[], Int32)

Ustanawia połączenie z hostem zdalnym. Host jest określany przez tablicę adresów IP i numer portu.

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

Ustanawia połączenie z hostem zdalnym określonym przez tablicę adresów IP i numer portu.

ConnectAsync(Socket, String, Int32)

Ustanawia połączenie z hostem zdalnym. Host jest określany przez nazwę hosta i numer portu.

ConnectAsync(Socket, String, Int32, CancellationToken)

Ustanawia połączenie z hostem zdalnym, który jest określony przez nazwę hosta i numer portu.

ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags)

Odbiera dane z podłączonego gniazda.

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

Odbiera dane z podłączonego gniazda.

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

Odbiera dane z podłączonego gniazda.

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

Odbiera dane z określonego urządzenia sieciowego.

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

Odbiera określoną liczbę bajtów danych do określonej lokalizacji bufora danych przy użyciu określonej SocketFlagswartości i przechowuje informacje o punkcie końcowym i pakiecie.

SendAsync(Socket, ArraySegment<Byte>, SocketFlags)

Wysyła dane do połączonego gniazda.

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

Wysyła dane do połączonego gniazda.

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

Wysyła dane do połączonego gniazda.

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

Wysyła dane asynchronicznie do określonego hosta zdalnego.

Dotyczy

Bezpieczeństwo wątkowe

Można bezpiecznie wykonać operację wysyłania i odbierania jednocześnie w wystąpieniu Socket , ale nie zaleca się wysyłania wielu połączeń wysyłania lub odbierania wielu współbieżnie. W zależności od implementacji platformy bazowej może to prowadzić do niezamierzonego przeplatania danych w przypadku wysyłania lub odbierania dużych lub wielu buforów.

Zobacz też