Sdílet prostřednictvím


Socket.BeginReceive Metoda

Definice

Začne asynchronně přijímat data z připojeného Socketobjektu .

Přetížení

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Začne asynchronně přijímat data z připojeného Socketobjektu .

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Začne asynchronně přijímat data z připojeného Socketobjektu .

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Začne asynchronně přijímat data z připojeného Socketobjektu .

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Začne asynchronně přijímat data z připojeného Socketobjektu .

BeginReceive(Byte[], Int32, Int32, SocketFlags, SocketError, AsyncCallback, Object)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Začne asynchronně přijímat data z připojeného Socketobjektu .

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

buffer
Byte[]

Pole typu Byte , které je umístěním úložiště pro přijatá data.

offset
Int32

Umístění pro buffer uložení přijatých dat.

size
Int32

Počet bajtů, které se mají přijmout.

socketFlags
SocketFlags

Bitové kombinace SocketFlags hodnot.

errorCode
SocketError

Objekt SocketError , který ukládá chybu soketu.

callback
AsyncCallback

Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení operace.

state
Object

Objekt definovaný uživatelem, který obsahuje informace o operaci příjmu. Po dokončení operace se tento objekt předá EndReceive(IAsyncResult) delegátu.

Návraty

Objekt IAsyncResult , který odkazuje na asynchronní čtení.

Výjimky

buffer je null.

Pouze rozhraní .NET Framework a .NET 5 a starší: Při pokusu o přístup k soketu došlo k chybě.

offset je menší než 0.

-nebo-

offsetje větší než délka .buffer

-nebo-

size je menší než 0.

-nebo-

size je větší než délka buffer minus hodnota parametru offset .

Poznámky

Důležité

Toto je rozhraní API pro kompatibilitu. Pro nový vývoj nedoporučujeme používat metody APM (Begin* a End*). Místo toho použijte ekvivalenty založené na Task.

Zpětné volání, které se implementuje AsyncCallback do BeginReceive , můžete předat, abyste dostali oznámení o dokončení operace. Všimněte si, že pokud podkladový síťový zásobník dokončí operaci synchronně, provede se zpětné volání přímo během volání nástroje BeginReceive. V tomto případě CompletedSynchronously bude vlastnost vrácena IAsyncResult na hodnotu, která true označuje, že metoda byla dokončena synchronně. AsyncState K získání objektu IAsyncResult stavu předaného metodě použijte vlastnost objektuBeginReceive.

Asynchronní BeginReceive operace musí být dokončena voláním EndReceive metody . Obvykle je metoda vyvolána delegátem AsyncCallback . EndReceive zablokuje volající vlákno, dokud se operace nedokonči.

Zavřete a Socket zrušte čekající operaci BeginReceive. Close Při volání metody, zatímco asynchronní operace probíhá, zpětné volání poskytnuté BeginReceive metodě je volána. Následné volání EndReceive metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) označující, že operace byla zrušena.

Poznámka

Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.

Poznámka

Všechny vstupně-výstupní operace iniciované daným vláknem se při ukončení vlákna zruší. Čekající asynchronní operace může selhat, pokud se vlákno ukončí před dokončením operace.

Poznámka

state je instance třídy definované uživatelem.

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Poznámka

Kontext spuštění (kontext zabezpečení, zosobněný uživatel a kontext volání) se ukládá do mezipaměti pro asynchronní Socket metody. Po prvním použití konkrétního kontextu (konkrétní asynchronní Socket metody, konkrétní Socket instance a konkrétního zpětného volání) se při následných použitích tohoto kontextu projeví zlepšení výkonu.

Viz také

Platí pro

BeginReceive(Byte[], Int32, Int32, SocketFlags, AsyncCallback, Object)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Začne asynchronně přijímat data z připojeného Socketobjektu .

