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 kódu ukazuje, jak Socket lze třídu použít k odesílání dat na server HTTP a přijetí odpovědi. Tento příklad blokuje, dokud nebude přijata celá stránka.

#using <System.dll>

using namespace System;
using namespace System::Text;
using namespace System::IO;
using namespace System::Net;
using namespace System::Net::Sockets;
using namespace System::Collections;
Socket^ ConnectSocket( String^ server, int port )
{
   Socket^ s = nullptr;
   IPHostEntry^ hostEntry = nullptr;
   
   // Get host related information.
   hostEntry = Dns::Resolve( server );
   
   // Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
   // an exception that occurs when the host IP Address is not compatible with the address family
   // (typical in the IPv6 case).
   IEnumerator^ myEnum = hostEntry->AddressList->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      IPAddress^ address = safe_cast<IPAddress^>(myEnum->Current);
      IPEndPoint^ endPoint = gcnew IPEndPoint( address,port );
      Socket^ tmpS = gcnew Socket( endPoint->AddressFamily,SocketType::Stream,ProtocolType::Tcp );
      tmpS->Connect( endPoint );
      if ( tmpS->Connected )
      {
         s = tmpS;
         break;
      }
      else
      {
         continue;
      }
   }

   return s;
}

// This method requests the home page content for the specified server.
String^ SocketSendReceive( String^ server, int port )
{
   String^ request = String::Concat( "GET / HTTP/1.1\r\nHost: ", server, "\r\nConnection: Close\r\n\r\n" );
   array<Byte>^bytesSent = Encoding::ASCII->GetBytes( request );
   array<Byte>^bytesReceived = gcnew array<Byte>(256);
   String^ strRetPage = "";
   
   // Create a socket connection with the specified server and port.
   Socket^ s = ConnectSocket( server, port );
   if ( s == nullptr )
      return ("Connection failed");
   
   // Send request to the server.
   s->Send( bytesSent, bytesSent->Length, static_cast<SocketFlags>(0) );
   
   // Receive the server home page content.
   int bytes = 0;
   strRetPage = String::Concat( "Default HTML page on ", server, ":\r\n" );
   do
   {
      bytes = s->Receive( bytesReceived, bytesReceived->Length, static_cast<SocketFlags>(0) );
      strRetPage = String::Concat( strRetPage, Encoding::ASCII->GetString( bytesReceived, 0, bytes ) );
   }
   while ( bytes > 0 );
   
   s->Dispose();

   return strRetPage;
}

int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   String^ host;
   int port = 80;
   if ( args->Length == 1 )
      
   // If no server name is passed as argument to this program, 
   // use the current host name as default.
   host = Dns::GetHostName();
   else
      host = args[ 1 ];

   String^ result = SocketSendReceive( host, port );
   Console::WriteLine( result );
}
using System;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;

public class GetSocket
{
    private static Socket ConnectSocket(string server, int port)
    {
        Socket s = null;
        IPHostEntry hostEntry = null;

        // Get host related information.
        hostEntry = Dns.GetHostEntry(server);

        // Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
        // an exception that occurs when the host IP Address is not compatible with the address family
        // (typical in the IPv6 case).
        foreach(IPAddress address in hostEntry.AddressList)
        {
            IPEndPoint ipe = new IPEndPoint(address, port);
            Socket tempSocket =
                new Socket(ipe.AddressFamily, SocketType.Stream, ProtocolType.Tcp);

            tempSocket.Connect(ipe);

            if(tempSocket.Connected)
            {
                s = tempSocket;
                break;
            }
            else
            {
                continue;
            }
        }
        return s;
    }

    // This method requests the home page content for the specified server.
    private static string SocketSendReceive(string server, int port)
    {
        string request = "GET / HTTP/1.1\r\nHost: " + server +
            "\r\nConnection: Close\r\n\r\n";
        Byte[] bytesSent = Encoding.ASCII.GetBytes(request);
        Byte[] bytesReceived = new Byte[256];
        string page = "";

        // Create a socket connection with the specified server and port.
        using(Socket s = ConnectSocket(server, port)) {

            if (s == null)
                return ("Connection failed");

            // Send request to the server.
            s.Send(bytesSent, bytesSent.Length, 0);

            // Receive the server home page content.
            int bytes = 0;
            page = "Default HTML page on " + server + ":\r\n";

            // The following will block until the page is transmitted.
            do {
                bytes = s.Receive(bytesReceived, bytesReceived.Length, 0);
                page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes);
            }
            while (bytes > 0);
        }

