TcpClient.BeginConnect Metoda

Definicja

Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym.Begins an asynchronous request for a remote host connection.

Przeciążenia

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym.Begins an asynchronous request for a remote host connection. Host zdalny jest określony przez IPAddress tablicę i numer portu ( Int32 ).The remote host is specified by an IPAddress array and a port number (Int32).

BeginConnect(String, Int32, AsyncCallback, Object)

Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym.Begins an asynchronous request for a remote host connection. Host zdalny jest określony przez nazwę hosta ( String ) i numer portu ( Int32 ).The remote host is specified by a host name (String) and a port number (Int32).

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym.Begins an asynchronous request for a remote host connection. Host zdalny jest określony przez IPAddress i numer portu ( Int32 ).The remote host is specified by an IPAddress and a port number (Int32).

BeginConnect(IPAddress[], Int32, AsyncCallback, Object)

Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym.Begins an asynchronous request for a remote host connection. Host zdalny jest określony przez IPAddress tablicę i numer portu ( Int32 ).The remote host is specified by an IPAddress array and a port number (Int32).

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[]

Co najmniej jeden IPAddress , który wyznacza hosty zdalne.At least one IPAddress that designates the remote hosts.

port
Int32

Numer portu hostów zdalnych.The port number of the remote hosts.

requestCallback
AsyncCallback

AsyncCallbackDelegat, który odwołuje się do metody do wywołania po zakończeniu operacji.An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object

Obiekt zdefiniowany przez użytkownika, który zawiera informacje o operacji łączenia.A user-defined object that contains information about the connect operation. Ten obiekt jest przesyłany do requestCallback delegata po zakończeniu operacji.This object is passed to the requestCallback delegate when the operation is complete.

Zwraca

IAsyncResult

IAsyncResultObiekt, który odwołuje się do połączenia asynchronicznego.An IAsyncResult object that references the asynchronous connection.

Wyjątki

addressesParametr ma wartość null .The addresses parameter is null.

Wystąpił błąd podczas próby uzyskania dostępu do gniazda.An error occurred when attempting to access the socket.

SocketZostał zamknięty.The Socket has been closed.

Obiekt wywołujący znajdujący się wyżej w stosie wywołań nie ma uprawnienia do żądanej operacji.A caller higher in the call stack does not have permission for the requested operation.

Numer portu jest nieprawidłowy.The port number is not valid.

Przykłady

Poniższy przykład kodu tworzy TcpClient a i nawiązuje połączenie z hostem zdalnym.The following code example creates a TcpClient and connects to a remote host.

// Connect asynchronously to the specifed host.
static void DoBeginConnect2( String^ host, int port )
{
   TcpClient^ t = gcnew TcpClient( AddressFamily::InterNetwork );
   array<IPAddress^>^remoteHost = Dns::GetHostAddresses( host );
   connectDone->Reset();
   Console::WriteLine( "Establishing Connection to {0}", host );
   t->BeginConnect( remoteHost, port, gcnew AsyncCallback(  &ConnectCallback ), t );

   // Wait here until the callback processes the connection.
   connectDone->WaitOne();
   Console::WriteLine( "Connection established" );
}
// Connect asynchronously to the specifed host.
public static void DoBeginConnect2(string host, int port)
{
    TcpClient t = new TcpClient(AddressFamily.InterNetwork);
    IPAddress[] remoteHost = Dns.GetHostAddresses(host);

    connectDone.Reset();

    Console.WriteLine("Establishing Connection to {0}", host);
    t.BeginConnect(remoteHost, port,
        new AsyncCallback(ConnectCallback), t);

    // Wait here until the callback processes the connection.
    connectDone.WaitOne();

    Console.WriteLine("Connection established");
}

Uwagi

Operacja asynchroniczna BeginConnect musi być zakończona przez wywołanie EndConnect metody.The asynchronous BeginConnect operation must be completed by calling the EndConnect method. Zazwyczaj Metoda jest wywoływana przez asyncCallback delegata.Typically, the method is invoked by the asyncCallback delegate.