public:
 IAsyncResult ^ BeginReceive(cli::array <System::Byte> ^ buffer, int offset, int size, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : byte[] * int * int * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffer As Byte(), offset As Integer, size As Integer, socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

buffer
Byte[]

Pole typu Byte , které je umístěním úložiště pro přijatá data.

offset
Int32

Pozice založená na nule v parametru buffer , na kterém se mají ukládat přijatá data.

size
Int32

Počet bajtů, které se mají přijmout.

socketFlags
SocketFlags

Bitové kombinace SocketFlags hodnot.

callback
AsyncCallback

Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení operace.

state
Object

Objekt definovaný uživatelem, který obsahuje informace o operaci příjmu. Po dokončení operace se tento objekt předá EndReceive(IAsyncResult) delegátu.

Návraty

Objekt IAsyncResult , který odkazuje na asynchronní čtení.

Výjimky

buffer je null.

Pouze rozhraní .NET Framework a .NET 5 a starší: Při pokusu o přístup k soketu došlo k chybě.

offset je menší než 0.

-nebo-

offsetje větší než délka .buffer

-nebo-

size je menší než 0.

-nebo-

size je větší než délka buffer minus hodnota parametru offset .

Poznámky

Důležité

Toto je rozhraní API pro kompatibilitu. Pro nový vývoj nedoporučujeme používat metody APM (Begin* a End*). Místo toho použijte ekvivalenty založené na Task.

Zpětné volání, které se implementuje AsyncCallback do BeginReceive , můžete předat, abyste dostali oznámení o dokončení operace. Všimněte si, že pokud podkladový síťový zásobník dokončí operaci synchronně, provede se zpětné volání přímo během volání nástroje BeginReceive. V tomto případě CompletedSynchronously bude vlastnost vrácena IAsyncResult na hodnotu, která true označuje, že metoda byla dokončena synchronně. AsyncState K získání objektu IAsyncResult stavu předaného metodě použijte vlastnost objektuBeginReceive.

Asynchronní BeginReceive operace musí být dokončena voláním EndReceive metody . Obvykle je metoda vyvolána delegátem AsyncCallback . EndReceive zablokuje volající vlákno, dokud se operace nedokonči.

Zavřete a Socket zrušte čekající operaci BeginReceive. Close Při volání metody, zatímco asynchronní operace probíhá, zpětné volání poskytnuté BeginReceive metodě je volána. Následné volání EndReceive metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) označující, že operace byla zrušena.

Poznámka

Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.

Poznámka

Všechny vstupně-výstupní operace iniciované daným vláknem se při ukončení vlákna zruší. Čekající asynchronní operace může selhat, pokud se vlákno ukončí před dokončením operace.

Poznámka

state je instance třídy definované uživatelem.

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Poznámka

Kontext spuštění (kontext zabezpečení, zosobněný uživatel a kontext volání) se ukládá do mezipaměti pro asynchronní Socket metody. Po prvním použití konkrétního kontextu (konkrétní asynchronní Socket metody, konkrétní Socket instance a konkrétního zpětného volání) se při následných použitích tohoto kontextu projeví zlepšení výkonu.

Viz také

Platí pro

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, AsyncCallback, Object)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Začne asynchronně přijímat data z připojeného Socketobjektu .

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

buffers
IList<ArraySegment<Byte>>

Pole typu Byte , které je umístěním úložiště pro přijatá data.

socketFlags
SocketFlags

Bitové kombinace SocketFlags hodnot.

callback
AsyncCallback

Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení operace.

state
Object

Objekt definovaný uživatelem, který obsahuje informace o operaci příjmu. Po dokončení operace se tento objekt předá EndReceive(IAsyncResult) delegátu.

Návraty

Objekt IAsyncResult , který odkazuje na asynchronní čtení.

Výjimky

buffer je null.

Pouze rozhraní .NET Framework a .NET 5 a starší: Při pokusu o přístup k soketu došlo k chybě.

Poznámky

Důležité

Toto je rozhraní API pro kompatibilitu. Pro nový vývoj nedoporučujeme používat metody APM (Begin* a End*). Místo toho použijte ekvivalenty založené na Task.

Zpětné volání, které se implementuje AsyncCallback do BeginReceive , můžete předat, abyste dostali oznámení o dokončení operace. Všimněte si, že pokud podkladový síťový zásobník dokončí operaci synchronně, provede se zpětné volání přímo během volání nástroje BeginReceive. V tomto případě CompletedSynchronously bude vlastnost vrácena IAsyncResult na hodnotu, která true označuje, že metoda byla dokončena synchronně. AsyncState K získání objektu IAsyncResult stavu předaného metodě použijte vlastnost objektuBeginReceive.

Asynchronní BeginReceive operace musí být dokončena voláním EndReceive metody . Obvykle je metoda vyvolána delegátem AsyncCallback . EndReceive zablokuje volající vlákno, dokud se operace nedokonči.

Zavřete a Socket zrušte čekající operaci BeginReceive. Close Při volání metody, zatímco asynchronní operace probíhá, zpětné volání poskytnuté BeginReceive metodě je volána. Následné volání EndReceive metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) označující, že operace byla zrušena.

Poznámka

Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.

Poznámka

Všechny vstupně-výstupní operace iniciované daným vláknem se při ukončení vlákna zruší. Čekající asynchronní operace může selhat, pokud se vlákno ukončí před dokončením operace.

