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 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 používáte protokol orientovaný na připojení, jako je TCP, použijte SocketBeginConnect, a EndConnect metody pro připojení s naslouchajícím hostitelem. K asynchronní komunikaci dat použijte metody BeginSend a EndSend nebo BeginReceive asynchronně EndReceive . Příchozí požadavky na připojení lze zpracovat pomocí BeginAccept a EndAccept.
Pokud používáte protokol bez připojení, jako je UDP, můžete použít BeginSendTo a EndSendTo odesílat datagramy a BeginReceiveFrom EndReceiveFrom přijímat datagramy.
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 |
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 |
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 |
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 |
SendFile(String, Byte[], Byte[], TransmitFileOptions) |
Odešle soubor |
SendFile(String, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, TransmitFileOptions) |
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 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) | |
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é
- System.Net
- System.Net.Cache
- System.Net.Security
- SocketAsyncEventArgs
- Síťové programování v rozhraní .NET Framework
- Osvědčené postupy pro třídy System.Net
- Správa mezipaměti pro síťové aplikace
- Protokol IP (Internet Protocol) verze 6
- Ukázky programování sítě
- Trasování sítě v rozhraní .NET Framework
- Zabezpečení v síťovém programování
- Vylepšení výkonu soketů ve verzi 3.5