        return page;
    }

    public static void Main(string[] args)
    {
        string host;
        int port = 80;

        if (args.Length == 0)
            // If no server name is passed as argument to this program,
            // use the current host name as the default.
            host = Dns.GetHostName();
        else
            host = args[0];

        string result = SocketSendReceive(host, port);
        Console.WriteLine(result);
    }
}
Imports System.Text
Imports System.IO
Imports System.Net
Imports System.Net.Sockets

Public Class GetSocket
   
   Private Shared Function ConnectSocket(server As String, port As Integer) As Socket
      Dim s As Socket = Nothing
      Dim hostEntry As IPHostEntry = Nothing      
     
         ' Get host related information.
        hostEntry = Dns.GetHostEntry(server)
         
         ' Loop through the AddressList to obtain the supported AddressFamily. This is to avoid
         ' an exception that occurs when the host host IP Address is not compatible with the address family
         ' (typical in the IPv6 case).
      Dim address As IPAddress
 
        For Each address In  hostEntry.AddressList
            Dim endPoint As New IPEndPoint(address, port)
            Dim tempSocket As New Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
      
            tempSocket.Connect(endPoint)
            
            If tempSocket.Connected Then
               s = tempSocket
               Exit For
            End If

         Next address
      
      Return s
   End Function
   
   ' This method requests the home page content for the specified server.
   
   Private Shared Function SocketSendReceive(server As String, port As Integer) As String
      'Set up variables and String to write to the server.
      Dim ascii As Encoding = Encoding.ASCII
      Dim request As String = "GET / HTTP/1.1" + ControlChars.Cr + ControlChars.Lf + "Host: " + server + ControlChars.Cr + ControlChars.Lf + "Connection: Close" + ControlChars.Cr + ControlChars.Lf + ControlChars.Cr + ControlChars.Lf
      Dim bytesSent As [Byte]() = ascii.GetBytes(request)
      Dim bytesReceived(255) As [Byte]
      Dim page As String = ""  
      
      ' Create a socket connection with the specified server and port.
      Dim s As Socket = ConnectSocket(server, port)
      
      If s Is Nothing Then
         Return "Connection failed"
      End If 
      ' Send request to the server.
      s.Send(bytesSent, bytesSent.Length, 0)
      
      ' Receive the server  home page content.
      Dim bytes As Int32
      
      ' Read the first 256 bytes.
      page = "Default HTML page on " + server + ":" + ControlChars.Cr + ControlChars.Lf
      
      ' The following will block until the page is transmitted.
      Do
         bytes = s.Receive(bytesReceived, bytesReceived.Length, 0)
            page = page + Encoding.ASCII.GetString(bytesReceived, 0, bytes)
      Loop While bytes > 0
      
      Return page
   End Function 
   
   'Entry point which delegates to C-style main Private Function
   Public Overloads Shared Sub Main()
      Main(System.Environment.GetCommandLineArgs())
   End Sub
   
   Overloads Private Shared Sub Main(args() As String)
      Dim host As String
      Dim port As Integer = 80
      
      If args.Length = 1 Then
         ' If no server name is passed as argument to this program, 
         ' use the current host name as default.
         host = Dns.GetHostName()
      Else
         host = args(1)
      End If 
      
      Dim result As String = SocketSendReceive(host, port)
      
      Console.WriteLine(result)
   End Sub
End Class

Poznámky

Třída Socket poskytuje bohatou sadu metod a vlastností pro síťovou komunikaci. Třída Socket umožňuje provádět synchronní i asynchronní přenos dat pomocí libovolného komunikačního protokolu uvedeného v výčtu ProtocolType .

Třída Socket se řídí vzorem pojmenování rozhraní .NET Framework pro asynchronní metody. Synchronní Receive metoda například odpovídá asynchronním BeginReceive metodám a EndReceive metodám.

