Socket.BeginReceive Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
- 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ě.
Socket byla uzavřena.
offset
je menší než 0.
-nebo-
offset
je 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é
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Zařazování delegáta jako metody zpětného volání
- Příklad asynchronního klientského soketu
- Příklad asynchronního serverového soketu
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
- 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ě.
Socket byla uzavřena.
offset
je menší než 0.
-nebo-
offset
je 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é
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Zařazování delegáta jako metody zpětného volání
- Příklad asynchronního klientského soketu
- Příklad asynchronního serverového soketu
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ě.
Socket byla uzavřena.
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é
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Zařazování delegáta jako metody zpětného volání
- Příklad asynchronního klientského soketu
- Příklad asynchronního serverového soketu
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ě.
Socket byla uzavřena.
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é
- EndAccept(IAsyncResult)
- AsyncCallback
- Connect(EndPoint)
- BeginReceiveFrom(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- Zařazování delegáta jako metody zpětného volání
- Příklad asynchronního klientského soketu
- Příklad asynchronního serverového soketu