Socket Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Implementerar Berkeley sockets-gränssnittet.
public ref class Socket : IDisposable
public class Socket : IDisposable
type Socket = class
interface IDisposable
Public Class Socket
Implements IDisposable
- Arv
-
Socket
- Implementeringar
Exempel
I följande exempel visas hur Socket klassen kan användas för att skicka data till en HTTP-server och skriva ut ASCII-svaret till standardutdata. Det här exemplet blockerar den anropande tråden tills hela sidan tas emot.
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);
}
}
I nästa exempel visas samma HTTP GET-scenario med hjälp av aktivitetsbaserade asynkrona API:er, samtidigt som en CancellationToken vidarebefordras till de asynkrona metoderna, vilket gör att hela åtgärden kancellable.
Tip
Sockets asynkrona metoder som inte tar en CancellationToken returnerar vanligtvis en Task, som allokeras på heapen. Cancellable-överlagringar returneras alltid ValueTask. Om du använder dem kan du minska allokeringarna i kod med höga prestanda.
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);
}
}
Kommentarer
Mer information om det här API:et finns i Kompletterande API-kommentarer för Socket.
Konstruktorer
| Name | Description |
|---|---|
| Socket(AddressFamily, SocketType, ProtocolType) |
Initierar en ny instans av Socket klassen med den angivna adressfamiljen, sockettypen och protokollet. |
| Socket(SocketInformation) |
Initierar en ny instans av Socket klassen med det angivna värdet som returneras från DuplicateAndClose(Int32). |
| Socket(SocketType, ProtocolType) |
Initierar en ny instans av Socket klassen med den angivna sockettypen och protokollet. Om operativsystemet stöder IPv6 skapar den här konstruktorn en socket med dubbla lägen. annars skapas en IPv4-socket. |
Egenskaper
| Name | Description |
|---|---|
| AddressFamily |
Hämtar adressfamiljen för Socket. |
| Available |
Hämtar den mängd data som har tagits emot från nätverket och är tillgänglig för läsning. |
| Blocking |
Hämtar eller anger ett värde som anger om Socket är i blockeringsläge. |
| Connected |
Hämtar ett värde som anger om en Socket är ansluten till en fjärrvärd från och med den senaste Send åtgärden eller Receive åtgärden. |
| DontFragment |
Hämtar eller anger ett värde som anger om Socket tillåtna IP-datagram (Internet Protocol) ska fragmenteras. |
| DualMode |
Hämtar eller anger ett värde som anger om Socket är en socket med dubbla lägen som används för både IPv4 och IPv6. |
| EnableBroadcast |
Hämtar eller anger ett Boolean värde som anger om Socket kan skicka sändningspaket. |
| ExclusiveAddressUse |
Hämtar eller anger ett värde som anger om endast Socket en process kan bindas till en port. |
| Handle |
Hämtar operativsystemets handtag för Socket. |
| IsBound |
Hämtar ett värde som anger om är bundet Socket till en specifik lokal port. |
| LingerState |
Hämtar eller anger ett värde som anger om kommer att fördröja stängningen Socket av en socket i ett försök att skicka alla väntande data. |
| LocalEndPoint |
Hämtar den lokala slutpunkten. |
| MulticastLoopback |
Hämtar eller anger ett värde som anger om utgående multicast-paket levereras till det sändande programmet. |
| NoDelay |
Hämtar eller anger ett Boolean värde som anger om strömmen Socket använder Nagle-algoritmen. |
| OSSupportsIPv4 |
Anger om det underliggande operativsystemet och nätverksadapter stöder Internet Protocol version 4 (IPv4). |
| OSSupportsIPv6 |
Anger om det underliggande operativsystemet och nätverksadapter stöder Internet Protocol version 6 (IPv6). |
| ProtocolType |
Hämtar protokolltypen för Socket. |
| ReceiveBufferSize |
Hämtar eller anger ett värde som anger storleken på mottagningsbufferten för Socket. |
| ReceiveTimeout |
Hämtar eller anger ett värde som anger hur lång tid ett synkront Receive anrop ska överskrida. |
| RemoteEndPoint |
Hämtar fjärrslutpunkten. |
| SendBufferSize |
Hämtar eller anger ett värde som anger storleken på sändningsbufferten för Socket. |
| SendTimeout |
Hämtar eller anger ett värde som anger hur lång tid ett synkront Send anrop ska överskrida. |
| SocketType |
Hämtar typen av Socket. |
| SupportsIPv4 |
Föråldrad.
Föråldrad.
Hämtar ett värde som anger om IPv4-stöd är tillgängligt och aktiverat på den aktuella värden. |
| SupportsIPv6 |
Föråldrad.
Föråldrad.
Hämtar ett värde som anger om ramverket stöder IPv6 för vissa föråldrade Dns medlemmar. |
| Ttl |
Hämtar eller anger ett värde som anger TTL-värdet (Time To Live) för IP-paket (Internet Protocol) som skickas av Socket. |
| UseOnlyOverlappedIO |
Hämtar eller anger ett värde som anger om socketen endast ska använda överlappat I/O-läge. På .NET 5+ (inklusive .NET Core-versioner) är värdet alltid |
Metoder
| Name | Description |
|---|---|
| Accept() |
Skapar en ny Socket för en nyligen skapad anslutning. |
| AcceptAsync(SocketAsyncEventArgs) |
Påbörjar en asynkron åtgärd för att acceptera ett inkommande anslutningsförsök. |
| BeginAccept(AsyncCallback, Object) |
Påbörjar en asynkron åtgärd för att acceptera ett inkommande anslutningsförsök. |
| BeginAccept(Int32, AsyncCallback, Object) |
Påbörjar en asynkron åtgärd för att acceptera ett inkommande anslutningsförsök och tar emot det första datablocket som skickas av klientprogrammet. |
| BeginAccept(Socket, Int32, AsyncCallback, Object) |
Påbörjar en asynkron åtgärd för att acceptera ett inkommande anslutningsförsök från en angiven socket och tar emot det första datablocket som skickas av klientprogrammet. |
| BeginConnect(EndPoint, AsyncCallback, Object) |
Påbörjar en asynkron begäran om en fjärrvärdanslutning. |
| BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Påbörjar en asynkron begäran om en fjärrvärdanslutning. Värden anges av ett IPAddress och ett portnummer. |
| BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Påbörjar en asynkron begäran om en fjärrvärdanslutning. Värden anges av en IPAddress matris och ett portnummer. |
| BeginConnect(String, Int32, AsyncCallback, Object) |
Påbörjar en asynkron begäran om en fjärrvärdanslutning. Värden anges med ett värdnamn och ett portnummer. |
| BeginDisconnect(Boolean, AsyncCallback, Object) |
Påbörjar en asynkron begäran om att koppla från en fjärrslutpunkt. |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Börjar asynkront ta emot data från en ansluten Socket. |
| BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Börjar asynkront ta emot data från en ansluten Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Börjar asynkront ta emot data från en ansluten Socket. |
| BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Börjar asynkront ta emot data från en ansluten Socket. |
| BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Börjar asynkront ta emot data från en angiven nätverksenhet. |
| BeginReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Börjar asynkront ta emot det angivna antalet byte data till den angivna platsen för databufferten med hjälp av den angivna SocketFlagsoch lagrar slutpunkts- och paketinformationen. |
| BeginSend(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object) |
Skickar data asynkront till en ansluten Socket. |
| BeginSend(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object) |
Skickar data asynkront till en ansluten Socket. |
| BeginSend(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object) |
Skickar data asynkront till en ansluten Socket. |
| BeginSend(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object) |
Skickar data asynkront till en ansluten Socket. |
| BeginSendFile(String, AsyncCallback, Object) |
Skickar filen |
| BeginSendFile(String, Byte[], Byte[], TransmitFileOptions, AsyncCallback, Object) |
Skickar en fil och buffertar av data asynkront till ett anslutet Socket objekt. |
| BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object) |
Skickar data asynkront till en specifik fjärrvärd. |
| Bind(EndPoint) |
Associerar en Socket med en lokal slutpunkt. |
| CancelConnectAsync(SocketAsyncEventArgs) |
Avbryter en asynkron begäran om en fjärrvärdanslutning. |
| Close() |
Stänger Socket anslutningen och släpper alla associerade resurser. |
| Close(Int32) |
Stänger Socket anslutningen och släpper alla associerade resurser med en angiven tidsgräns för att tillåta att köade data skickas. |
| Connect(EndPoint) |
Upprättar en anslutning till en fjärrvärd. |
| Connect(IPAddress, Int32) |
Upprättar en anslutning till en fjärrvärd. Värden anges av en IP-adress och ett portnummer. |
| Connect(IPAddress[], Int32) |
Upprättar en anslutning till en fjärrvärd. Värden anges av en matris med IP-adresser och ett portnummer. |
| Connect(String, Int32) |
Upprättar en anslutning till en fjärrvärd. Värden anges med ett värdnamn och ett portnummer. |
| ConnectAsync(SocketAsyncEventArgs) |
Påbörjar en asynkron begäran om en anslutning till en fjärrvärd. |
| ConnectAsync(SocketType, ProtocolType, SocketAsyncEventArgs) |
Påbörjar en asynkron begäran om en anslutning till en fjärrvärd. |
| Disconnect(Boolean) |
Stänger socketanslutningen och tillåter återanvändning av socketen. |
| DisconnectAsync(SocketAsyncEventArgs) |
Påbörjar en asynkron begäran om att koppla från en fjärrslutpunkt. |
| Dispose() |
Släpper alla resurser som används av den aktuella instansen Socket av klassen. |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av Socket, och om du vill kan du ta bort de hanterade resurserna. |
| DuplicateAndClose(Int32) |
Duplicerar socketreferensen för målprocessen och stänger socketen för den här processen. |
| EndAccept(Byte[], IAsyncResult) |
Accepterar asynkront ett inkommande anslutningsförsök och skapar ett nytt Socket objekt för att hantera fjärrvärdkommunikation. Den här metoden returnerar en buffert som innehåller de initiala data som överförs. |
| EndAccept(Byte[], Int32, IAsyncResult) |
Accepterar asynkront ett inkommande anslutningsförsök och skapar ett nytt Socket objekt för att hantera fjärrvärdkommunikation. Den här metoden returnerar en buffert som innehåller initiala data och antalet byte som överförs. |
| EndAccept(IAsyncResult) |
Accepterar asynkront ett inkommande anslutningsförsök och skapar en ny Socket för att hantera fjärrvärdkommunikation. |
| EndConnect(IAsyncResult) |
Avslutar en väntande asynkron anslutningsbegäran. |
| EndDisconnect(IAsyncResult) |
Avslutar en väntande asynkron frånkopplingsbegäran. |
| EndReceive(IAsyncResult, SocketError) |
Avslutar en väntande asynkron läsning. |
| EndReceive(IAsyncResult) |
Avslutar en väntande asynkron läsning. |
| EndReceiveFrom(IAsyncResult, EndPoint) |
Avslutar en väntande asynkron läsning från en specifik slutpunkt. |
| EndReceiveMessageFrom(IAsyncResult, SocketFlags, EndPoint, IPPacketInformation) |
Avslutar en väntande asynkron läsning från en specifik slutpunkt. Den här metoden visar också mer information om paketet än EndReceiveFrom(IAsyncResult, EndPoint). |
| EndSend(IAsyncResult, SocketError) |
Avslutar en väntande asynkron sändning. |
| EndSend(IAsyncResult) |
Avslutar en väntande asynkron sändning. |
| EndSendFile(IAsyncResult) |
Avslutar en väntande asynkron sändning av en fil. |
| EndSendTo(IAsyncResult) |
Avslutar en väntande asynkron sändning till en specifik plats. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| Finalize() |
Frigör resurser som används av Socket klassen. |
| GetHashCode() |
Returnerar ett hash-värde för en Socket instans. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Returnerar den angivna Socket alternativinställningen, som representeras som en bytematris. |
| GetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Returnerar värdet för det angivna Socket alternativet i en matris. |
| GetSocketOption(SocketOptionLevel, SocketOptionName) |
Returnerar värdet för ett angivet Socket alternativ, som representeras som ett objekt. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| IOControl(Int32, Byte[], Byte[]) |
Anger driftlägen på låg nivå för användning av Socket numeriska kontrollkoder. |
| IOControl(IOControlCode, Byte[], Byte[]) |
Anger driftlägen på Socket låg nivå för att använda IOControlCode uppräkningen för att ange kontrollkoder. |
| Listen(Int32) |
Placerar en Socket i ett lyssningstillstånd. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| Poll(Int32, SelectMode) |
Avgör statusen för Socket. |
| Receive(Byte[], Int32, Int32, SocketFlags, SocketError) |
Tar emot data från en bindning Socket till en mottagningsbuffert med den angivna SocketFlags. |
| Receive(Byte[], Int32, Int32, SocketFlags) |
Tar emot det angivna antalet byte från en bunden Socket till den angivna förskjutningspositionen för mottagningsbufferten med hjälp av den angivna SocketFlags. |
| Receive(Byte[], Int32, SocketFlags) |
Tar emot det angivna antalet byte data från en bindning Socket till en mottagningsbuffert med den angivna SocketFlags. |
| Receive(Byte[], SocketFlags) |
Tar emot data från en bindning Socket till en mottagningsbuffert med den angivna SocketFlags. |
| Receive(Byte[]) |
Tar emot data från en bindning Socket till en mottagningsbuffert. |
| Receive(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Tar emot data från en bindning Socket till listan över mottagningsbuffertar med hjälp av den angivna SocketFlags. |
| Receive(IList<ArraySegment<Byte>>, SocketFlags) |
Tar emot data från en bindning Socket till listan över mottagningsbuffertar med hjälp av den angivna SocketFlags. |
| Receive(IList<ArraySegment<Byte>>) |
Tar emot data från en bindning Socket till listan över mottagningsbuffertar. |
| Receive(Span<Byte>, SocketFlags, SocketError) |
Tar emot data från en bindning Socket till en mottagningsbuffert med den angivna SocketFlags. |
| Receive(Span<Byte>, SocketFlags) |
Tar emot data från en bindning Socket till en mottagningsbuffert med den angivna SocketFlags. |
| Receive(Span<Byte>) |
Tar emot data från en bindning Socket till en mottagningsbuffert. |
| ReceiveAsync(SocketAsyncEventArgs) |
Påbörjar en asynkron begäran om att ta emot data från ett anslutet Socket objekt. |
| ReceiveFrom(Byte[], EndPoint) |
Tar emot ett datagram till databufferten och lagrar slutpunkten. |
| ReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Tar emot det angivna antalet byte med data till den angivna platsen för databufferten med hjälp av den angivna SocketFlagsoch lagrar slutpunkten. |
| ReceiveFrom(Byte[], Int32, SocketFlags, EndPoint) |
Tar emot det angivna antalet byte i databufferten med den angivna SocketFlagsoch lagrar slutpunkten. |
| ReceiveFrom(Byte[], SocketFlags, EndPoint) |
Tar emot ett datagram till databufferten med den angivna SocketFlagsoch lagrar slutpunkten. |
| ReceiveFromAsync(SocketAsyncEventArgs) |
Börjar asynkront ta emot data från en angiven nätverksenhet. |
| ReceiveMessageFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, IPPacketInformation) |
Tar emot det angivna antalet byte med data till den angivna platsen för databufferten med hjälp av den angivna SocketFlagsoch lagrar slutpunkts- och paketinformationen. |
| ReceiveMessageFromAsync(SocketAsyncEventArgs) |
Börjar asynkront ta emot det angivna antalet byte data till den angivna platsen i databufferten med hjälp av angiven SocketFlagsoch lagrar slutpunkts- och paketinformationen. |
| Select(IList, IList, IList, Int32) |
Avgör statusen för en eller flera socketar. |
| Send(Byte[], Int32, Int32, SocketFlags, SocketError) |
Skickar det angivna antalet byte med data till en ansluten Socket, med början vid den angivna förskjutningen och med den angivna SocketFlags. |
| Send(Byte[], Int32, Int32, SocketFlags) |
Skickar det angivna antalet byte med data till en ansluten Socket, med början vid den angivna förskjutningen och med den angivna SocketFlags. |
| Send(Byte[], Int32, SocketFlags) |
Skickar det angivna antalet byte med data till en ansluten Socket, med den angivna SocketFlags. |
| Send(Byte[], SocketFlags) |
Skickar data till en ansluten Socket med den angivna SocketFlags. |
| Send(Byte[]) |
Skickar data till en ansluten Socket. |
| Send(IList<ArraySegment<Byte>>, SocketFlags, SocketError) |
Skickar uppsättningen buffertar i listan till en ansluten Socket, med den angivna SocketFlags. |
| Send(IList<ArraySegment<Byte>>, SocketFlags) |
Skickar uppsättningen buffertar i listan till en ansluten Socket, med den angivna SocketFlags. |
| Send(IList<ArraySegment<Byte>>) |
Skickar uppsättningen buffertar i listan till en ansluten Socket. |
| Send(ReadOnlySpan<Byte>, SocketFlags, SocketError) |
Skickar data till en ansluten Socket med den angivna SocketFlags. |
| Send(ReadOnlySpan<Byte>, SocketFlags) |
Skickar data till en ansluten Socket med den angivna SocketFlags. |
| Send(ReadOnlySpan<Byte>) |
Skickar data till en ansluten Socket. |
| SendAsync(SocketAsyncEventArgs) |
Skickar data asynkront till ett anslutet Socket objekt. |
| SendFile(String, Byte[], Byte[], TransmitFileOptions) |
Skickar filen |
| SendFile(String) |
Skickar filen |
| SendPacketsAsync(SocketAsyncEventArgs) |
Skickar en samling filer eller i minnesdata buffrar asynkront till ett anslutet Socket objekt. |
| SendTo(Byte[], EndPoint) |
Skickar data till den angivna slutpunkten. |
| SendTo(Byte[], Int32, Int32, SocketFlags, EndPoint) |
Skickar det angivna antalet byte med data till den angivna slutpunkten, med början på den angivna platsen i bufferten och med den angivna SocketFlags. |
| SendTo(Byte[], Int32, SocketFlags, EndPoint) |
Skickar det angivna antalet byte med data till den angivna slutpunkten med den angivna SocketFlags. |
| SendTo(Byte[], SocketFlags, EndPoint) |
Skickar data till en specifik slutpunkt med den angivna SocketFlags. |
| SendToAsync(SocketAsyncEventArgs) |
Skickar data asynkront till en specifik fjärrvärd. |
| SetIPProtectionLevel(IPProtectionLevel) |
Anger IP-skyddsnivån på en socket. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Boolean) |
Anger det angivna Socket alternativet till det angivna Boolean värdet. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]) |
Anger det angivna Socket alternativet till det angivna värdet, som representeras som en bytematris. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Int32) |
Anger det angivna Socket alternativet till det angivna heltalsvärdet. |
| SetSocketOption(SocketOptionLevel, SocketOptionName, Object) |
Anger det angivna Socket alternativet till det angivna värdet, som representeras som ett objekt. |
| Shutdown(SocketShutdown) |
Inaktiverar skickar och tar emot på en Socket. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Detta API stöder produktinfrastrukturen och är inte avsett att användas direkt från koden. Släpper alla resurser som används av Socket. |
Tilläggsmetoder
| Name | Description |
|---|---|
| AcceptAsync(Socket, Socket) |
Utför en asynkron åtgärd på för att acceptera ett inkommande anslutningsförsök på socketen. |
| AcceptAsync(Socket) |
Utför en asynkron åtgärd på för att acceptera ett inkommande anslutningsförsök på socketen. |
| ConnectAsync(Socket, EndPoint) |
Upprättar en anslutning till en fjärrvärd. |
| ConnectAsync(Socket, IPAddress, Int32) |
Upprättar en anslutning till en fjärrvärd. Värden anges av en IP-adress och ett portnummer. |
| ConnectAsync(Socket, IPAddress[], Int32) |
Upprättar en anslutning till en fjärrvärd. Värden anges av en matris med IP-adresser och ett portnummer. |
| ConnectAsync(Socket, String, Int32) |
Upprättar en anslutning till en fjärrvärd. Värden anges med ett värdnamn och ett portnummer. |
| ReceiveAsync(Socket, ArraySegment<Byte>, SocketFlags) |
Tar emot data från en ansluten socket. |
| ReceiveAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags) |
Tar emot data från en ansluten socket. |
| ReceiveAsync(Socket, Memory<Byte>, SocketFlags, CancellationToken) |
Tar emot data från en ansluten socket. |
| ReceiveFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Tar emot data från en angiven nätverksenhet. |
| ReceiveMessageFromAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Tar emot det angivna antalet byte med data till den angivna platsen för databufferten med hjälp av den angivna SocketFlagsoch lagrar slutpunkts- och paketinformationen. |
| SendAsync(Socket, ArraySegment<Byte>, SocketFlags) |
Skickar data till en ansluten socket. |
| SendAsync(Socket, IList<ArraySegment<Byte>>, SocketFlags) |
Skickar data till en ansluten socket. |
| SendAsync(Socket, ReadOnlyMemory<Byte>, SocketFlags, CancellationToken) |
Skickar data till en ansluten socket. |
| SendToAsync(Socket, ArraySegment<Byte>, SocketFlags, EndPoint) |
Skickar data asynkront till en specifik fjärrvärd. |
Gäller för
Trådsäkerhet
Det är säkert att utföra en sändnings- och mottagningsåtgärd samtidigt på en Socket instans, men vi rekommenderar inte att du utfärdar flera sändnings- eller flera mottagningsanrop samtidigt. Beroende på den underliggande plattformsimplementeringen kan detta leda till oavsiktlig datainterfoliering för stora eller flera buffertsändningar eller mottagningar.
Se även
- System.Net
- System.Net.Cache
- System.Net.Security
- SocketAsyncEventArgs
- Nätverksprogrammering i .NET Framework
- Metodtips för System.Net klasser
- Cachehantering för nätverksprogram
- Internet Protocol version 6
- Exempel på nätverksprogrammering
- Nätverksspårning i .NET Framework
- Säkerhet i nätverksprogrammering
- Förbättringar av socketprestanda i version 3.5