Sdílet prostřednictvím


Socket.BeginConnect Metoda

Definice

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

remoteEP
EndPoint

Představuje EndPoint vzdáleného hostitele.

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é

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

address
IPAddress

Vzdálený IPAddress hostitel.

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é

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

addresses
IPAddress[]

Alespoň jeden IPAddress, určení 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

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é

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é

Platí pro