Ta metoda nie jest blokowana do momentu zakończenia operacji.This method does not block until the operation completes. Aby zablokować do momentu zakończenia operacji, użyj jednego z Connect przeciążeń metody.To block until the operation completes, use one of the Connect method overloads.

Aby uzyskać szczegółowe informacje na temat korzystania z modelu programowania asynchronicznego, zobacz Asynchroniczne wywoływanie metod synchronicznych.For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously.

Ta metoda jest zwykle używana natychmiast po wywołaniu BeginGetHostAddresses metody, która może zwracać wiele adresów IP dla jednego hosta.This method is typically used immediately after a call to the BeginGetHostAddresses method, which can return multiple IP addresses for a single host.

Dotyczy

BeginConnect(String, Int32, AsyncCallback, Object)

Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym.Begins an asynchronous request for a remote host connection. Host zdalny jest określony przez nazwę hosta ( String ) i numer portu ( Int32 ).The remote host is specified by a host name (String) and a port number (Int32).

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

Nazwa hosta zdalnego.The name of the remote host.

port
Int32

Numer portu hosta zdalnego.The port number of the remote host.

requestCallback
AsyncCallback

AsyncCallbackDelegat, który odwołuje się do metody do wywołania po zakończeniu operacji.An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object

Obiekt zdefiniowany przez użytkownika, który zawiera informacje o operacji łączenia.A user-defined object that contains information about the connect operation. Ten obiekt jest przesyłany do requestCallback delegata po zakończeniu operacji.This object is passed to the requestCallback delegate when the operation is complete.

Zwraca

IAsyncResult

IAsyncResultObiekt, który odwołuje się do połączenia asynchronicznego.An IAsyncResult object that references the asynchronous connection.

Wyjątki

hostParametr ma wartość null .The host parameter is null.

Wystąpił błąd podczas próby uzyskania dostępu do gniazda.An error occurred when attempting to access the socket.

SocketZostał zamknięty.The Socket has been closed.

Obiekt wywołujący znajdujący się wyżej w stosie wywołań nie ma uprawnienia do żądanej operacji.A caller higher in the call stack does not have permission for the requested operation.

Numer portu jest nieprawidłowy.The port number is not valid.

Przykłady

Poniższy przykład kodu tworzy TcpClient a i nawiązuje połączenie z hostem zdalnym.The following code example creates a TcpClient and connects to a remote host.

// Connect asynchronously to the specifed host.
static void DoBeginConnect3( String^ host, int port )
{
   TcpClient^ t = gcnew TcpClient( AddressFamily::InterNetwork );
   connectDone->Reset();
   Console::WriteLine( "Establishing Connection to {0}", host );
   t->BeginConnect( host, port, gcnew AsyncCallback(  &ConnectCallback ), t );
   
   // Wait here until the callback processes the connection.
   connectDone->WaitOne();
   Console::WriteLine( "Connection established" );
}
// Connect asynchronously to the specifed host.
public static void DoBeginConnect3(string host, int port)
{
    TcpClient t = new TcpClient(AddressFamily.InterNetwork);

    connectDone.Reset();

    Console.WriteLine("Establishing Connection to {0}",
        host);
    t.BeginConnect(host, port,
        new AsyncCallback(ConnectCallback), t);

    // Wait here until the callback processes the connection.
    connectDone.WaitOne();

    Console.WriteLine("Connection established");
}

Uwagi

Operacja asynchroniczna BeginConnect musi być zakończona przez wywołanie EndConnect metody.The asynchronous BeginConnect operation must be completed by calling the EndConnect method. Zazwyczaj Metoda jest wywoływana przez asyncCallback delegata.Typically, the method is invoked by the asyncCallback delegate.

Ta metoda nie jest blokowana do momentu zakończenia operacji.This method does not block until the operation completes. Aby zablokować do momentu zakończenia operacji, użyj jednego z Connect przeciążeń metody.To block until the operation completes, use one of the Connect method overloads.

Aby uzyskać szczegółowe informacje na temat korzystania z modelu programowania asynchronicznego, zobacz Asynchroniczne wywoływanie metod synchronicznych.For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously.

