Sdílet prostřednictvím


Socket.BeginAccept Metoda

Definice

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é

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é

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

acceptSocket
Socket

Akceptované Socket objekty. Tato hodnota může být null.

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é

Platí pro