Socket Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 odesílání dat na server HTTP, tisk odpovědi ASCII na standardní výstup. Tento příklad blokuje volající vlákno, dokud nebude 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);
}
}
Další 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á asynchronní CancellationToken metody, čímž se celá operace zruší.
Tip
Socketasynchronní metody, které obvykle nevracely CancellationToken haldu Task, která je přidělena haldě. Zrušená přetížení jsou vždy ValueTaskvrácena. Jejich použití pomáhá snižovat přidělení v kódu s vysokým výkonem.
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
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í některého z komunikačních protokolů uvedených v výčtu ProtocolType .
Třída Socket se řídí vzorem pojmenování .NET pro asynchronní metody. Synchronní Receive metoda například odpovídá asynchronním ReceiveAsync variantám.
Pro synchronní režim operace použijte následující metody:
- Pokud používáte protokol orientovaný na spojení, například TCP, váš server může naslouchat spojení pomocí Listen metody. Tato Accept metoda zpracuje všechny příchozí požadavky na připojení a vrátí Socket data, která můžete použít ke komunikaci dat se vzdáleným hostitelem. Tento vrácený Socket kód použijte k volání Send metody nebo Receive metody. Zavolejte metodu Bind před zavoláním metody Listen, pokud chcete zadat místní IP adresu a číslo portu. Pokud chcete, aby základní 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.
- Pokud používáte protokol orientovaný na bezstavový přenos, jako je UDP, nemusíte vůbec čekat na připojení. Voláním ReceiveFrom metody přijměte všechny příchozí datagramy. SendTo Pomocí metody odešlete datagramy vzdálenému hostiteli.
Ke zpracování komunikace asynchronně použijte následující metody:
- Pokud používáte protokol orientovaný na připojení, například TCP, použijte ConnectAsync pro připojení k hostiteli naslouchání. Použijte SendAsync nebo ReceiveAsync k asynchronní komunikaci dat. Příchozí požadavky na připojení je možné zpracovat pomocí AcceptAsync.
- Pokud používáte protokol bez připojení, například UDP, můžete použít SendToAsync k odesílání datovýchgramů a ReceiveFromAsync k příjmu datagramů.
Pokud provádíte více asynchronních operací na soketu, nemusí se nutně dokončit 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í Shutdown, volejte metodu Close, která uvolní všechny prostředky přidružené k Socket.
Třída Socket umožňuje konfigurovat Socket pomocí SetSocketOption metody. Načtěte tato nastavení pomocí metody GetSocketOption.
Konstruktory
| Name | Description |
|---|---|
| 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 Socket třídy pomocí zadaného 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
| Name | Description |
|---|---|
| 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 umožňuje protokol IP (Internet Protocol) datagramy fragmentovat. |
| DualMode |
Získá nebo nastaví hodnotu, která určuje, zda Socket je duální režim soket používaný 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í hodnotu, která označuje, zda Socket umožňuje pouze jeden proces vytvořit vazbu na port. |
| Handle |
Získá popisovač operačního systému pro Socket. |
| IsBound |
Získá hodnotu, která urč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 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 příjmu vyrovnávací paměti 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 popisovač, který aktuální Socket objekt zapouzdřuje. |
| SendBufferSize |
Získá nebo nastaví hodnotu, která určuje velikost vyrovnávací paměti Socketpro odeslá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é.
Získá hodnotu označující, zda je podpora IPv4 k dispozici a povolena na aktuálním hostiteli. |
| SupportsIPv6 |
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 protokolem Socket. |
| UseOnlyOverlappedIO |
Zastaralé.
Získá nebo nastaví hodnotu, která určuje, zda soket má používat pouze překrývající se vstupně-výstupní režim. Na .NET 5 nebo novějších (včetně verzí .NET Core) je hodnota vždy |
Metody
| Name | Description |
|---|---|
| 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, CancellationToken) |
Přijímá příchozí připojení. |
| AcceptAsync(Socket) |
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 příchozí pokus o 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 odeslaný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 SocketFlagsa uloží koncový bod a informace o paketu. |
| BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Odesílá data asynchronně do připojeného Socket. |
| BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Odesílá data asynchronně do připojeného 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 |
| 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ě na konkrétního vzdáleného hostitele. |
| Bind(EndPoint) |
Přidruží místní Socket koncový bod. |
| CancelConnectAsync(SocketAsyncEventArgs) |
Zruší asynchronní požadavek na připojení vzdáleného hostitele. |
| Close() |
Socket Ukončí 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, CancellationToken) |
Vytvoří připojení ke vzdálenému hostiteli. |
| ConnectAsync(EndPoint) |
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(IPAddress[], Int32) |
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, ConnectAlgorithm) |
Implementuje rozhraní soketů Berkeley. |
| ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. |
| ConnectAsync(String, Int32, CancellationToken) |
Vytvoří připojení ke vzdálenému hostiteli. |
| ConnectAsync(String, Int32) |
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ě uvolní 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ř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í 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čí čekající asynchronní žádost o připojení. |
| EndDisconnect(IAsyncResult) |
Ukončí čekající asynchronní žádost o odpojení. |
| EndReceive(IAsyncResult, SocketError) |
Ukončí čekající asynchronní čtení. |
| EndReceive(IAsyncResult) |
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, SocketError) |
Ukončí čekající asynchronní odeslání. |
| EndSend(IAsyncResult) |
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čuje, zda je zadaný objekt roven 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í funkce hash. (Zděděno od Object) |
| GetRawSocketOption(Int32, Int32, Span<Byte>) |
Získá hodnotu možnosti soketu pomocí identifikátorů názvu a úrovně specifické pro platformu. |
| 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. |
| GetSocketOption(SocketOptionLevel, SocketOptionName) |
Vrátí hodnotu zadané Socket možnosti reprezentované jako objekt. |
| GetType() |
Získá Type aktuální instance. (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 k určení řídicích kódů. |
| Listen() |
Umístí stav Socket naslouchání. |
| Listen(Int32) |
Umístí stav Socket naslouchání. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Poll(Int32, SelectMode) |
Určuje stav Socket. |
| Poll(TimeSpan, SelectMode) |
Určuje stav Socket. |
| 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, 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, 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(Byte[]) |
Přijímá data z vazby Socket do vyrovnávací paměti pro příjem. |
| 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(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>>) |
Přijímá data z vazby Socket do seznamu vyrovnávacích pamětí příjmu. |
| Receive(Span<Byte>, SocketFlags, SocketError) |
Přijímá data z vazby Socket do vyrovnávací paměti příjmu pomocí zadaného SocketFlags. |
| 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>) |
Přijímá data z vazby Socket do vyrovnávací paměti pro příjem. |
| ReceiveAsync(ArraySegment<Byte>, SocketFlags) |
Přijímá data z připojeného soketu. |
| ReceiveAsync(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(IList<ArraySegment<Byte>>) |
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 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 datagram do vyrovnávací paměti dat pomocí zadaného SocketFlagsa uloží koncový bod. |
| ReceiveFrom(Span<Byte>, EndPoint) |
Přijme datagram do vyrovnávací paměti dat 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ř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(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í 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 |
| 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í v datové vyrovnávací paměti pomocí zadaného SocketFlagsa ukládá koncový bod 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[], 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, 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, SocketFlags) |
Pomocí zadaného počtu bajtů dat odešle připojeným Socketdatům zadaný SocketFlagspočet bajtů . |
| Send(Byte[], SocketFlags) |
Odešle data připojenému Socket pomocí zadaného SocketFlags. |
| Send(Byte[]) |
Odesílá data připojenému Socket. |
| Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Odešle sadu vyrovnávacích pamětí v seznamu připojenému Socketpomocí zadaného SocketFlags. |
| 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>>) |
Odešle sadu vyrovnávacích pamětí v seznamu připojenému Socket. |
| Send(ReadOnlySpan<Byte>, SocketFlags, SocketError) |
Odešle data připojenému Socket pomocí zadaného SocketFlags. |
| Send(ReadOnlySpan<Byte>, SocketFlags) |
Odešle data připojenému Socket pomocí zadaného SocketFlags. |
| Send(ReadOnlySpan<Byte>) |
Odesílá data připojenému Socket. |
| SendAsync(ArraySegment<Byte>, SocketFlags) |
Odesílá data na připojeném soketu. |
| SendAsync(ArraySegment<Byte>) |
Odesílá data na připojeném soketu. |
| SendAsync(IList<ArraySegment<Byte>>, SocketFlags) |
Odesílá data na připojeném soketu. |
| SendAsync(IList<ArraySegment<Byte>>) |
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, Byte[], Byte[], TransmitFileOptions) |
Odešle soubor |
| SendFile(String, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, TransmitFileOptions) |
Odešle soubor |
| SendFile(String) |
Odešle soubor |
| SendFileAsync(String, CancellationToken) |
Odešle soubor |
| SendFileAsync(String, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, TransmitFileOptions, CancellationToken) |
Odešle soubor |
| SendPacketsAsync(SocketAsyncEventArgs) |
Odešle kolekci souborů nebo do vyrovnávací paměti vyrovnávací paměti asynchronně připojenému 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 v vyrovnávací paměti a použitím zadaného SocketFlags. |
| SendTo(Byte[], Int32, SocketFlags, EndPoint) |
Pomocí zadaného koncového bodu odešle zadaný počet bajtů dat do zadaného SocketFlagskoncového bodu. |
| SendTo(Byte[], SocketFlags, EndPoint) |
Odešle 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) |
Odešle data do konkrétního koncového bodu pomocí zadaného SocketFlagskoncového bodu . |
| SendTo(ReadOnlySpan<Byte>, SocketFlags, SocketAddress) |
Odešle data do konkrétního koncového bodu pomocí zadaného SocketFlagskoncového bodu . |
| SendToAsync(ArraySegment<Byte>, EndPoint) |
Odešle data určenému vzdálenému hostiteli. |
| SendToAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
Odešle data určenému vzdálenému hostiteli. |
| SendToAsync(ReadOnlyMemory<Byte>, EndPoint, CancellationToken) |
Odešle data určenému vzdálenému hostiteli. |
| SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, EndPoint, CancellationToken) |
Odešle data určenému vzdálenému hostiteli. |
| SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, SocketAddress, CancellationToken) |
Odešle data do konkrétního koncového bodu pomocí zadaného SocketFlagskoncového bodu . |
| SendToAsync(SocketAsyncEventArgs) |
Odesílá data asynchronně na 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ů úrovní a názvů specifických pro platformu. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) | |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Nastaví zadanou možnost na zadanou Socket hodnotu reprezentovanou jako pole bajtů. |
| 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í na .Socket |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| 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í
| Name | Description |
|---|---|
| AcceptAsync(Socket, Socket) |
Provede asynchronní operaci, která přijme příchozí pokus o připojení na soketu. |
| AcceptAsync(Socket) |
Provede asynchronní operaci, která přijme příchozí pokus o připojení na soketu. |
| ConnectAsync(Socket, EndPoint, CancellationToken) |
Vytvoří připojení ke vzdálenému hostiteli. |
| ConnectAsync(Socket, EndPoint) |
Vytvoří připojení ke vzdálenému hostiteli. |
| 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 IP adresou 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, IPAddress[], Int32) |
Vytvoří připojení ke vzdálenému hostiteli. Hostitel je určen polem IP adres 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. |
| ConnectAsync(Socket, String, Int32) |
Vytvoří připojení ke vzdálenému hostiteli. Hostitel 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ě na konkrétního vzdáleného hostitele. |
Platí pro
Bezpečný přístup z více vláken
Je bezpečné provést operaci odesílání a příjmu současně v Socket instanci, ale nedoporučuje se vydávat více volání pro odesílání nebo více příjmu současně. V závislosti na implementaci základní platformy to může vést k nezamýšleným prokládání dat pro odesílání nebo přijímání velkých nebo více vyrovnávacích pamětí.
Viz také
- System.Net
- System.Net.Cache
- System.Net.Security
- SocketAsyncEventArgs
- programování sítě v rozhraní .NET Framework
- Osvědčené postupy pro třídy System.Net
- Správa mezipaměti pro síťové aplikace
- Protokol IP verze 6
- Ukázky programování sítě
- Trasování sítě v rozhraní .NET Framework
- Zabezpečení v programování sítě
- Vylepšení výkonu soketů ve verzi 3.5