Pokud vaše aplikace během provádění vyžaduje pouze jedno vlákno, použijte následující metody, které jsou navržené pro synchronní režim operace.

  • Pokud používáte protokol orientovaný na připojení, jako je tcp, server může naslouchat připojení pomocí Listen metody. Tato Accept metoda zpracovává všechny příchozí požadavky na připojení a vrací Socket , které můžete použít ke komunikaci dat se vzdáleným hostitelem. Tuto vrácenou Socket metodu Send použijte k volání metody.Receive Volejte metodu Bind před voláním Listen metody, pokud chcete zadat místní IP adresu a číslo portu. Pokud chcete, aby podkladový poskytovatel služeb přiřadil bezplatný port za vás, použijte číslo portu nula. Pokud se chcete připojit k naslouchacímu hostiteli, zavolejte metodu Connect . Ke komunikaci dat volejte metodu Send nebo Receive data.

  • Pokud používáte protokol bez připojení, jako je UDP, nemusíte vůbec naslouchat připojením. Zavolejte metodu ReceiveFrom , aby přijímala všechny příchozí datagramy. Tuto metodu SendTo použijte k odesílání datovýchgramů vzdálenému hostiteli.

Ke zpracování komunikace pomocí samostatných vláken během provádění použijte následující metody, které jsou navržené pro asynchronní režim operace.

Pokud provádíte více asynchronních operací na soketu, nemusí být nutně dokončeny v pořadí, ve kterém jsou spuštěny.

Po dokončení odesílání a přijímání dat použijte metodu Shutdown k zakázání Socket. Po volání Shutdownvolejte metodu Close , která uvolní všechny prostředky přidružené k sadě Socket.

Třída Socket umožňuje nakonfigurovat pomocí Socket SetSocketOption metody. Načtěte tato nastavení pomocí GetSocketOption metody.

Poznámka

Pokud píšete relativně jednoduchou aplikaci a nevyžadujete maximální výkon, zvažte použití TcpClient, TcpListenera UdpClient. Tyto třídy poskytují jednodušší a uživatelsky přívětivější rozhraní pro Socket komunikaci.

Konstruktory

Socket(AddressFamily, SocketType, ProtocolType)

Inicializuje novou instanci Socket třídy pomocí zadané řady 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 třídy pomocí zadaného Socket typu soketu a protokolu. Pokud operační systém podporuje protokol IPv6, tento konstruktor vytvoří soket s duálním režimem; jinak vytvoří soket IPv4.

Vlastnosti

AddressFamily

Získá adresu rodiny Socket.

Available

Získá množství dat přijatých 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 jako poslední Send nebo Receive operace.

DontFragment

Získá nebo nastaví hodnotu, která určuje, zda Socket je možné datagramy protokolu IP (Internet Protocol) fragmentovat.

DualMode

Získá nebo nastaví hodnotu, která určuje, zda Socket je duální režim soket 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 svázat s portem.

Handle

Získá úchyt operačního systému pro Socket.

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 se zpozdí zavř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 se odchozí pakety vícesměrového vysílání doručují 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, jestli 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 příjmu Socket.

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

SafeSocketHandle Získá, který představuje soket úchyt, 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 .Socket

SupportsIPv4
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Získá hodnotu označující, jestli je podpora IPv4 dostupná a povolená na aktuálním hostiteli.

SupportsIPv6
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.

Získá hodnotu, která označuje, zda Framework 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) odesílaných serverem Socket.

UseOnlyOverlappedIO
Zastaralé.

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

Metody

Accept()

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

AcceptAsync()

Přijímá příchozí připojení.

AcceptAsync(CancellationToken)

Přijímá příchozí připojení.

AcceptAsync(Socket)

Přijímá příchozí připojení.

AcceptAsync(Socket, CancellationToken)

Přijímá 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 pokus o příchozí připojení a přijme první blok dat odesílaných 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 odesílaných klientskou aplikací.

BeginConnect(EndPoint, AsyncCallback, Object)

Zahájí asynchronní požadavek na připojení vzdáleného hostitele.

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

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

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

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

BeginConnect(String, Int32, AsyncCallback, Object)

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

BeginDisconnect(Boolean, AsyncCallback, Object)

Zahájí asynchronní požadavek, který se odpojí od vzdáleného koncového bodu.

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

Začíná asynchronně přijímat data z připojeného Socket.

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

Začíná asynchronně přijímat data z připojeného Socket.

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

Začíná asynchronně přijímat data z připojeného Socket.

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

Začíná asynchronně přijímat data z připojeného Socket.

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í vyrovnávací paměti dat pomocí zadaného SocketFlagspole a uloží koncový bod a informace o paketech.

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

Odesílá data asynchronně připojenému Socket.

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

Odesílá data asynchronně připojenému Socket.

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

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

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

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

BeginSendFile(String, AsyncCallback, Object)

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

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

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

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

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

