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
Poniższy przykład kodu pokazuje, jak Socket klasa może służyć do wysyłania danych na serwer HTTP i odbierania odpowiedzi. Ten przykład blokuje odbieranie całej strony.
#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
Uwagi
Klasa Socket udostępnia bogaty zestaw metod i właściwości komunikacji sieciowej. Klasa Socket umożliwia wykonywanie zarówno synchronicznego, jak i asynchronicznego transferu danych przy użyciu dowolnego z protokołów komunikacyjnych wymienionych w wyliczaniu ProtocolType .
Klasa jest zgodna Socket ze wzorcem nazewnictwa .NET Framework dla metod asynchronicznych. Na przykład metoda synchroniczna odpowiada metodom asynchronicznym Receive BeginReceive i EndReceive metodom.
Jeśli aplikacja wymaga tylko jednego wątku podczas wykonywania, użyj następujących metod, które są przeznaczone do trybu operacji synchronicznej.
Jeśli używasz protokołu zorientowanego na połączenie, takiego jak TCP, serwer może nasłuchiwać połączeń przy użyciu Listen metody . Metoda Accept przetwarza wszystkie przychodzące żądania połączenia i zwraca Socket wartość, której można użyć do komunikowania się danych z hostem zdalnym. Użyj tego zwróconego Socket polecenia, aby wywołać metodę Send or Receive . Wywołaj metodę Bind przed wywołaniem Listen metody, jeśli chcesz określić lokalny adres IP i numer portu. Użyj numeru portu zero, jeśli chcesz, aby podstawowy dostawca usług przypisywać bezpłatny port. Jeśli chcesz nawiązać połączenie z hostem nasłuchiwania, wywołaj metodę Connect . Aby komunikować się z danymi, wywołaj metodę Send or Receive .
Jeśli używasz protokołu bez połączenia, takiego jak UDP, nie musisz w ogóle nasłuchiwać połączeń. Wywołaj metodę , ReceiveFrom aby zaakceptować wszystkie przychodzące datagramy. SendTo Użyj metody , aby wysyłać datagramy do hosta zdalnego.
Aby przetwarzać komunikację przy użyciu oddzielnych wątków podczas wykonywania, użyj następujących metod, które są przeznaczone do trybu operacji asynchronicznej.
Jeśli używasz protokołu zorientowanego na połączenie, takiego jak TCP, użyj Socketmetod , BeginConnecti EndConnect , aby nawiązać połączenie z hostem nasłuchiwania. Użyj metod BeginSend i i BeginReceive EndSend EndReceive, aby komunikować się z danymi asynchronicznie. Żądania połączeń przychodzących można przetwarzać przy użyciu metod BeginAccept i EndAccept.
Jeśli używasz protokołu bez połączenia, takiego jak UDP, możesz użyć BeginSendTo i EndSendTo wysłać datagramy oraz BeginReceiveFrom EndReceiveFrom odbierać datagramy.
Jeśli wykonujesz wiele operacji asynchronicznych na gniazdach, niekoniecznie są one wykonywane w kolejności, w której są uruchamiane.
Po zakończeniu wysyłania i odbierania danych użyj Shutdown metody , aby wyłączyć metodę Socket. Po wywołaniu wywołania Shutdownwywołaj metodę Close , aby zwolnić wszystkie zasoby skojarzone z elementem Socket.
Klasa Socket umożliwia skonfigurowanie Socket przy użyciu SetSocketOption metody . Pobierz te ustawienia przy użyciu GetSocketOption metody .
Uwaga
Jeśli piszesz stosunkowo prostą aplikację i nie wymagasz maksymalnej wydajności, rozważ użycie metody TcpClient, TcpListeneri UdpClient. Klasy te zapewniają prostszy i bardziej przyjazny dla użytkownika interfejs komunikacji Socket .
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, które zostały odebrane z sieci i jest dostępna do odczytu. |
| Blocking |
Pobiera lub ustawia wartość wskazującą, czy Socket element jest w trybie blokowania. |
| Connected |
Pobiera wartość wskazującą, czy 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ść, która określa rozmiar buforu odbioru .Socket |
| ReceiveTimeout |
Pobiera lub ustawia wartość określającą czas, po którym zostanie przekroczone limit czasu wywołania synchronicznego Receive . |
| RemoteEndPoint |
Pobiera zdalny punkt końcowy. |
| SafeHandle |
Pobiera obiekt SafeSocketHandle reprezentujący uchwyt gniazda, który jest hermetyzowany przez bieżący Socket obiekt. |
| SendBufferSize |
Pobiera lub ustawia wartość określającą rozmiar buforu wysyłania elementu Socket. |
| SendTimeout |
Pobiera lub ustawia wartość określającą czas, po którym upłynął limit czasu synchronicznego Send wywołania. |
| SocketType |
Pobiera typ elementu Socket. |
| SupportsIPv4 |
Nieaktualne.
Nieaktualne.
Nieaktualne.
Nieaktualne.
Pobiera wartość wskazującą, czy obsługa protokołu IPv4 jest dostępna i włączona na bieżącym hoście. |
| SupportsIPv6 |
Nieaktualne.
Nieaktualne.
Nieaktualne.
Nieaktualne.
Pobiera wartość wskazującą, czy platforma obsługuje protokół IPv6 dla niektórych przestarzałych elementów członkowskich Dns . |
| 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 |
Nieaktualne.
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) |
Rozpoczyna asynchronicznie odbierać dane z określonego urządzenia sieciowego. |
| BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Zaczyna asynchronicznie odbierać określoną liczbę bajtów danych do określonej lokalizacji bufora danych przy użyciu określonego SocketFlagsparametru i przechowuje informacje o punkcie końcowym i pakiecie. |
| BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Wysyła dane asynchronicznie do połączonego Socketelementu . |
| BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Wysyła dane asynchronicznie do połączonego Socketelementu . |
| BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Wysyła dane asynchronicznie do połączonego Socketelementu . |
| BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Wysyła dane asynchronicznie do połączonego Socketelementu . |
| BeginSendFile(String, AsyncCallback, Object) |
Wysyła plik |
| 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 wartość bieżącego wystąpienia. (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() |
Umieszcza element Socket w stanie nasłuchiwania. |
| Listen(Int32) |
Umieszcza element Socket 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) | |
| Receive(Byte[]) |
Odbiera dane z powiązanego Socket do buforu odbierania. |
| Receive(Byte[], Int32, Int32, SocketFlags) |
Odbiera określoną liczbę bajtów z powiązanej Socket do określonej pozycji przesunięcia bufora odbioru przy użyciu określonego SocketFlags. |
| Receive(Byte[], Int32, Int32, SocketFlags, SocketError) |
Odbiera dane z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlagselementu . |
| Receive(Byte[], Int32, SocketFlags) |
Odbiera określoną liczbę bajtów danych z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlags. |
| Receive(Byte[], SocketFlags) |
Odbiera dane z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlagselementu . |
| Receive(IList<ArraySegment<Byte>>) |
Odbiera dane z powiązanej Socket listy buforów odbioru. |
| Receive(IList<ArraySegment<Byte>>, SocketFlags) |
Odbiera dane z powiązanej Socket z listą buforów odbioru przy użyciu określonego SocketFlagselementu . |
| Receive(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Odbiera dane z powiązanej Socket z listą buforów odbioru przy użyciu określonego SocketFlagselementu . |
| Receive(Span<Byte>) |
Odbiera dane z powiązanego Socket do buforu odbioru. |
| Receive(Span<Byte>, SocketFlags) |
Odbiera dane z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlagselementu . |
| Receive(Span<Byte>, SocketFlags, SocketError) |
Odbiera dane z powiązanego Socket do bufora odbioru przy użyciu określonego SocketFlagselementu . |
| ReceiveAsync(ArraySegment<Byte>) |
Odbiera dane z podłączonego gniazda. |
| ReceiveAsync(ArraySegment<Byte>, SocketFlags) |
Odbiera dane z podłączonego gniazda. |
| ReceiveAsync(IList<ArraySegment<Byte>>) |
Odbiera dane z podłączonego gniazda. |
| ReceiveAsync(IList<ArraySegment<Byte>>, SocketFlags) |
Odbiera dane z podłączonego gniazda. |
| ReceiveAsync(Memory<Byte>, CancellationToken) |
Odbiera dane z podłączonego gniazda. |
| ReceiveAsync(Memory<Byte>, SocketFlags, CancellationToken) |
Odbiera dane z podłączonego gniazda. |
| ReceiveAsync(SocketAsyncEventArgs) |
Rozpoczyna asynchroniczne żądanie odbierania danych z połączonego Socket obiektu. |
| ReceiveFrom(Byte[], EndPoint) |
Odbiera datagram do buforu danych i przechowuje punkt końcowy. |
| ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Odbiera określoną liczbę bajtów danych do określonej lokalizacji bufora danych przy użyciu określonego SocketFlagselementu i przechowuje punkt końcowy. |
| ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint) |
Odbiera określoną liczbę bajtów do bufora danych przy użyciu określonego SocketFlagselementu i przechowuje punkt końcowy. |
| ReceiveFrom(Byte[], SocketFlags, EndPoint) |
Odbiera datagram do 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. |
| 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(SocketAsyncEventArgs) |
Rozpoczyna asynchronicznie odbierać dane z określonego urządzenia sieciowego. |
| ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation) |
Odbiera określoną liczbę bajtów danych do określonej lokalizacji 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 SocketFlagswartości i przechowuje informacje o punkcie końcowym i pakiecie. |
| Select(IList, IList, IList, Int32) |
Określa stan co najmniej jednego gniazda. |
| Select(IList, IList, IList, TimeSpan) | |
| 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 Socketobiektu , począwszy od określonego przesunięcia i przy użyciu określonego SocketFlags. |
| Send(Byte[], Int32, Int32, SocketFlags, SocketError) |
Wysyła określoną liczbę bajtów danych do połączonego 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 Socketobiektu przy użyciu określonego SocketFlagselementu . |
| Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Wysyła zestaw buforów na liście do połączonego Socketobiektu przy użyciu określonego SocketFlagselementu . |
| Send(ReadOnlySpan<Byte>) |
Wysyła dane do połączonego 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, począwszy od określonej lokalizacji w buforze i przy użyciu określonego SocketFlags. |
| SendTo(Byte[], Int32, SocketFlags, EndPoint) |
Wysyła określoną liczbę bajtów danych do określonego punktu końcowego przy użyciu określonego SocketFlagselementu . |
| SendTo(Byte[], SocketFlags, EndPoint) |
Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu . |
| SendTo(ReadOnlySpan<Byte>, EndPoint) |
Wysyła dane do określonego punktu końcowego. |
| SendTo(ReadOnlySpan<Byte>, SocketFlags, EndPoint) |
Wysyła dane do określonego punktu końcowego przy użyciu określonego SocketFlagselementu . |
| 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(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ą Socket opcję na określoną wartość reprezentowaną jako tablica bajtów. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Ustawia określoną Socket opcję na określoną wartość całkowitą. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Object) |
Ustawia określoną Socket opcję na określoną wartość reprezentowaną jako obiekt. |
| Shutdown(SocketShutdown) |
Wyłącza wysyłanie i odbieranie w obiekcie Socket. |
| ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
Jawne implementacje interfejsu
| IDisposable.Dispose() |
Ten interfejs API obsługuje infrastrukturę produktu i nie jest przeznaczony do użycia bezpośrednio z poziomu kodu. Zwalnia wszelkie zasoby używane przez element Socket. |
Metody rozszerzania
| AcceptAsync(Socket) |
Wykonuje operację asynchroniczną, aby zaakceptować próbę połączenia przychodzącego 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
Wystąpienia tej klasy są bezpieczne wątkami.
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