Poznámka

state je instance třídy definované uživatelem.

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Poznámka

Kontext spuštění (kontext zabezpečení, zosobněný uživatel a kontext volání) se ukládá do mezipaměti pro asynchronní Socket metody. Po prvním použití konkrétního kontextu (konkrétní asynchronní Socket metody, konkrétní Socket instance a konkrétního zpětného volání) se při následných použitích tohoto kontextu projeví zlepšení výkonu.

Viz také

Platí pro

BeginReceive(IList<ArraySegment<Byte>>, SocketFlags, SocketError, AsyncCallback, Object)

Zdroj:
Socket.cs
Zdroj:
Socket.cs
Zdroj:
Socket.cs

Začne asynchronně přijímat data z připojeného Socketobjektu .

public:
 IAsyncResult ^ BeginReceive(System::Collections::Generic::IList<ArraySegment<System::Byte>> ^ buffers, System::Net::Sockets::SocketFlags socketFlags, [Runtime::InteropServices::Out] System::Net::Sockets::SocketError % errorCode, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult? BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback? callback, object? state);
public IAsyncResult BeginReceive (System.Collections.Generic.IList<ArraySegment<byte>> buffers, System.Net.Sockets.SocketFlags socketFlags, out System.Net.Sockets.SocketError errorCode, AsyncCallback callback, object state);
member this.BeginReceive : System.Collections.Generic.IList<ArraySegment<byte>> * System.Net.Sockets.SocketFlags * SocketError * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (buffers As IList(Of ArraySegment(Of Byte)), socketFlags As SocketFlags, ByRef errorCode As SocketError, callback As AsyncCallback, state As Object) As IAsyncResult

Parametry

buffers
IList<ArraySegment<Byte>>

Pole typu Byte , které je umístěním úložiště pro přijatá data.

socketFlags
SocketFlags

Bitové kombinace SocketFlags hodnot.

errorCode
SocketError

Objekt SocketError , který ukládá chybu soketu.

callback
AsyncCallback

Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení operace.

state
Object

Objekt definovaný uživatelem, který obsahuje informace o operaci příjmu. Po dokončení operace se tento objekt předá EndReceive(IAsyncResult) delegátu.

Návraty

Objekt IAsyncResult , který odkazuje na asynchronní čtení.

Výjimky

buffer je null.

Pouze rozhraní .NET Framework a .NET 5 a starší: Při pokusu o přístup k soketu došlo k chybě.

Poznámky

Důležité

Toto je rozhraní API pro kompatibilitu. Pro nový vývoj nedoporučujeme používat metody APM (Begin* a End*). Místo toho použijte ekvivalenty založené na Task.

Zpětné volání, které se implementuje AsyncCallback do BeginReceive , můžete předat, abyste dostali oznámení o dokončení operace. Všimněte si, že pokud podkladový síťový zásobník dokončí operaci synchronně, provede se zpětné volání přímo během volání nástroje BeginReceive. V tomto případě CompletedSynchronously bude vlastnost vrácena IAsyncResult na hodnotu, která true označuje, že metoda byla dokončena synchronně. AsyncState K získání objektu IAsyncResult stavu předaného metodě použijte vlastnost objektuBeginReceive.

Asynchronní BeginReceive operace musí být dokončena voláním EndReceive metody . Obvykle je metoda vyvolána delegátem AsyncCallback . EndReceive zablokuje volající vlákno, dokud se operace nedokonči.

Zavřete a Socket zrušte čekající operaci BeginReceive. Close Při volání metody, zatímco asynchronní operace probíhá, zpětné volání poskytnuté BeginReceive metodě je volána. Následné volání EndReceive metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) označující, že operace byla zrušena.

Poznámka

Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.

Poznámka

Všechny vstupně-výstupní operace iniciované daným vláknem se při ukončení vlákna zruší. Čekající asynchronní operace může selhat, pokud se vlákno ukončí před dokončením operace.

Poznámka

state je instance třídy definované uživatelem.

Poznámka

Tento člen poskytuje trasovací informace, když je ve vaší aplikaci povoleno trasování sítě. Další informace najdete v tématu Trasování sítě v rozhraní .NET Framework.

Poznámka

Kontext spuštění (kontext zabezpečení, zosobněný uživatel a kontext volání) se ukládá do mezipaměti pro asynchronní Socket metody. Po prvním použití konkrétního kontextu (konkrétní asynchronní Socket metody, konkrétní Socket instance a konkrétního zpětného volání) se při následných použitích tohoto kontextu projeví zlepšení výkonu.

Viz také

Platí pro