Bind(EndPoint)

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

CancelConnectAsync(SocketAsyncEventArgs)

Zruší asynchronní požadavek na připojení vzdáleného hostitele.

Close()

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

Close(Int32)

Socket Zavře připojení a uvolní všechny přidružené prostředky se zadaným časovým limitem, aby bylo možné odesílat data ve frontě.

Connect(EndPoint)

Vytvoří připojení ke vzdálenému hostiteli.

Connect(IPAddress, Int32)

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

Connect(IPAddress[], Int32)

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

Connect(String, Int32)

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

ConnectAsync(EndPoint)

Vytvoří připojení ke vzdálenému hostiteli.

ConnectAsync(EndPoint, CancellationToken)

Vytvoří připojení ke vzdálenému hostiteli.

ConnectAsync(IPAddress, Int32)

Vytvoří připojení ke vzdálenému hostiteli.

ConnectAsync(IPAddress, Int32, CancellationToken)

Vytvoří připojení ke vzdálenému hostiteli.

ConnectAsync(IPAddress[], Int32)

Vytvoří připojení ke vzdálenému hostiteli.

ConnectAsync(IPAddress[], Int32, CancellationToken)

Vytvoří 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)

Vytvoří připojení ke vzdálenému hostiteli.

ConnectAsync(String, Int32, CancellationToken)

Vytvoří připojení ke vzdálenému hostiteli.

Disconnect(Boolean)

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

DisconnectAsync(Boolean, CancellationToken)

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

DisconnectAsync(SocketAsyncEventArgs)

Zahájí asynchronní požadavek, který se odpojí 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é Socketnástrojem a volitelně odstraní spravované prostředky.

DuplicateAndClose(Int32)

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

EndAccept(Byte[], IAsyncResult)

Asynchronní přijetí příchozího pokusu o připojení a vytvoření nového Socket objektu pro zpracování vzdálené komunikace hostitele. Tato metoda vrátí vyrovnávací paměť obsahující počáteční přenášená data.

EndAccept(Byte[], Int32, IAsyncResult)

Asynchronně přijímá 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řijímá příchozí pokus o připojení a vytvoří nový Socket pro zpracování komunikace vzdáleného hostitele.

EndConnect(IAsyncResult)

Ukončí nevyřízenou žádost o asynchronní připojení.

EndDisconnect(IAsyncResult)

Ukončí nevyřízenou žádost o asynchronní odpojení.

EndReceive(IAsyncResult)

Ukončí čekající asynchronní čtení.

EndReceive(IAsyncResult, SocketError)

Ukončí čekající asynchronní čtení.

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čí čekající asynchronní odeslání.

EndSend(IAsyncResult, SocketError)

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

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 instance Socket .

GetHashCode()

Slouží jako výchozí funkce hash.

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

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

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 poli.

GetType()

Type Získá aktuální instanci.

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

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

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

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

Listen()

Umístí naslouchající Socket stav.

Listen(Int32)

Umístí naslouchající Socket stav.

MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

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

Určuje stav Socket.

Poll(TimeSpan, SelectMode)
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ého SocketFlags.

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

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

Receive(Byte[], Int32, SocketFlags)

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

Receive(Byte[], SocketFlags)

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

Receive(IList<ArraySegment<Byte>>)

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

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

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

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

Přijímá data z vazby Socket do seznamu vyrovnávacích pamětí příjmu 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ého SocketFlags.

Receive(Span<Byte>, SocketFlags, SocketError)

Přijímá data z vazby Socket do vyrovnávací paměti příjmu pomocí zadaného 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 datový diagram do vyrovnávací paměti dat a uloží koncový bod.

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

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

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

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

ReceiveFrom(Byte[], SocketFlags, EndPoint)

Přijme datový diagram do vyrovnávací paměti dat pomocí zadaného SocketFlagsdata a uloží koncový bod.

ReceiveFrom(Span<Byte>, EndPoint)

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

ReceiveFrom(Span<Byte>, SocketFlags, EndPoint)

Přijme datový diagram do vyrovnávací paměti dat pomocí zadaného SocketFlagsdata a uloží koncový bod.

ReceiveFromAsync(ArraySegment<Byte>, EndPoint)

Přijímá data a vrací koncový bod odesílajícího hostitele.

ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Přijímá data a vrací koncový bod odesílajícího hostitele.

ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Přijímá data a vrací koncový bod odesílajícího hostitele.

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

