Socket.BeginConnect 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í požadavek na připojení ke vzdálenému hostiteli.
Přetížení
BeginConnect(EndPoint, AsyncCallback, Object) |
Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. |
BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. Hostitel je určen číslem IPAddress portu a . |
BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. Hostitel je určen polem IPAddress a číslem portu. |
BeginConnect(String, Int32, AsyncCallback, Object) |
Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. Hostitel je určen názvem hostitele a číslem portu. |
BeginConnect(EndPoint, AsyncCallback, Object)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli.
public:
IAsyncResult ^ BeginConnect(System::Net::EndPoint ^ remoteEP, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback? callback, object? state);
public IAsyncResult BeginConnect (System.Net.EndPoint remoteEP, AsyncCallback callback, object state);
member this.BeginConnect : System.Net.EndPoint * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (remoteEP As EndPoint, callback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- callback
- AsyncCallback
Delegát.AsyncCallback
- state
- Object
Objekt, který obsahuje informace o stavu tohoto požadavku.
Návraty
Odkaz IAsyncResult na asynchronní připojení.
Výjimky
remoteEP
je null
.
Pouze rozhraní .NET Framework a .NET 5 a starší: Při pokusu o přístup k soketu došlo k chybě.
Byl Socket zavřený.
Volající výše v zásobníku volání nemá oprávnění k požadované operaci.
Objekt Socket byl umístěn do naslouchacího stavu voláním Listen(Int32)nebo již probíhá asynchronní operace.
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
.
Protokoly orientované na připojení můžou pomocí BeginAccept metody začít přijímat příchozí pokusy o připojení. Výsledná operace přijetí je reprezentována vrácenou IAsyncResult operací, i když se může dokončit synchronně. Před voláním BeginAccept metody je nutné volat metodu Listen , která naslouchá příchozím požadavkům na připojení a zařadí do fronty.
Zpětné volání, které se implementuje AsyncCallback do BeginAccept , můžete předat, abyste dostali oznámení o dokončení operace přijetí. 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í nástroje BeginAccept. 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 objektuBeginAccept.
Operace BeginAccept musí být dokončena voláním EndAccept metody. Obvykle je metoda vyvolána poskytnutým AsyncCallback delegátem. EndAccept zablokuje volající vlákno, dokud se operace nedokonči.
Pokud chcete zrušit čekající volání BeginAccept metody, zavřete .Socket Close Při volání metody, zatímco asynchronní operace probíhá, zpětné volání poskytnuté BeginAccept metodě je volána. Následné volání EndAccept metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) označující, že operace byla zrušena.
Poznámka
Vlastnost vráceného RemoteEndPointSocket objektu můžete použít k identifikaci síťové adresy a čísla portu vzdáleného hostitele.
Poznámka
Pokud se zobrazí SocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby.
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é
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- 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
BeginConnect(IPAddress, Int32, AsyncCallback, Object)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. Hostitel je určen číslem IPAddress portu a .
public:
IAsyncResult ^ BeginConnect(System::Net::IPAddress ^ address, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress address, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (address As IPAddress, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- port
- Int32
Číslo portu vzdáleného hostitele.
- requestCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení operace připojení.
- state
- Object
Uživatelem definovaný objekt, který obsahuje informace o operaci připojení. Po dokončení operace se tento objekt předá requestCallback
delegátu.
Návraty
Odkaz IAsyncResult na asynchronní připojení.
Výjimky
address
je null
.
Pouze rozhraní .NET Framework a .NET 5 a starší: Při pokusu o přístup k soketu došlo k chybě.
Byl Socket zavřený.
Není Socket v rodině soketů.
Číslo portu není platné.
Délka je address
nula.
Objekt Socket byl umístěn do naslouchacího stavu voláním Listen(Int32)nebo již probíhá asynchronní operace.
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
.
Pokud používáte protokol orientovaný na připojení, BeginConnect metoda spustí asynchronní požadavek na připojení k koncovému objektu určenému parametrem remoteEP
. Pokud používáte protokol bez připojení, BeginConnect vytvoří výchozího vzdáleného hostitele.
Můžete předat zpětné volání, které se implementuje AsyncCallback do BeginConnect , abyste dostali oznámení o dokončení operace připojení. 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í nástroje BeginConnect. 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 objektuBeginConnect.
Operace BeginConnect musí být dokončena voláním EndConnect metody. Obvykle je metoda vyvolána poskytnutým AsyncCallback delegátem. EndConnect zablokuje volající vlákno, dokud se operace nedokonči.
Pokud používáte protokol bez připojení, jako je UDP, nemusíte před odesíláním a přijímáním dat volat BeginConnect . Ke komunikaci se vzdáleným hostitelem můžete použít BeginSendTo a BeginReceiveFrom . Pokud zavoláte BeginConnect, všechny datagramy, které přicházejí z jiné než zadané výchozí adresy, budou zahozeny. Pokud chcete nastavit výchozího vzdáleného hostitele na adresu všesměrového vysílání, musíte nejprve zavolat SetSocketOption a nastavit všesměrové vysílání na true
. Pokud nemůžete, BeginConnect vyhodí SocketException.
Pokud používáte protokol orientovaný na připojení a nevoláte Bind před voláním BeginConnect, poskytovatel základní služby přiřadí nejvhodnější adresu místní sítě a číslo portu. Pokud používáte protokol bez připojení, poskytovatel služeb nepřiřadí adresu místní sítě a číslo portu, dokud nezavoláte metodu BeginSend nebo ReceiveFrom . Pokud chcete změnit výchozího vzdáleného hostitele, zavolejte metodu BeginConnect znovu s požadovaným koncovým bodem.
Pokud chcete zrušit čekající volání BeginConnect metody, zavřete .Socket Close Při volání metody, zatímco asynchronní operace probíhá, zpětné volání poskytnuté BeginConnect metodě je volána. Následné volání EndConnect 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
Pokud byl tento soket dříve odpojen, BeginConnect musí být volán ve vlákně, které se ukončí, dokud se operace nedokončila. Jedná se o omezení základního poskytovatele.
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é
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- 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
BeginConnect(IPAddress[], Int32, AsyncCallback, Object)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. Hostitel je určen polem IPAddress a číslem portu.
public:
IAsyncResult ^ BeginConnect(cli::array <System::Net::IPAddress ^> ^ addresses, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (System.Net.IPAddress[] addresses, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : System.Net.IPAddress[] * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (addresses As IPAddress(), port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- port
- Int32
Číslo portu vzdáleného hostitele.
- requestCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení operace připojení.
- state
- Object
Uživatelem definovaný objekt, který obsahuje informace o operaci připojení. Po dokončení operace se tento objekt předá requestCallback
delegátu.
Návraty
Odkaz IAsyncResult na asynchronní připojení.
Výjimky
addresses
je null
.
Pouze rozhraní .NET Framework a .NET 5 a starší: Při pokusu o přístup k soketu došlo k chybě.
Byl Socket zavřený.
Tato metoda je platná pro sokety, které používají InterNetwork nebo InterNetworkV6.
Číslo portu není platné.
Délka je address
nula.
Objekt Socket byl umístěn do naslouchacího stavu voláním Listen(Int32)nebo již probíhá asynchronní operace.
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
.
Pokud používáte protokol orientovaný na připojení, BeginConnect metoda spustí asynchronní požadavek na připojení k koncovému objektu určenému parametrem remoteEP
. Pokud používáte protokol bez připojení, BeginConnect vytvoří výchozího vzdáleného hostitele.
Můžete předat zpětné volání, které se implementuje AsyncCallback do BeginConnect , abyste dostali oznámení o dokončení operace připojení. 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í nástroje BeginConnect. 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 objektuBeginConnect.
Operace BeginConnect musí být dokončena voláním EndConnect metody. Obvykle je metoda vyvolána poskytnutým AsyncCallback delegátem. EndConnect zablokuje volající vlákno, dokud se operace nedokonči.
Pokud používáte protokol bez připojení, jako je UDP, nemusíte před odesíláním a přijímáním dat volat BeginConnect . Ke komunikaci se vzdáleným hostitelem můžete použít BeginSendTo a BeginReceiveFrom . Pokud zavoláte BeginConnect, všechny datagramy, které přicházejí z jiné než zadané výchozí adresy, budou zahozeny. Pokud chcete nastavit výchozího vzdáleného hostitele na adresu všesměrového vysílání, musíte nejprve zavolat SetSocketOption a nastavit všesměrové vysílání na true
. Pokud nemůžete, BeginConnect vyhodí SocketException.
Pokud používáte protokol orientovaný na připojení a nevoláte Bind před voláním BeginConnect, poskytovatel základní služby přiřadí nejvhodnější adresu místní sítě a číslo portu. Pokud používáte protokol bez připojení, poskytovatel služeb nepřiřadí adresu místní sítě a číslo portu, dokud nezavoláte metodu BeginSend nebo ReceiveFrom . Pokud chcete změnit výchozího vzdáleného hostitele, zavolejte metodu BeginConnect znovu s požadovaným koncovým bodem.
Pokud chcete zrušit čekající volání BeginConnect metody, zavřete .Socket Close Při volání metody, zatímco asynchronní operace probíhá, zpětné volání poskytnuté BeginConnect metodě je volána. Následné volání EndConnect 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
Pokud byl tento soket dříve odpojen, BeginConnect musí být volán ve vlákně, které se ukončí, dokud se operace nedokončila. Jedná se o omezení základního poskytovatele.
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é
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- 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
BeginConnect(String, Int32, AsyncCallback, Object)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní požadavek na připojení ke vzdálenému hostiteli. Hostitel je určen názvem hostitele a číslem portu.
public:
IAsyncResult ^ BeginConnect(System::String ^ host, int port, AsyncCallback ^ requestCallback, System::Object ^ state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback? requestCallback, object? state);
public IAsyncResult BeginConnect (string host, int port, AsyncCallback requestCallback, object state);
member this.BeginConnect : string * int * AsyncCallback * obj -> IAsyncResult
Public Function BeginConnect (host As String, port As Integer, requestCallback As AsyncCallback, state As Object) As IAsyncResult
Parametry
- host
- String
Název vzdáleného hostitele.
- port
- Int32
Číslo portu vzdáleného hostitele.
- requestCallback
- AsyncCallback
Delegát AsyncCallback , který odkazuje na metodu, která se má vyvolat po dokončení operace připojení.
- state
- Object
Uživatelem definovaný objekt, který obsahuje informace o operaci připojení. Po dokončení operace se tento objekt předá requestCallback
delegátu.
Návraty
Odkaz IAsyncResult na asynchronní připojení.
Výjimky
host
je null
.
Byl Socket zavřený.
Tato metoda je platná pro sokety v rodině InterNetwork nebo InterNetworkV6 .
Číslo portu není platné.
Objekt Socket byl umístěn do naslouchacího stavu voláním Listen(Int32)nebo již probíhá asynchronní operace.
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
.
Pokud používáte protokol orientovaný na připojení, BeginConnect metoda spustí asynchronní požadavek na připojení k koncovému objektu určenému parametrem remoteEP
. Pokud používáte protokol bez připojení, BeginConnect vytvoří výchozího vzdáleného hostitele.
Můžete předat zpětné volání, které se implementuje AsyncCallback do BeginConnect , abyste dostali oznámení o dokončení operace připojení. 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í nástroje BeginConnect. 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 objektuBeginConnect.
Operace BeginConnect musí být dokončena voláním EndConnect metody. Obvykle je metoda vyvolána poskytnutým AsyncCallback delegátem. EndConnect zablokuje volající vlákno, dokud se operace nedokonči.
Pokud používáte protokol bez připojení, jako je UDP, nemusíte před odesíláním a přijímáním dat volat BeginConnect . Ke komunikaci se vzdáleným hostitelem můžete použít BeginSendTo a BeginReceiveFrom . Pokud zavoláte BeginConnect, všechny datagramy, které přicházejí z jiné než zadané výchozí adresy, budou zahozeny. Pokud chcete nastavit výchozího vzdáleného hostitele na adresu všesměrového vysílání, musíte nejprve zavolat SetSocketOption a nastavit všesměrové vysílání na true
. Pokud nemůžete, BeginConnect vyhodí SocketException.
Pokud používáte protokol orientovaný na připojení a nevoláte Bind před voláním BeginConnect, poskytovatel základní služby přiřadí nejvhodnější adresu místní sítě a číslo portu. Pokud používáte protokol bez připojení, poskytovatel služeb nepřiřadí adresu místní sítě a číslo portu, dokud nezavoláte metodu BeginSend nebo ReceiveFrom . Pokud chcete změnit výchozího vzdáleného hostitele, zavolejte metodu BeginConnect znovu s požadovaným koncovým bodem.
Pokud chcete zrušit čekající volání BeginConnect metody, zavřete .Socket Close Při volání metody, zatímco asynchronní operace probíhá, zpětné volání poskytnuté BeginConnect metodě je volána. Následné volání EndConnect 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
Pokud byl tento soket dříve odpojen, BeginConnect musí být volán ve vlákně, které se ukončí, dokud se operace nedokončila. Jedná se o omezení základního poskytovatele.
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é
- AsyncCallback
- EndConnect(IAsyncResult)
- BeginSendTo(Byte[], Int32, Int32, SocketFlags, EndPoint, AsyncCallback, Object)
- 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