Socket.BeginAccept 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í.
Zahájí asynchronní operaci, která přijme příchozí pokus o připojení.
Přetížení
| Name | Description |
|---|---|
| BeginAccept(AsyncCallback, Object) |
Zahájí asynchronní operaci, která přijme příchozí pokus o připojení. |
| BeginAccept(Int32, AsyncCallback, Object) |
Zahájí asynchronní operaci, která přijme příchozí pokus o připojení a přijme první blok dat odesílaných klientskou aplikací. |
| BeginAccept(Socket, Int32, AsyncCallback, Object) |
Zahájí asynchronní operaci, která přijme příchozí pokus o připojení ze zadaného soketu a přijme první blok dat odeslaných klientskou aplikací. |
BeginAccept(AsyncCallback, Object)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní operaci, která přijme příchozí pokus o připojení.
public:
IAsyncResult ^ BeginAccept(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept(AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept(AsyncCallback callback, object state);
member this.BeginAccept : AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- callback
- AsyncCallback
Delegát.AsyncCallback
- state
- Object
Objekt, který obsahuje informace o stavu pro tento požadavek.
Návraty
Odkaz IAsyncResult na asynchronní Socket vytvoření.
Výjimky
Objekt Socket byl uzavřen.
Přijímající soket nenaslouchá připojení. Musíte zavolat Bind(EndPoint) a Listen(Int32) před voláním BeginAccept(AsyncCallback, Object).
nebo
Akceptovaná soket je svázaná.
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 Taskzákladech.
Protokoly orientované na připojení můžou metodu BeginAccept použít k zahájení přijímání příchozích pokusů o připojení. Před voláním BeginAccept metody musíte volat metodu Listen , která naslouchá příchozím požadavkům na připojení a zařadí se do fronty.
Můžete předat zpětné volání, které implementuje AsyncCallback , BeginAccept aby bylo možné dostávat oznámení o dokončení akceptace. Všimněte si, že pokud podkladový síťový zásobník dokončí operaci synchronně, může být zpětné volání spuštěno přímo během volání BeginAccept. V tomto případě bude vlastnost vrácena CompletedSynchronously nastavena tak, aby IAsyncResult indikovat, true že metoda byla dokončena synchronně.
AsyncState Použijte vlastnost IAsyncResult k získání objektu stavu předaného metoděBeginAccept.
Operace BeginAccept musí být dokončena voláním EndAccept metody. Metoda je obvykle vyvolána zadaným AsyncCallback delegátem. EndAccept zablokuje volající vlákno, dokud se operace nedokončila.
Chcete-li zrušit čekající volání metody BeginAccept , zavřete Socket. Close Je-li volána metoda, zatímco asynchronní operace probíhá, volá se zpětné volání poskytnuté metoděBeginAccept. Následné volání EndAccept metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) k označení, že operace byla zrušena.
Poznámka:
Vlastnost vrácených Socket položek můžete použít RemoteEndPoint k identifikaci síťové adresy a čísla portu vzdáleného hostitele.
Poznámka:
Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.
Poznámka:
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete 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 metoda, konkrétní Socket instance a konkrétní zpětné volání), následné použití tohoto kontextu uvidí zlepšení výkonu.
Viz také
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Příklad asynchronního klientského soketu
- Příklad asynchronního serverového soketu
Platí pro
BeginAccept(Int32, AsyncCallback, Object)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní operaci, která přijme příchozí pokus o připojení a přijme první blok dat odesílaných klientskou aplikací.
public:
IAsyncResult ^ BeginAccept(int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept(int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept(int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- receiveSize
- Int32
Počet bajtů, které chcete přijmout od odesílatele.
- callback
- AsyncCallback
Delegát.AsyncCallback
- state
- Object
Objekt, který obsahuje informace o stavu pro tento požadavek.
Návraty
Odkaz IAsyncResult na asynchronní Socket vytvoření.
Výjimky
Objekt Socket byl uzavřen.
Přijímající soket nenaslouchá připojení. Musíte zavolat Bind(EndPoint) a Listen(Int32) před voláním BeginAccept(AsyncCallback, Object).
nebo
Akceptovaná soket je svázaná.
receiveSize je menší než 0.
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 Taskzákladech.
Protokoly orientované na připojení můžou metodu BeginAccept použít k zahájení přijímání příchozích pokusů o připojení. Před voláním BeginAccept metody musíte volat metodu Listen , která naslouchá příchozím požadavkům na připojení a zařadí se do fronty.
Můžete předat zpětné volání, které implementuje AsyncCallback , BeginAccept aby bylo možné dostávat oznámení o dokončení akceptace. Všimněte si, že pokud podkladový síťový zásobník dokončí operaci synchronně, může být zpětné volání spuštěno přímo během volání BeginAccept. V tomto případě bude vlastnost vrácena CompletedSynchronously nastavena tak, aby IAsyncResult indikovat, true že metoda byla dokončena synchronně.
AsyncState Použijte vlastnost IAsyncResult k získání objektu stavu předaného metoděBeginAccept.
Operace BeginAccept musí být dokončena voláním EndAccept metody. Metoda je obvykle vyvolána zadaným AsyncCallback delegátem. EndAccept zablokuje volající vlákno, dokud se operace nedokončila.
Chcete-li zrušit čekající volání metody BeginAccept , zavřete Socket. Close Je-li volána metoda, zatímco asynchronní operace probíhá, volá se zpětné volání poskytnuté metoděBeginAccept. Následné volání EndAccept metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) k označení, že operace byla zrušena.
Poznámka:
Vlastnost vrácených Socket položek můžete použít RemoteEndPoint k identifikaci síťové adresy a čísla portu vzdáleného hostitele.
Poznámka:
Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.
Poznámka:
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete 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 metoda, konkrétní Socket instance a konkrétní zpětné volání), následné použití tohoto kontextu uvidí zlepšení výkonu.
Viz také
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Příklad asynchronního klientského soketu
- Příklad asynchronního serverového soketu
Platí pro
BeginAccept(Socket, Int32, AsyncCallback, Object)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní operaci, která přijme příchozí pokus o připojení ze zadaného soketu a přijme první blok dat odeslaných klientskou aplikací.
public:
IAsyncResult ^ BeginAccept(System::Net::Sockets::Socket ^ acceptSocket, int receiveSize, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginAccept(System.Net.Sockets.Socket? acceptSocket, int receiveSize, AsyncCallback? callback, object? state);
public IAsyncResult BeginAccept(System.Net.Sockets.Socket acceptSocket, int receiveSize, AsyncCallback callback, object state);
member this.BeginAccept : System.Net.Sockets.Socket * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginAccept (acceptSocket As Socket, receiveSize As Integer, callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- receiveSize
- Int32
Maximální počet bajtů, které se mají přijmout.
- callback
- AsyncCallback
Delegát.AsyncCallback
- state
- Object
Objekt, který obsahuje informace o stavu pro tento požadavek.
Návraty
Objekt IAsyncResult , který odkazuje na asynchronní Socket vytvoření objektu.
Výjimky
Objekt Socket byl uzavřen.
Přijímající soket nenaslouchá připojení. Musíte zavolat Bind(EndPoint) a Listen(Int32) před voláním BeginAccept(AsyncCallback, Object).
nebo
Akceptovaná soket je svázaná.
receiveSize je menší než 0.
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 Taskzákladech.
Protokoly orientované na připojení můžou metodu BeginAccept použít k zahájení přijímání příchozích pokusů o připojení. Výsledná operace přijetí je reprezentována vrácenou IAsyncResult operací, i když může být dokončena synchronně. Před voláním BeginAccept metody musíte volat metodu Listen , která naslouchá příchozím požadavkům na připojení a zařadí se do fronty.
Můžete předat zpětné volání, které implementuje AsyncCallback , BeginAccept aby bylo možné dostávat oznámení o dokončení akceptace. Všimněte si, že pokud podkladový síťový zásobník dokončí operaci synchronně, může být zpětné volání spuštěno přímo během volání BeginAccept. V tomto případě bude vlastnost vrácena CompletedSynchronously nastavena tak, aby IAsyncResult indikovat, true že metoda byla dokončena synchronně.
AsyncState Použijte vlastnost IAsyncResult k získání objektu stavu předaného metoděBeginAccept.
Operace BeginAccept musí být dokončena voláním EndAccept metody. Metoda je obvykle vyvolána zadaným AsyncCallback delegátem. EndAccept zablokuje volající vlákno, dokud se operace nedokončila.
Chcete-li zrušit čekající volání metody BeginAccept , zavřete Socket. Close Je-li volána metoda, zatímco asynchronní operace probíhá, volá se zpětné volání poskytnuté metoděBeginAccept. Následné volání EndAccept metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) k označení, že operace byla zrušena.
Poznámka:
Vlastnost vrácených Socket položek můžete použít RemoteEndPoint k identifikaci síťové adresy a čísla portu vzdáleného hostitele.
Poznámka:
Pokud se zobrazí kód SocketExceptionchyby, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.
Poznámka:
Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete 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 metoda, konkrétní Socket instance a konkrétní zpětné volání), následné použití tohoto kontextu uvidí zlepšení výkonu.
Viz také
- Listen(Int32)
- AsyncCallback
- EndAccept(IAsyncResult)
- Socket
- RemoteEndPoint
- Příklad asynchronního klientského soketu
- Příklad asynchronního serverového soketu