Přijímá data a vrací koncový bod odesílajícího hostitele.

ReceiveFromAsync(SocketAsyncEventArgs)

Začíná 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í vyrovnávací paměti dat pomocí zadaného SocketFlagsa uloží koncový bod a informace o paketech.

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

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

ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint)

Přijímá data a vrací další informace o odesílateli zprávy.

ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint)

Přijímá data a vrací další informace o odesílateli zprávy.

ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken)

Přijímá data a vrací další informace o odesílateli zprávy.

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

Přijímá data a vrací 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í v vyrovnávací paměti dat pomocí zadaného SocketFlagsa uloží koncový bod a informace o paketech.

Select(IList, IList, IList, Int32)

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

Select(IList, IList, IList, TimeSpan)
Send(Byte[])

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

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

Odešle zadaný počet bajtů dat připojenému Socket, počínaje zadaným posunem a použitím 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 použitím zadaného SocketFlags.

Send(Byte[], Int32, SocketFlags)

Odešle zadaný počet bajtů dat připojeným Socketpomocí zadaného SocketFlags.

Send(Byte[], SocketFlags)

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

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 , Socketpomocí zadaného SocketFlags.

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

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

Send(ReadOnlySpan<Byte>)

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

Send(ReadOnlySpan<Byte>, SocketFlags)

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

Send(ReadOnlySpan<Byte>, SocketFlags, SocketError)

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

SendAsync(ArraySegment<Byte>)

Odesílá data na připojeném soketu.

SendAsync(ArraySegment<Byte>, SocketFlags)

Odesílá data na připojeném soketu.

SendAsync(IList<ArraySegment<Byte>>)

Odesílá data na připojeném soketu.

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

Odesílá data na připojeném soketu.

SendAsync(ReadOnlyMemory<Byte>, CancellationToken)

Odesílá data na připojeném soketu.

SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken)

Odesílá data na připojeném soketu.

SendAsync(SocketAsyncEventArgs)

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

SendFile(String)

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

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

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

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

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

SendFileAsync(String, CancellationToken)

Odešle soubor fileName do připojeného 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)

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

SendTo(Byte[], EndPoint)

Odešle 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 použitím 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)

Odesílá data do konkrétního koncového bodu pomocí zadaného SocketFlagskoncového bodu .

SendTo(ReadOnlySpan<Byte>, EndPoint)

Odešle data do zadaného koncového bodu.

SendTo(ReadOnlySpan<Byte>, SocketFlags, EndPoint)

Odesílá data do konkrétního koncového bodu pomocí zadaného SocketFlagskoncového bodu .

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(SocketAsyncEventArgs)

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

SetIPProtectionLevel(IPProtectionLevel)

Nastaví úroveň ochrany IP na soketu.

SetRawSocketOption(Int32, Int32, ReadOnlySpan<Byte>)

Nastaví hodnotu možnosti soketu pomocí identifikátorů specifické pro platformu a názvů.

SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[])

Nastaví zadanou možnost na zadanou Socket hodnotu reprezentovanou jako bajtové pole.

SetSocketOption(SocketOptionLevel, SocketOptionName, Int32)

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

SetSocketOption(SocketOptionLevel, SocketOptionName, Object)

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

Shutdown(SocketShutdown)

Zakáže odesílání a přijímání v souboru 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)

Vytvoří připojení ke vzdálenému hostiteli.

ConnectAsync(Socket, EndPoint, CancellationToken)

Vytvoří připojení ke vzdálenému hostiteli.

ConnectAsync(Socket, IPAddress, Int32)

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

ConnectAsync(Socket, IPAddress, Int32, CancellationToken)

Vytvoří připojení ke vzdálenému hostiteli, který je určený IP adresou a číslem portu.

ConnectAsync(Socket, IPAddress[], Int32)

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

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

Vytvoří připojení ke vzdálenému hostiteli, který je určený polem IP adres a číslem portu.

ConnectAsync(Socket, String, Int32)

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

ConnectAsync(Socket, String, Int32, CancellationToken)

Vytvoří připojení ke vzdálenému hostiteli, který je určený 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í vyrovnávací paměti dat pomocí zadaného SocketFlagsa uloží koncový bod a informace o paketech.

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ě konkrétnímu vzdálenému hostiteli.

Platí pro

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

Instance této třídy jsou bezpečné pro vlákna.

Viz také