Socket Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Implementuje interfejs gniazd Berkeley.
public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
interface IDisposable
Public Class Socket
Implements IDisposable
- Dziedziczenie
-
Socket
- Implementuje
Przykłady
W poniższym przykładzie pokazano, jak Socket klasa może służyć do wysyłania danych do serwera HTTP, drukowania odpowiedzi ASCII na standardowe dane wyjściowe. Ten przykład blokuje wątek wywołujący do momentu odebrania całej strony.
private static void SendHttpRequest(Uri? uri = null, int port = 80)
{
uri ??= new Uri("http://example.com");
// Construct a minimalistic HTTP/1.1 request
byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.0
Host: {uri.Host}
Connection: Close
");
// Create and connect a dual-stack socket
using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
socket.Connect(uri.Host, port);
// Send the request.
// For the tiny amount of data in this example, the first call to Send() will likely deliver the buffer completely,
// however this is not guaranteed to happen for larger real-life buffers.
// The best practice is to iterate until all the data is sent.
int bytesSent = 0;
while (bytesSent < requestBytes.Length)
{
bytesSent += socket.Send(requestBytes, bytesSent, requestBytes.Length - bytesSent, SocketFlags.None);
}
// Do minimalistic buffering assuming ASCII response
byte[] responseBytes = new byte[256];
char[] responseChars = new char[256];
while (true)
{
int bytesReceived = socket.Receive(responseBytes);
// Receiving 0 bytes means EOF has been reached
if (bytesReceived == 0) break;
// Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);
// Print the contents of the 'responseChars' buffer to Console.Out
Console.Out.Write(responseChars, 0, charCount);
}
}
W następnym przykładzie pokazano ten sam scenariusz HTTP GET, używając asynchronicznych interfejsów API opartych na zadaniach, a jednocześnie przekazując obiekt CancellationToken do metod asynchronicznych, co umożliwia anulowanie całej operacji.
Porada
SocketMetody asynchroniczne, które zwykle nie zwracają CancellationTokenTaskwartości , która jest przydzielana na stercie. Przeciążenia, które można anulować, są zawsze ValueTaskzwracane. Użycie ich pomaga zmniejszyć alokacje w kodzie o wysokiej wydajności.
private static async Task SendHttpRequestAsync(Uri? uri = null, int port = 80, CancellationToken cancellationToken = default)
{
uri ??= new Uri("http://example.com");
// Construct a minimalistic HTTP/1.1 request
byte[] requestBytes = Encoding.ASCII.GetBytes(@$"GET {uri.AbsoluteUri} HTTP/1.1
Host: {uri.Host}
Connection: Close
");
// Create and connect a dual-stack socket
using Socket socket = new Socket(SocketType.Stream, ProtocolType.Tcp);
await socket.ConnectAsync(uri.Host, port, cancellationToken);
// Send the request.
// For the tiny amount of data in this example, the first call to SendAsync() will likely deliver the buffer completely,
// however this is not guaranteed to happen for larger real-life buffers.
// The best practice is to iterate until all the data is sent.
int bytesSent = 0;
while (bytesSent < requestBytes.Length)
{
bytesSent += await socket.SendAsync(requestBytes.AsMemory(bytesSent), SocketFlags.None);
}
// Do minimalistic buffering assuming ASCII response
byte[] responseBytes = new byte[256];
char[] responseChars = new char[256];
while (true)
{
int bytesReceived = await socket.ReceiveAsync(responseBytes, SocketFlags.None, cancellationToken);
// Receiving 0 bytes means EOF has been reached
if (bytesReceived == 0) break;
// Convert byteCount bytes to ASCII characters using the 'responseChars' buffer as destination
int charCount = Encoding.ASCII.GetChars(responseBytes, 0, bytesReceived, responseChars, 0);
// Print the contents of the 'responseChars' buffer to Console.Out
await Console.Out.WriteAsync(responseChars.AsMemory(0, charCount), cancellationToken);
}
}
Uwagi
Aby uzyskać więcej informacji na temat tego interfejsu API, zobacz Uwagi dotyczące dodatkowego interfejsu API dla gniazda.
Konstruktory
Socket(AddressFamily, SocketType, ProtocolType) |
Inicjuje nowe wystąpienie klasy przy użyciu określonej rodziny adresów Socket , typu gniazda i protokołu. |
Socket(SafeSocketHandle) |
Inicjuje Socket nowe wystąpienie klasy dla określonego uchwytu gniazda. |
Socket(SocketInformation) |
Inicjuje Socket nowe wystąpienie klasy przy użyciu określonej wartości zwróconej z DuplicateAndClose(Int32)klasy . |
Socket(SocketType, ProtocolType) |
Inicjuje Socket nowe wystąpienie klasy przy użyciu określonego typu gniazda i protokołu. Jeśli system operacyjny obsługuje protokół IPv6, ten konstruktor tworzy gniazdo w trybie podwójnym; w przeciwnym razie tworzy gniazdo IPv4. |
Właściwości
AddressFamily |
Pobiera rodzinę adresów .Socket |
Available |
Pobiera ilość danych odebranych z sieci i jest dostępna do odczytu. |
Blocking |
Pobiera lub ustawia wartość wskazującą, czy Socket element jest w trybie blokowania. |
Connected |
Pobiera wartość wskazującą, czy Socket element jest połączony z hostem zdalnym od ostatniego Send lub Receive operacji. |
DontFragment |
Pobiera lub ustawia wartość określającą, czy Socket zezwala na fragmentacje datagramów protokołu internetowego (IP). |
DualMode |
Pobiera lub ustawia wartość określającą, czy Socket jest to gniazdo w trybie podwójnym używane zarówno dla protokołów IPv4, jak i IPv6. |
EnableBroadcast |
Pobiera lub ustawia wartość określającą Boolean , czy Socket można wysyłać pakiety emisji. |
ExclusiveAddressUse |
Pobiera lub ustawia wartość określającą Boolean , czy Socket zezwala tylko jednemu procesowi na powiązanie z portem. |
Handle |
Pobiera uchwyt systemu operacyjnego dla elementu Socket. |
IsBound |
Pobiera wartość wskazującą, czy element Socket jest powiązany z określonym portem lokalnym. |
LingerState |
Pobiera lub ustawia wartość określającą, czy Socket opóźnienie zamknięcia gniazda podczas próby wysłania wszystkich oczekujących danych. |
LocalEndPoint |
Pobiera lokalny punkt końcowy. |
MulticastLoopback |
Pobiera lub ustawia wartość określającą, czy wychodzące pakiety multiemisji są dostarczane do aplikacji wysyłającej. |
NoDelay |
Pobiera lub ustawia wartość określającą Boolean , czy strumień Socket używa algorytmu Nagle. |
OSSupportsIPv4 |
Wskazuje, czy podstawowy system operacyjny i adaptery sieciowe obsługują protokół internetowy w wersji 4 (IPv4). |
OSSupportsIPv6 |
Wskazuje, czy podstawowy system operacyjny i adaptery sieciowe obsługują protokół internetowy w wersji 6 (IPv6). |
OSSupportsUnixDomainSockets |
Wskazuje, czy bazowy system operacyjny obsługuje gniazda domeny systemu Unix. |
ProtocolType |
Pobiera typ protokołu .Socket |
ReceiveBufferSize |
Pobiera lub ustawia wartość określającą rozmiar buforu odbierania elementu Socket. |
ReceiveTimeout |
Pobiera lub ustawia wartość określającą czas, po którym upłynął limit czasu synchronicznego Receive wywołania. |
RemoteEndPoint |
Pobiera zdalny punkt końcowy. |
SafeHandle |
Pobiera element SafeSocketHandle reprezentujący uchwyt gniazda, który jest hermetyzowany przez bieżący Socket obiekt. |
SendBufferSize |
Pobiera lub ustawia wartość określającą rozmiar buforu wysyłania elementu Socket. |
SendTimeout |
Pobiera lub ustawia wartość określającą czas, po którym upłynął limit czasu synchronicznego Send wywołania. |
SocketType |
Pobiera typ elementu Socket. |
SupportsIPv4 |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Pobiera wartość wskazującą, czy obsługa protokołu IPv4 jest dostępna i włączona na bieżącym hoście. |
SupportsIPv6 |
Przestarzałe.
Przestarzałe.
Przestarzałe.
Pobiera wartość wskazującą, czy platforma obsługuje protokół IPv6 dla niektórych przestarzałych Dns elementów członkowskich. |
Ttl |
Pobiera lub ustawia wartość określającą wartość Czas wygaśnięcia (TTL) pakietów protokołu internetowego (IP) wysyłanych przez Socketelement . |
UseOnlyOverlappedIO |
Przestarzałe.
Pobiera lub ustawia wartość określającą, czy gniazdo powinno używać tylko nakładanego trybu we/wy. Na platformie .NET 5+ (w tym wersje platformy .NET Core) wartość jest zawsze |
Metody
Accept() |
Tworzy nowe Socket dla nowo utworzonego połączenia. |
AcceptAsync() |
Akceptuje połączenie przychodzące. |
AcceptAsync(CancellationToken) |
Akceptuje połączenie przychodzące. |
AcceptAsync(Socket) |
Akceptuje połączenie przychodzące. |
AcceptAsync(Socket, CancellationToken) |
Akceptuje połączenie przychodzące. |
AcceptAsync(SocketAsyncEventArgs) |
Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego. |
BeginAccept(AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego. |
BeginAccept(Int32, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną w celu zaakceptowania próby połączenia przychodzącego i odebrania pierwszego bloku danych wysyłanych przez aplikację kliencką. |
BeginAccept(Socket, Int32, AsyncCallback, Object) |
Rozpoczyna operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego z określonego gniazda i odbiera pierwszy blok danych wysyłanych przez aplikację kliencką. |
BeginConnect(EndPoint, AsyncCallback, Object) |
Rozpoczyna asynchroniczne żądanie połączenia hosta zdalnego. |
BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Rozpoczyna asynchroniczne żądanie połączenia hosta zdalnego. Host jest określony przez IPAddress numer portu i . |
BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Rozpoczyna asynchroniczne żądanie połączenia hosta zdalnego. Host jest określany przez tablicę IPAddress i numer portu. |
BeginConnect(String, Int32, AsyncCallback, Object) |
Rozpoczyna asynchroniczne żądanie połączenia hosta zdalnego. Host jest określany przez nazwę hosta i numer portu. |
BeginDisconnect(Boolean, AsyncCallback, Object) |
Rozpoczyna żądanie asynchroniczne, aby odłączyć się od zdalnego punktu końcowego. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Zaczyna asynchronicznie odbierać dane z połączonego elementu Socket. |
BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Zaczyna asynchronicznie odbierać dane z połączonego elementu Socket. |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Zaczyna asynchronicznie odbierać dane z połączonego elementu Socket. |
BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Zaczyna asynchronicznie odbierać dane z połączonego elementu Socket. |
BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Zaczyna asynchronicznie odbierać dane z określonego urządzenia sieciowego. |
BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Zaczyna asynchronicznie odbierać określoną liczbę bajtów danych do określonej lokalizacji buforu danych przy użyciu określonej wartości SocketFlagsi przechowuje informacje o punkcie końcowym i pakiecie. |
BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Wysyła dane asynchronicznie do połączonego Socketelementu . |
BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Wysyła dane asynchronicznie do połączonego Socketelementu . |
BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Wysyła dane asynchronicznie do połączonego Socketelementu . |
BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Wysyła dane asynchronicznie do połączonego Socketelementu . |
BeginSendFile(String, AsyncCallback, Object) |
Wysyła plik |
BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object) |
Wysyła plik i bufory danych asynchronicznie do połączonego Socket obiektu. |
BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Wysyła dane asynchronicznie do określonego hosta zdalnego. |
Bind(EndPoint) |
Kojarzy element Socket z lokalnym punktem końcowym. |
CancelConnectAsync(SocketAsyncEventArgs) |
Anuluje żądanie asynchroniczne dla połączenia hosta zdalnego. |
Close() |
Socket Zamyka połączenie i zwalnia wszystkie skojarzone zasoby. |
Close(Int32) |
Socket Zamyka połączenie i zwalnia wszystkie skojarzone zasoby z określonym limitem czasu, aby zezwolić na wysyłanie danych w kolejce. |
Connect(EndPoint) |
Ustanawia połączenie z hostem zdalnym. |
Connect(IPAddress, Int32) |
Ustanawia połączenie z hostem zdalnym. Host jest określony przez adres IP i numer portu. |
Connect(IPAddress[], Int32) |
Ustanawia połączenie z hostem zdalnym. Host jest określany przez tablicę adresów IP i numer portu. |
Connect(String, Int32) |
Ustanawia połączenie z hostem zdalnym. Host jest określany przez nazwę hosta i numer portu. |
ConnectAsync(EndPoint) |
Ustanawia połączenie z hostem zdalnym. |
ConnectAsync(EndPoint, CancellationToken) |
Ustanawia połączenie z hostem zdalnym. |
ConnectAsync(IPAddress, Int32) |
Ustanawia połączenie z hostem zdalnym. |
ConnectAsync(IPAddress, Int32, CancellationToken) |
Ustanawia połączenie z hostem zdalnym. |
ConnectAsync(IPAddress[], Int32) |
Ustanawia połączenie z hostem zdalnym. |
ConnectAsync(IPAddress[], Int32, CancellationToken) |
Ustanawia połączenie z hostem zdalnym. |
ConnectAsync(SocketAsyncEventArgs) |
Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym. |
ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym. |
ConnectAsync(String, Int32) |
Ustanawia połączenie z hostem zdalnym. |
ConnectAsync(String, Int32, CancellationToken) |
Ustanawia połączenie z hostem zdalnym. |
Disconnect(Boolean) |
Zamyka połączenie gniazda i umożliwia ponowne użycie gniazda. |
DisconnectAsync(Boolean, CancellationToken) |
Odłącza podłączone gniazdo od hosta zdalnego. |
DisconnectAsync(SocketAsyncEventArgs) |
Rozpoczyna żądanie asynchroniczne, aby odłączyć się od zdalnego punktu końcowego. |
Dispose() |
Zwalnia wszystkie zasoby używane przez bieżące wystąpienie klasy Socket. |
Dispose(Boolean) |
Zwalnia niezarządzane zasoby używane przez Socketprogram i opcjonalnie usuwa zasoby zarządzane. |
DuplicateAndClose(Int32) |
Duplikuje odwołanie gniazda dla procesu docelowego i zamyka gniazdo dla tego procesu. |
EndAccept(Byte[], IAsyncResult) |
Asynchronicznie akceptuje próbę połączenia przychodzącego i tworzy nowy Socket obiekt do obsługi komunikacji z hostem zdalnym. Ta metoda zwraca bufor zawierający dane początkowe przesyłane. |
EndAccept(Byte[], Int32, IAsyncResult) |
Asynchronicznie akceptuje próbę połączenia przychodzącego i tworzy nowy Socket obiekt do obsługi komunikacji z hostem zdalnym. Ta metoda zwraca bufor zawierający dane początkowe i liczbę przetransferowanych bajtów. |
EndAccept(IAsyncResult) |
Asynchronicznie akceptuje próbę połączenia przychodzącego i tworzy nowy Socket do obsługi komunikacji z hostem zdalnym. |
EndConnect(IAsyncResult) |
Kończy oczekujące żądanie połączenia asynchronicznego. |
EndDisconnect(IAsyncResult) |
Kończy oczekujące żądanie asynchronicznego rozłączenia. |
EndReceive(IAsyncResult) |
Kończy oczekujący odczyt asynchroniczny. |
EndReceive(IAsyncResult, SocketError) |
Kończy oczekujący odczyt asynchroniczny. |
EndReceiveFrom(IAsyncResult, EndPoint) |
Kończy oczekujący asynchroniczny odczyt z określonego punktu końcowego. |
EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) |
Kończy oczekujący asynchroniczny odczyt z określonego punktu końcowego. Ta metoda ujawnia również więcej informacji o pakiecie niż EndReceiveFrom(IAsyncResult, EndPoint). |
EndSend(IAsyncResult) |
Kończy oczekujące wysyłanie asynchroniczne. |
EndSend(IAsyncResult, SocketError) |
Kończy oczekujące wysyłanie asynchroniczne. |
EndSendFile(IAsyncResult) |
Kończy oczekujące asynchroniczne wysyłanie pliku. |
EndSendTo(IAsyncResult) |
Kończy oczekujące asynchroniczne wysyłanie do określonej lokalizacji. |
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
Finalize() |
Zwalnia zasoby używane przez klasę Socket . |
GetHashCode() |
Zwraca wartość skrótu Socket dla wystąpienia. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetRawSocketOption(Int32, Int32, Span<Byte>) |
Pobiera wartość opcji gniazda przy użyciu identyfikatorów nazw i poziomów specyficznych dla platformy. |
GetSocketOption(SocketOptionLevel, SocketOptionName) |
Zwraca wartość określonej Socket opcji reprezentowanej jako obiekt. |
GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Zwraca określone Socket ustawienie opcji reprezentowane jako tablica bajtów. |
GetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Zwraca wartość określonej Socket opcji w tablicy. |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
IOControl(Int32, Byte[], Byte[]) |
Ustawia tryby operacyjne niskiego poziomu dla Socket użycia kodów kontrolnych liczbowych. |
IOControl(IOControlCode, Byte[], Byte[]) |
Ustawia tryby operacyjne niskiego poziomu dla Socket funkcji przy użyciu wyliczenia IOControlCode w celu określenia kodów kontrolnych. |
Listen() |
Socket Places w stanie nasłuchiwania. |
Listen(Int32) |
Socket Places w stanie nasłuchiwania. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
Poll(Int32, SelectMode) |
Określa stan obiektu Socket. |
Poll(TimeSpan, SelectMode) |
Określa stan obiektu Socket. |
Receive(Byte[]) |
Odbiera dane z powiązanego Socket do buforu odbierania. |
Receive(Byte[], Int32, Int32, SocketFlags) |
Odbiera określoną liczbę bajtów od powiązanej Socket do określonej pozycji przesunięcia buforu odbierania przy użyciu określonego SocketFlagsparametru . |
Receive(Byte[], Int32, Int32, SocketFlags, SocketError) |
Odbiera dane z powiązanego Socket do buforu odbierania przy użyciu określonego SocketFlagselementu . |
Receive(Byte[], Int32, SocketFlags) |
Odbiera określoną liczbę bajtów danych z powiązanego Socket do buforu odbierania przy użyciu określonego SocketFlagselementu . |
Receive(Byte[], SocketFlags) |
Odbiera dane z powiązanego Socket do buforu odbierania przy użyciu określonego SocketFlagselementu . |
Receive(IList<ArraySegment<Byte>>) |
Odbiera dane z powiązanej Socket listy buforów odbierania. |
Receive(IList<ArraySegment<Byte>>, SocketFlags) |
Odbiera dane z powiązanej Socket listy buforów odbierania przy użyciu określonego SocketFlagselementu . |
Receive(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Odbiera dane z powiązanej Socket listy buforów odbierania przy użyciu określonego SocketFlagselementu . |
Receive(Span<Byte>) |
Odbiera dane z powiązanego Socket do buforu odbierania. |
Receive(Span<Byte>, SocketFlags) |
Odbiera dane z powiązanego Socket do buforu odbierania przy użyciu określonego SocketFlagselementu . |
Receive(Span<Byte>, SocketFlags, SocketError) |
Odbiera dane z powiązanego Socket do buforu odbierania przy użyciu określonego SocketFlagselementu . |
ReceiveAsync(ArraySegment<Byte>) |
Odbiera dane z podłączonego gniazda. |
ReceiveAsync(ArraySegment<Byte>, SocketFlags) |
Odbiera dane z podłączonego gniazda. |
ReceiveAsync(IList<ArraySegment<Byte>>) |
Odbiera dane z podłączonego gniazda. |
ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags) |
Odbiera dane z podłączonego gniazda. |
ReceiveAsync(Memory<Byte>, CancellationToken) |
Odbiera dane z podłączonego gniazda. |
ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken) |
Odbiera dane z podłączonego gniazda. |
ReceiveAsync(SocketAsyncEventArgs) |
Rozpoczyna asynchroniczne żądanie odbierania danych z połączonego Socket obiektu. |
ReceiveFrom(Byte[], EndPoint) |
Odbiera datagram do buforu danych i przechowuje punkt końcowy. |
ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Odbiera określoną liczbę bajtów danych do określonej lokalizacji buforu danych przy użyciu określonej wartości SocketFlagsi przechowuje punkt końcowy. |
ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint) |
Odbiera określoną liczbę bajtów do buforu danych przy użyciu określonej wartości SocketFlagsi przechowuje punkt końcowy. |
ReceiveFrom(Byte[], SocketFlags, EndPoint) |
Odbiera datagram do buforu danych przy użyciu określonej wartości SocketFlagsi przechowuje punkt końcowy. |
ReceiveFrom(Span<Byte>, EndPoint) |
Odbiera datagram do buforu danych i przechowuje punkt końcowy. |
ReceiveFrom(Span<Byte>, SocketFlags, EndPoint) |
Odbiera datagram do buforu danych przy użyciu określonej wartości SocketFlagsi przechowuje punkt końcowy. |
ReceiveFrom(Span<Byte>, SocketFlags, SocketAddress) |
Odbiera datagram do buforu danych przy użyciu określonej wartości SocketFlagsi przechowuje punkt końcowy. |
ReceiveFromAsync(ArraySegment<Byte>, EndPoint) |
Odbiera dane i zwraca punkt końcowy hosta wysyłającego. |
ReceiveFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
Odbiera dane i zwraca punkt końcowy hosta wysyłającego. |
ReceiveFromAsync(Memory<Byte>, EndPoint, CancellationToken) |
Odbiera dane i zwraca punkt końcowy hosta wysyłającego. |
ReceiveFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken) |
Odbiera dane i zwraca punkt końcowy hosta wysyłającego. |
ReceiveFromAsync(Memory<Byte>, SocketFlags, SocketAddress, CancellationToken) |
Odbiera datagram do buforu danych przy użyciu określonej wartości SocketFlagsi przechowuje punkt końcowy. |
ReceiveFromAsync(SocketAsyncEventArgs) |
Zaczyna asynchronicznie odbierać dane z określonego urządzenia sieciowego. |
ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation) |
Odbiera określoną liczbę bajtów danych do określonej lokalizacji buforu danych przy użyciu określonej wartości SocketFlagsi przechowuje informacje o punkcie końcowym i pakiecie. |
ReceiveMessageFrom(Span<Byte>, SocketFlags, EndPoint, IPPacketInformation) |
Odbiera określoną liczbę bajtów danych do określonej lokalizacji buforu danych przy użyciu określonej wartości |
ReceiveMessageFromAsync(ArraySegment<Byte>, EndPoint) |
Odbiera dane i zwraca dodatkowe informacje o nadawcy wiadomości. |
ReceiveMessageFromAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
Odbiera dane i zwraca dodatkowe informacje o nadawcy wiadomości. |
ReceiveMessageFromAsync(Memory<Byte>, EndPoint, CancellationToken) |
Odbiera dane i zwraca dodatkowe informacje o nadawcy wiadomości. |
ReceiveMessageFromAsync(Memory<Byte>, SocketFlags, EndPoint, CancellationToken) |
Odbiera dane i zwraca dodatkowe informacje o nadawcy wiadomości. |
ReceiveMessageFromAsync(SocketAsyncEventArgs) |
Zaczyna asynchronicznie odbierać określoną liczbę bajtów danych do określonej lokalizacji w buforze danych przy użyciu określonej wartości SocketFlagsi przechowuje informacje o punkcie końcowym i pakiecie. |
Select(IList, IList, IList, Int32) |
Określa stan co najmniej jednego gniazda. |
Select(IList, IList, IList, TimeSpan) |
Określa stan co najmniej jednego gniazda. |
Send(Byte[]) |
Wysyła dane do połączonego Socket. |
Send(Byte[], Int32, Int32, SocketFlags) |
Wysyła określoną liczbę bajtów danych do połączonego Socket, zaczynając od określonego przesunięcia i używając określonego SocketFlags. |
Send(Byte[], Int32, Int32, SocketFlags, SocketError) |
Wysyła określoną liczbę bajtów danych do połączonego Socket, zaczynając od określonego przesunięcia i używając określonego SocketFlags. |
Send(Byte[], Int32, SocketFlags) |
Wysyła określoną liczbę bajtów danych do połączonego Socketobiektu przy użyciu określonego SocketFlagselementu . |
Send(Byte[], SocketFlags) |
Wysyła dane do połączonego Socket przy użyciu określonego SocketFlagselementu . |
Send(IList<ArraySegment<Byte>>) |
Wysyła zestaw buforów na liście do połączonego Socketelementu . |
Send(IList<ArraySegment<Byte>>, SocketFlags) |
Wysyła zestaw buforów na liście do połączonego Socketelementu , przy użyciu określonego SocketFlagselementu . |
Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Wysyła zestaw buforów na liście do połączonego Socketelementu , przy użyciu określonego SocketFlagselementu . |
Send(ReadOnlySpan<Byte>) |
Wysyła dane do połączonego Socket. |
Send(ReadOnlySpan<Byte>, SocketFlags) |
Wysyła dane do połączonego Socket przy użyciu określonego SocketFlagselementu . |
Send(ReadOnlySpan<Byte>, SocketFlags, SocketError) |
Wysyła dane do połączonego Socket przy użyciu określonego SocketFlagselementu . |
SendAsync(ArraySegment<Byte>) |
Wysyła dane do połączonego gniazda. |
SendAsync(ArraySegment<Byte>, SocketFlags) |
Wysyła dane do połączonego gniazda. |
SendAsync(IList<ArraySegment<Byte>>) |
Wysyła dane do połączonego gniazda. |
SendAsync(IList<ArraySegment<Byte>>, SocketFlags) |
Wysyła dane do połączonego gniazda. |
SendAsync(ReadOnlyMemory<Byte>, CancellationToken) |
Wysyła dane do połączonego gniazda. |
SendAsync(ReadOnlyMemory<Byte>, SocketFlags, CancellationToken) |
Wysyła dane do połączonego gniazda. |
SendAsync(SocketAsyncEventArgs) |
Wysyła dane asynchronicznie do połączonego Socket obiektu. |
SendFile(String) |
Wysyła plik |
SendFile(String, Byte[], Byte[], TransmitFileOptions) |
Wysyła plik |
SendFile(String, ReadOnlySpan<Byte>, ReadOnlySpan<Byte>, TransmitFileOptions) |
Wysyła plik |
SendFileAsync(String, CancellationToken) |
Wysyła plik |
SendFileAsync(String, ReadOnlyMemory<Byte>, ReadOnlyMemory<Byte>, TransmitFileOptions, CancellationToken) |
Wysyła plik |
SendPacketsAsync(SocketAsyncEventArgs) |
Wysyła kolekcję plików lub buforów danych pamięci asynchronicznie do połączonego Socket obiektu. |
SendTo(Byte[], EndPoint) |
Wysyła dane do określonego punktu końcowego. |
SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Wysyła określoną liczbę bajtów danych do określonego punktu końcowego, zaczynając od określonej lokalizacji w buforze i używając określonej SocketFlagswartości . |
SendTo(Byte[], Int32, SocketFlags, EndPoint) |
Wysyła określoną liczbę bajtów danych do określonego punktu końcowego przy użyciu określonego SocketFlagselementu . |
SendTo(Byte[], SocketFlags, EndPoint) |
Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu . |
SendTo(ReadOnlySpan<Byte>, EndPoint) |
Wysyła dane do określonego punktu końcowego. |
SendTo(ReadOnlySpan<Byte>, SocketFlags, EndPoint) |
Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu . |
SendTo(ReadOnlySpan<Byte>, SocketFlags, SocketAddress) |
Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu . |
SendToAsync(ArraySegment<Byte>, EndPoint) |
Wysyła dane do określonego hosta zdalnego. |
SendToAsync(ArraySegment<Byte>, SocketFlags, EndPoint) |
Wysyła dane do określonego hosta zdalnego. |
SendToAsync(ReadOnlyMemory<Byte>, EndPoint, CancellationToken) |
Wysyła dane do określonego hosta zdalnego. |
SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, EndPoint, CancellationToken) |
Wysyła dane do określonego hosta zdalnego. |
SendToAsync(ReadOnlyMemory<Byte>, SocketFlags, SocketAddress, CancellationToken) |
Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu . |
SendToAsync(SocketAsyncEventArgs) |
Wysyła dane asynchronicznie do określonego hosta zdalnego. |
SetIPProtectionLevel(IPProtectionLevel) |
Ustawia poziom ochrony adresu IP na gniazdach. |
SetRawSocketOption(Int32, Int32, ReadOnlySpan<Byte>) |
Ustawia wartość opcji gniazda przy użyciu identyfikatorów nazw i poziomów specyficznych dla platformy. |
SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) |
Ustawia określoną Socket opcję na określoną Boolean wartość. |
SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Ustawia określoną opcję na określoną Socket wartość reprezentowaną jako tablica bajtów. |
SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Ustawia określoną Socket opcję na określoną wartość całkowitą. |
SetSocketOption(SocketOptionLevel, SocketOptionName, Object) |
Ustawia określoną opcję na określoną Socket wartość reprezentowaną jako obiekt. |
Shutdown(SocketShutdown) |
Wyłącza wysyłanie i odbieranie w obiekcie Socket. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
IDisposable.Dispose() |
Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Zwalnia wszelkie zasoby używane przez element Socket. |
Metody rozszerzania
AcceptAsync(Socket) |
Wykonuje operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego na gniazdach. |
AcceptAsync(Socket, Socket) |
Wykonuje operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego na gniazdach. |
ConnectAsync(Socket, EndPoint) |
Ustanawia połączenie z hostem zdalnym. |
ConnectAsync(Socket, EndPoint, CancellationToken) |
Ustanawia połączenie z hostem zdalnym. |
ConnectAsync(Socket, IPAddress, Int32) |
Ustanawia połączenie z hostem zdalnym. Host jest określony przez adres IP i numer portu. |
ConnectAsync(Socket, IPAddress, Int32, CancellationToken) |
Ustanawia połączenie z hostem zdalnym określonym przez adres IP i numer portu. |
ConnectAsync(Socket, IPAddress[], Int32) |
Ustanawia połączenie z hostem zdalnym. Host jest określany przez tablicę adresów IP i numer portu. |
ConnectAsync(Socket, IPAddress[], Int32, CancellationToken) |
Ustanawia połączenie z hostem zdalnym określonym przez tablicę adresów IP i numer portu. |
ConnectAsync(Socket, String, Int32) |
Ustanawia połączenie z hostem zdalnym. Host jest określany przez nazwę hosta i numer portu. |
ConnectAsync(Socket, String, Int32, CancellationToken) |
Ustanawia połączenie z hostem zdalnym określonym przez nazwę hosta i numer portu. |
ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags) |
Odbiera dane z podłączonego gniazda. |
ReceiveAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags) |
Odbiera dane z podłączonego gniazda. |
ReceiveAsync(Socket, Memory<Byte>, SocketFlags, CancellationToken) |
Odbiera dane z podłączonego gniazda. |
ReceiveFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Odbiera dane z określonego urządzenia sieciowego. |
ReceiveMessageFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Odbiera określoną liczbę bajtów danych do określonej lokalizacji buforu danych przy użyciu określonej wartości SocketFlagsi przechowuje informacje o punkcie końcowym i pakiecie. |
SendAsync(Socket, ArraySegment<Byte>, SocketFlags) |
Wysyła dane do połączonego gniazda. |
SendAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags) |
Wysyła dane do połączonego gniazda. |
SendAsync(Socket, ReadOnlyMemory<Byte>, SocketFlags, CancellationToken) |
Wysyła dane do połączonego gniazda. |
SendToAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Wysyła dane asynchronicznie do określonego hosta zdalnego. |
Dotyczy
Bezpieczeństwo wątkowe
Można bezpiecznie wykonać operację wysyłania i odbierania jednocześnie na Socket wystąpieniu, ale nie zaleca się jednoczesnego wystawiania wielu wywołań wysyłania lub odbierania wielu połączeń. W zależności od implementacji platformy bazowej może to prowadzić do niezamierzonego przeplatania danych dla dużych lub wielo buforowych wysyłania lub odbierania.
Zobacz też
- System.Net
- System.Net.Cache
- System.Net.Security
- SocketAsyncEventArgs
- Programowanie dla sieci w .NET Framework
- Najlepsze rozwiązania dotyczące klas System.Net
- Zarządzanie pamięcią podręczną dla aplikacji sieciowych
- Protokół IPv6
- Przykłady programowania sieciowego
- Śledzenie sieci w .NET Framework
- Zabezpieczenia w programowaniu sieciowym
- Ulepszenia wydajności gniazda w wersji 3.5