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í vzdáleného hostitele.
Přetížení
| Name | Description |
|---|---|
| BeginConnect(EndPoint, AsyncCallback, Object) |
Zahájí asynchronní požadavek na připojení vzdáleného hostitele. |
| BeginConnect(IPAddress, Int32, AsyncCallback, Object) |
Zahájí asynchronní požadavek na připojení vzdáleného hostitele. Hostitel je určen číslem IPAddress portu a číslem portu. |
| BeginConnect(IPAddress[], Int32, AsyncCallback, Object) |
Zahájí asynchronní požadavek na připojení vzdáleného hostitele. Hostitel je určen polem IPAddress a číslem portu. |
| BeginConnect(String, Int32, AsyncCallback, Object) |
Zahájí asynchronní požadavek na připojení vzdáleného hostitele. Hostitel je určen názvem hostitele a číslem portu. |
BeginConnect(EndPoint, AsyncCallback, Object)
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní požadavek na připojení vzdáleného hostitele.
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 pro tento požadavek.
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ě.
Ta Socket byla uzavřena.
Volající vyšší v zásobníku volání nemá oprávnění pro požadovanou operaci.
Byl Socket umístěn do stavu naslouchání voláním Listen(Int32)nebo asynchronní operace již probíhá.
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é
- 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
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní požadavek na připojení vzdáleného hostitele. Hostitel je určen číslem IPAddress portu a číslem portu.
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
AsyncCallback Delegát, který odkazuje na metodu vyvolat při dokončení operace připojení.
- state
- Object
Uživatelem definovaný objekt, který obsahuje informace o operaci připojení. Tento objekt se předá delegátu requestCallback po dokončení operace.
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ě.
Ta Socket byla uzavřena.
Není Socket v rodině soketů.
Číslo portu není platné.
Délka address je nula.
Byl Socket umístěn do stavu naslouchání voláním Listen(Int32)nebo asynchronní operace již probíhá.
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.
Pokud používáte protokol orientovaný na připojení, BeginConnect metoda spustí asynchronní požadavek na připojení k endpoit určený parametrem remoteEP . Pokud používáte protokol bez připojení, BeginConnect naváže se výchozí vzdálený hostitel.
Můžete předat zpětné volání, které implementuje AsyncCallbackBeginConnect , aby bylo možné dostávat 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í BeginConnect. 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ěBeginConnect.
Operace BeginConnect musí být dokončena voláním EndConnect metody. Metoda je obvykle vyvolána zadaným AsyncCallback delegátem. EndConnect zablokuje volající vlákno, dokud se operace nedokončila.
Pokud používáte protokol bez připojení, jako je UDP, nemusíte volat BeginConnect před odesíláním a příjmem dat. Můžete použít BeginSendTo a BeginReceiveFrom komunikovat se vzdáleným hostitelem. Pokud zavoláte BeginConnect, všechny datagramy, které přicházejí z jiné adresy, než je zadaná výchozí hodnota, se zahodí. 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 před voláním nevoláte BindBeginConnect, přiřadí poskytovatel základní služby nejvhodnější adresu místní sítě a číslo portu. Pokud používáte protokol bez připojení, poskytovatel služeb nepřiřazuje adresu místní sítě a číslo portu, dokud nezavoláte metodu BeginSend nebo ReceiveFrom adresu. Pokud chcete změnit výchozího vzdáleného hostitele, zavolejte metodu BeginConnect znovu s požadovaným koncovým bodem.
Chcete-li zrušit čekající volání metody BeginConnect , zavřete Socket. Close Je-li volána metoda, zatímco asynchronní operace probíhá, volá se zpětné volání poskytnuté metoděBeginConnect. Následné volání EndConnect metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) k označení, že operace byla zrušena.
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:
Pokud byl tento soket dříve odpojený, musí být volán ve vlákně, které se ukončí, BeginConnect dokud nebude operace dokončena. Jedná se o omezení základního poskytovatele.
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é
- 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
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní požadavek na připojení vzdáleného hostitele. 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
AsyncCallback Delegát, který odkazuje na metodu vyvolat při dokončení operace připojení.
- state
- Object
Uživatelem definovaný objekt, který obsahuje informace o operaci připojení. Tento objekt se předá delegátu requestCallback po dokončení operace.
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ě.
Ta Socket byla uzavřena.
Tato metoda je platná pro sokety, které používají InterNetwork nebo InterNetworkV6.
Číslo portu není platné.
Délka addresses je nula.
Byl Socket umístěn do stavu naslouchání voláním Listen(Int32)nebo asynchronní operace již probíhá.
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.
Pokud používáte protokol orientovaný na připojení, BeginConnect metoda spustí asynchronní požadavek na připojení k endpoit určený parametrem remoteEP . Pokud používáte protokol bez připojení, BeginConnect naváže se výchozí vzdálený hostitel.
Můžete předat zpětné volání, které implementuje AsyncCallbackBeginConnect , aby bylo možné dostávat 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í BeginConnect. 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ěBeginConnect.
Operace BeginConnect musí být dokončena voláním EndConnect metody. Metoda je obvykle vyvolána zadaným AsyncCallback delegátem. EndConnect zablokuje volající vlákno, dokud se operace nedokončila.
Pokud používáte protokol bez připojení, jako je UDP, nemusíte volat BeginConnect před odesíláním a příjmem dat. Můžete použít BeginSendTo a BeginReceiveFrom komunikovat se vzdáleným hostitelem. Pokud zavoláte BeginConnect, všechny datagramy, které přicházejí z jiné adresy, než je zadaná výchozí hodnota, se zahodí. 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 před voláním nevoláte BindBeginConnect, přiřadí poskytovatel základní služby nejvhodnější adresu místní sítě a číslo portu. Pokud používáte protokol bez připojení, poskytovatel služeb nepřiřazuje adresu místní sítě a číslo portu, dokud nezavoláte metodu BeginSend nebo ReceiveFrom adresu. Pokud chcete změnit výchozího vzdáleného hostitele, zavolejte metodu BeginConnect znovu s požadovaným koncovým bodem.
Chcete-li zrušit čekající volání metody BeginConnect , zavřete Socket. Close Je-li volána metoda, zatímco asynchronní operace probíhá, volá se zpětné volání poskytnuté metoděBeginConnect. Následné volání EndConnect metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) k označení, že operace byla zrušena.
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:
Pokud byl tento soket dříve odpojený, musí být volán ve vlákně, které se ukončí, BeginConnect dokud nebude operace dokončena. Jedná se o omezení základního poskytovatele.
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é
- 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
- Zdroj:
- Socket.cs
- Zdroj:
- Socket.cs
Zahájí asynchronní požadavek na připojení vzdáleného hostitele. 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
AsyncCallback Delegát, který odkazuje na metodu vyvolat při dokončení operace připojení.
- state
- Object
Uživatelem definovaný objekt, který obsahuje informace o operaci připojení. Tento objekt se předá delegátu requestCallback po dokončení operace.
Návraty
Odkaz IAsyncResult na asynchronní připojení.
Výjimky
host je null.
Ta Socket byla uzavřena.
Tato metoda je platná pro sokety v InterNetwork řadách nebo InterNetworkV6 pro rodiny.
Číslo portu není platné.
Byl Socket umístěn do stavu naslouchání voláním Listen(Int32)nebo asynchronní operace již probíhá.
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.
Pokud používáte protokol orientovaný na připojení, BeginConnect metoda spustí asynchronní požadavek na připojení k endpoit určený parametrem remoteEP . Pokud používáte protokol bez připojení, BeginConnect naváže se výchozí vzdálený hostitel.
Můžete předat zpětné volání, které implementuje AsyncCallbackBeginConnect , aby bylo možné dostávat 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í BeginConnect. 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ěBeginConnect.
Operace BeginConnect musí být dokončena voláním EndConnect metody. Metoda je obvykle vyvolána zadaným AsyncCallback delegátem. EndConnect zablokuje volající vlákno, dokud se operace nedokončila.
Pokud používáte protokol bez připojení, jako je UDP, nemusíte volat BeginConnect před odesíláním a příjmem dat. Můžete použít BeginSendTo a BeginReceiveFrom komunikovat se vzdáleným hostitelem. Pokud zavoláte BeginConnect, všechny datagramy, které přicházejí z jiné adresy, než je zadaná výchozí hodnota, se zahodí. 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 před voláním nevoláte BindBeginConnect, přiřadí poskytovatel základní služby nejvhodnější adresu místní sítě a číslo portu. Pokud používáte protokol bez připojení, poskytovatel služeb nepřiřazuje adresu místní sítě a číslo portu, dokud nezavoláte metodu BeginSend nebo ReceiveFrom adresu. Pokud chcete změnit výchozího vzdáleného hostitele, zavolejte metodu BeginConnect znovu s požadovaným koncovým bodem.
Chcete-li zrušit čekající volání metody BeginConnect , zavřete Socket. Close Je-li volána metoda, zatímco asynchronní operace probíhá, volá se zpětné volání poskytnuté metoděBeginConnect. Následné volání EndConnect metody vyvolá ObjectDisposedException (před rozhraním .NET 7) nebo SocketException (v .NET 7+) k označení, že operace byla zrušena.
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:
Pokud byl tento soket dříve odpojený, musí být volán ve vlákně, které se ukončí, BeginConnect dokud nebude operace dokončena. Jedná se o omezení základního poskytovatele.
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é
- 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