Dotyczy

BeginConnect(IPAddress, Int32, AsyncCallback, Object)

Rozpoczyna asynchroniczne żądanie połączenia z hostem zdalnym.Begins an asynchronous request for a remote host connection. Host zdalny jest określony przez IPAddress i numer portu ( Int32 ).The remote host is specified by an IPAddress and a port number (Int32).

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

IPAddressHosta zdalnego.The IPAddress of the remote host.

port
Int32

Numer portu hosta zdalnego.The port number of the remote host.

requestCallback
AsyncCallback

AsyncCallbackDelegat, który odwołuje się do metody do wywołania po zakończeniu operacji.An AsyncCallback delegate that references the method to invoke when the operation is complete.

state
Object

Obiekt zdefiniowany przez użytkownika, który zawiera informacje o operacji łączenia.A user-defined object that contains information about the connect operation. Ten obiekt jest przesyłany do requestCallback delegata po zakończeniu operacji.This object is passed to the requestCallback delegate when the operation is complete.

Zwraca

IAsyncResult

IAsyncResultObiekt, który odwołuje się do połączenia asynchronicznego.An IAsyncResult object that references the asynchronous connection.

Wyjątki

addressParametr ma wartość null .The address parameter is null.

Wystąpił błąd podczas próby uzyskania dostępu do gniazda.An error occurred when attempting to access the socket.

SocketZostał zamknięty.The Socket has been closed.

Obiekt wywołujący znajdujący się wyżej w stosie wywołań nie ma uprawnienia do żądanej operacji.A caller higher in the call stack does not have permission for the requested operation.

Numer portu jest nieprawidłowy.The port number is not valid.

Przykłady

Poniższy przykład kodu tworzy TcpClient a i nawiązuje połączenie z hostem zdalnym.The following code example creates a TcpClient and connects to a remote host.

   static void DoBeginConnect1( String^ host, int port )
   {
      // Connect asynchronously to the specifed host.
      TcpClient^ t = gcnew TcpClient( AddressFamily::InterNetwork );
//      IPAddress^ remoteHost = gcnew IPAddress( host );
      array<IPAddress^>^ remoteHost = Dns::GetHostAddresses( host );
      connectDone->Reset();
      Console::WriteLine( "Establishing Connection to {0}", host );
      t->BeginConnect( remoteHost, port, gcnew AsyncCallback( &ConnectCallback ), t );

      // Wait here until the callback processes the connection.
      connectDone->WaitOne();
      Console::WriteLine( "Connection established" );
   }
        public static void DoBeginConnect1(string host, int port)
        {
            // Connect asynchronously to the specifed host.
            TcpClient t = new TcpClient(AddressFamily.InterNetwork);
//            IPAddress remoteHost = new IPAddress(host);
            IPAddress[] remoteHost = Dns.GetHostAddresses(host);

            connectDone.Reset();

            Console.WriteLine("Establishing Connection to {0}",
                remoteHost[0]);
            t.BeginConnect(remoteHost[0], port,
                new AsyncCallback(ConnectCallback), t);

            // Wait here until the callback processes the connection.
            connectDone.WaitOne();

            Console.WriteLine("Connection established");
        }

Uwagi

Operacja asynchroniczna BeginConnect musi być zakończona przez wywołanie EndConnect metody.The asynchronous BeginConnect operation must be completed by calling the EndConnect method. Zazwyczaj Metoda jest wywoływana przez asyncCallback delegata.Typically, the method is invoked by the asyncCallback delegate.

Ta metoda nie jest blokowana do momentu zakończenia operacji.This method does not block until the operation completes. Aby zablokować do momentu zakończenia operacji, użyj jednego z Connect przeciążeń metody.To block until the operation completes, use one of the Connect method overloads.

Aby uzyskać szczegółowe informacje na temat korzystania z modelu programowania asynchronicznego, zobacz Asynchroniczne wywoływanie metod synchronicznych.For detailed information about using the asynchronous programming model, see Calling Synchronous Methods Asynchronously.

Dotyczy