Socket.Connect Socket.Connect Socket.Connect Socket.Connect Method

定義

リモート ホストへの接続を確立します。Establishes a connection to a remote host.

オーバーロード

Connect(String, Int32) Connect(String, Int32) Connect(String, Int32) Connect(String, Int32)

リモート ホストへの接続を確立します。Establishes a connection to a remote host. ホストはホスト名とポート番号で指定されます。The host is specified by a host name and a port number.

Connect(IPAddress[], Int32) Connect(IPAddress[], Int32) Connect(IPAddress[], Int32) Connect(IPAddress[], Int32)

リモート ホストへの接続を確立します。Establishes a connection to a remote host. ホストは、IP アドレスの配列とポート番号で指定されます。The host is specified by an array of IP addresses and a port number.

Connect(IPAddress, Int32) Connect(IPAddress, Int32) Connect(IPAddress, Int32) Connect(IPAddress, Int32)

リモート ホストへの接続を確立します。Establishes a connection to a remote host. ホストは、IP アドレスとポート番号で指定されます。The host is specified by an IP address and a port number.

Connect(EndPoint) Connect(EndPoint) Connect(EndPoint) Connect(EndPoint)

リモート ホストへの接続を確立します。Establishes a connection to a remote host.

Connect(String, Int32) Connect(String, Int32) Connect(String, Int32) Connect(String, Int32)

リモート ホストへの接続を確立します。Establishes a connection to a remote host. ホストはホスト名とポート番号で指定されます。The host is specified by a host name and a port number.

public:
 void Connect(System::String ^ host, int port);
public void Connect (string host, int port);
member this.Connect : string * int -> unit
Public Sub Connect (host As String, port As Integer)

パラメーター

host
String String String String

リモート ホストの名前。The name of the remote host.

port
Int32 Int32 Int32 Int32

リモート ホストのポート番号。The port number of the remote host.

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

このメソッドは、InterNetwork または InterNetworkV6 ファミリのソケットで有効です。This method is valid for sockets in the InterNetwork or InterNetworkV6 families.

SocketListen(Int32) を呼び出すことでリッスン状態になっています。The Socket has been placed in a listening state by calling Listen(Int32).

次のコード例では、リモート エンドポイントに接続して、接続を検証します。The following code example connects to a remote endpoint and then verifies the connection.

// Synchronous connect using host name (resolved by the 
// Connect call.)
static void Connect3( String^ host, int port )
{
   Socket^ s = gcnew Socket( AddressFamily::InterNetwork,SocketType::Stream,ProtocolType::Tcp );
   Console::WriteLine( "Establishing Connection to {0}", host );
   s->Connect( host, port );
   Console::WriteLine( "Connection established" );
}

// Synchronous connect using host name (resolved by the 
// Connect call.)
public static void Connect3(string host, int port)
{
    Socket s = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream,
        ProtocolType.Tcp);

    Console.WriteLine("Establishing Connection to {0}", 
        host);
    s.Connect(host, port);
    Console.WriteLine("Connection established");
}		

注釈

TCP などの接続指向プロトコルを使用している場合、Connectメソッドは同期的に間のネットワーク接続を確立LocalEndPointと指定したリモート ホスト。If you are using a connection-oriented protocol such as TCP, the Connect method synchronously establishes a network connection between LocalEndPoint and the specified remote host. コネクションレスのプロトコルを使用している場合Connect既定のリモート ホストを確立します。If you are using a connectionless protocol, Connect establishes a default remote host. 呼び出した後Connectでリモート デバイスにデータを送信することができます、Sendメソッドを使用してリモート デバイスからデータを受信または、Receiveメソッド。After you call Connect you can send data to the remote device with the Send method, or receive data from the remote device with the Receive method.

UDP などのコネクションレスのプロトコルを使用している場合は呼び出しする必要はありませんConnectデータを送受信する前にします。If you are using a connectionless protocol such as UDP, you do not have to call Connect before sending and receiving data. 使用することができますSendToReceiveFrom同期的にリモート ホストと通信します。You can use SendTo and ReceiveFrom to synchronously communicate with a remote host. 呼び出す場合Connect指定した既定以外のアドレスから配信される任意のデータグラムは破棄されます。If you do call Connect any datagrams that arrive from an address other than the specified default will be discarded. 最初に呼び出す必要がある既定のリモート ホストが、ブロードキャスト アドレスを設定する場合、SetSocketOptionメソッドと set ソケット オプションをSocketOptionName.Broadcast、またはConnectがスローされます、SocketExceptionします。If you want to set your default remote host to a broadcast address, you must first call the SetSocketOption method and set the socket option to SocketOptionName.Broadcast, or Connect will throw a SocketException. 表示された場合、SocketExceptionを使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Connect 具体的に設定していない場合、メソッドはブロック、Blockingプロパティをfalse呼び出す前にConnectします。Connect method will block, unless you specifically set the Blocking property to false prior to calling Connect. ブロックが無効にし、TCP と同様に、接続指向プロトコルを使用している場合Connectがスローされます、SocketException時間、接続を作成する必要があるためです。If you are using a connection-oriented protocol like TCP and you do disable blocking, Connect will throw a SocketException because it needs time to make the connection. コネクションレスのプロトコルを既定のリモート ホストを確立するだけであるため、例外はスローされません。Connectionless protocols will not throw an exception because they simply establish a default remote host. 使用することができますSocketException.ErrorCode特定のエラー コードを取得します。You can use SocketException.ErrorCode to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error. 接続指向でリモート ホスト接続が開始された場合は、エラーには、WSAEWOULDBLOCK が返されます、Socketが正常にまだ完了がありません。If the error returned WSAEWOULDBLOCK, the remote host connection has been initiated by a connection-oriented Socket, but has not yet completed successfully. 使用して、Pollタイミングを決定するメソッド、Socketが終了接続します。Use the Poll method to determine when the Socket is finished connecting.

IPv6 が有効になっている場合、Connect(String, Int32)メソッドが呼び出され、IPv6 の両方に解決されるホストに接続し、IPv4 アドレス、IPv6 のアドレスへの接続試行の IPv4 アドレスに実行する前。If IPv6 is enabled and the Connect(String, Int32) method is called to connect to a host that resolves to both IPv6 and IPv4 addresses, the connection to the IPv6 address will be attempted first before the IPv4 address. これには、ホストが IPv6 アドレスでリッスンしていない場合、接続の確立に時間が遅延の影響があります。This may have the effect of delaying the time to establish the connection if the host is not listening on the IPv6 address.

注意

接続指向プロトコルを使用しているし、呼び出さなかったかどうかBind呼び出す前にConnect、基になるサービス プロバイダーはローカル ネットワーク アドレスとポート番号を割り当てます。If you are using a connection-oriented protocol and did not call Bind before calling Connect, the underlying service provider will assign the local network address and port number. コネクションレスのプロトコルを使用している場合は、送信を完了するか、操作が表示されるまで、サービス プロバイダーはないローカル ネットワーク アドレスとポート番号を割り当てられます。If you are using a connectionless protocol, the service provider will not assign a local network address and port number until you complete a send or receive operation. 既定のリモート ホストを変更する場合は、呼び出すConnect目的のエンドポイントを使用しています。If you want to change the default remote host, call Connect again with the desired endpoint.

注意

ソケットが以前切断された場合は、接続を復元するこのメソッドを使用することはできません。If the socket has been previously disconnected, then you cannot use this method to restore the connection. 非同期のいずれかを使用して、BeginConnect再接続する方法。Use one of the asynchronous BeginConnect methods to reconnect. これは、基になるプロバイダーの制限です。This is a limitation of the underlying provider.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。This member outputs trace information when you enable network tracing in your application. 詳細については、次を参照してください。ネットワークのトレースを .NET Framework でします。For more information, see Network Tracing in the .NET Framework.

Connect(IPAddress[], Int32) Connect(IPAddress[], Int32) Connect(IPAddress[], Int32) Connect(IPAddress[], Int32)

リモート ホストへの接続を確立します。Establishes a connection to a remote host. ホストは、IP アドレスの配列とポート番号で指定されます。The host is specified by an array of IP addresses and a port number.

public:
 void Connect(cli::array <System::Net::IPAddress ^> ^ addresses, int port);
public void Connect (System.Net.IPAddress[] addresses, int port);
member this.Connect : System.Net.IPAddress[] * int -> unit
Public Sub Connect (addresses As IPAddress(), port As Integer)

パラメーター

addresses
IPAddress[]

リモート ホストの IP アドレス。The IP addresses of the remote host.

port
Int32 Int32 Int32 Int32

リモート ホストのポート番号。The port number of the remote host.

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

このメソッドは、InterNetwork または InterNetworkV6 ファミリのソケットで有効です。This method is valid for sockets in the InterNetwork or InterNetworkV6 families.

address の長さが 0 です。The length of address is zero.

SocketListen(Int32) を呼び出すことでリッスン状態になっています。The Socket has been placed in a listening state by calling Listen(Int32).

次のコード例では、リモート エンドポイントに接続して、接続を検証します。The following code example connects to a remote endpoint and then verifies the connection.

// Synchronous connect using Dns.ResolveToAddresses to 
// resolve the host name.
static void Connect2( String^ host, int port )
{
   array<IPAddress^>^IPs = Dns::GetHostAddresses( host );
   Socket^ s = gcnew Socket( AddressFamily::InterNetwork,SocketType::Stream,ProtocolType::Tcp );
   Console::WriteLine( "Establishing Connection to {0}", host );
   s->Connect( IPs, port );
   Console::WriteLine( "Connection established" );
}


// Synchronous connect using Dns.GetHostAddresses to 
// resolve the host name.
public static void Connect2(string host, int port)
{
    IPAddress[] IPs = Dns.GetHostAddresses(host);

    Socket s = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream,
        ProtocolType.Tcp);
    Console.WriteLine("Establishing Connection to {0}", 
        host);
    s.Connect(IPs, port);
    Console.WriteLine("Connection established");
}		

注釈

このメソッドは呼び出しの直後に通常使用GetHostAddresses、これを単一のホストの複数の IP アドレスを返すことができます。This method is typically used immediately after a call to GetHostAddresses, which can return multiple IP addresses for a single host. TCP などの接続指向プロトコルを使用している場合、Connectメソッドは同期的に間のネットワーク接続を確立LocalEndPointと指定したリモート エンドポイント。If you are using a connection-oriented protocol such as TCP, the Connect method synchronously establishes a network connection between LocalEndPoint and the specified remote endpoint. コネクションレスのプロトコルを使用している場合Connect既定のリモート ホストを確立します。If you are using a connectionless protocol, Connect establishes a default remote host. 呼び出した後Connectでリモート デバイスにデータを送信することができます、Sendメソッドを使用してリモート デバイスからデータを受信または、Receiveメソッド。After you call Connect you can send data to the remote device with the Send method, or receive data from the remote device with the Receive method.

UDP などのコネクションレスのプロトコルを使用している場合は呼び出しする必要はありませんConnectデータを送受信する前にします。If you are using a connectionless protocol such as UDP, you do not have to call Connect before sending and receiving data. 使用することができますSendToReceiveFrom同期的にリモート ホストと通信します。You can use SendTo and ReceiveFrom to synchronously communicate with a remote host. 呼び出す場合Connect指定した既定以外のアドレスから配信される任意のデータグラムは破棄されます。If you do call Connect any datagrams that arrive from an address other than the specified default will be discarded. 最初に呼び出す必要がある既定のリモート ホストが、ブロードキャスト アドレスを設定する場合、SetSocketOptionメソッドと set ソケット オプションをSocketOptionName.Broadcast、またはConnectがスローされます、SocketExceptionします。If you want to set your default remote host to a broadcast address, you must first call the SetSocketOption method and set the socket option to SocketOptionName.Broadcast, or Connect will throw a SocketException. 表示された場合、SocketExceptionを使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Connect 具体的に設定していない場合、メソッドはブロック、Blockingプロパティをfalse呼び出す前にConnectします。Connect method will block, unless you specifically set the Blocking property to false prior to calling Connect. ブロックが無効にし、TCP と同様に、接続指向プロトコルを使用している場合Connectがスローされます、SocketException時間、接続を作成する必要があるためです。If you are using a connection-oriented protocol like TCP and you do disable blocking, Connect will throw a SocketException because it needs time to make the connection. コネクションレスのプロトコルを既定のリモート ホストを確立するだけであるため、例外はスローされません。Connectionless protocols will not throw an exception because they simply establish a default remote host. 使用することができますSocketException.ErrorCode特定のエラー コードを取得します。You can use SocketException.ErrorCode to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error. 接続指向でリモート ホスト接続が開始された場合は、エラーには、WSAEWOULDBLOCK が返されます、Socketが正常にまだ完了がありません。If the error returned WSAEWOULDBLOCK, the remote host connection has been initiated by a connection-oriented Socket, but has not yet completed successfully. 使用して、Pollタイミングを決定するメソッド、Socketが終了接続します。Use the Poll method to determine when the Socket is finished connecting.

注意

接続指向プロトコルを使用しているし、呼び出さなかったかどうかBind呼び出す前にConnect、基になるサービス プロバイダーはローカル ネットワーク アドレスとポート番号を割り当てます。If you are using a connection-oriented protocol and did not call Bind before calling Connect, the underlying service provider will assign the local network address and port number. コネクションレスのプロトコルを使用している場合は、送信を完了するか、操作が表示されるまで、サービス プロバイダーはないローカル ネットワーク アドレスとポート番号を割り当てられます。If you are using a connectionless protocol, the service provider will not assign a local network address and port number until you complete a send or receive operation. 既定のリモート ホストを変更する場合は、呼び出すConnect目的のエンドポイントを使用しています。If you want to change the default remote host, call Connect again with the desired endpoint.

注意

ソケットが以前切断された場合は、接続を復元するこのメソッドを使用することはできません。If the socket has been previously disconnected, then you cannot use this method to restore the connection. 非同期のいずれかを使用して、BeginConnect再接続する方法。Use one of the asynchronous BeginConnect methods to reconnect. これは、基になるプロバイダーの制限です。This is a limitation of the underlying provider.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。This member outputs trace information when you enable network tracing in your application. 詳細については、次を参照してください。ネットワークのトレースを .NET Framework でします。For more information, see Network Tracing in the .NET Framework.

Connect(IPAddress, Int32) Connect(IPAddress, Int32) Connect(IPAddress, Int32) Connect(IPAddress, Int32)

リモート ホストへの接続を確立します。Establishes a connection to a remote host. ホストは、IP アドレスとポート番号で指定されます。The host is specified by an IP address and a port number.

public:
 void Connect(System::Net::IPAddress ^ address, int port);
public void Connect (System.Net.IPAddress address, int port);
member this.Connect : System.Net.IPAddress * int -> unit
Public Sub Connect (address As IPAddress, port As Integer)

パラメーター

address
IPAddress IPAddress IPAddress IPAddress

リモート ホストの IP アドレス。The IP address of the remote host.

port
Int32 Int32 Int32 Int32

リモート ホストのポート番号。The port number of the remote host.

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

このメソッドは、InterNetwork または InterNetworkV6 ファミリのソケットで有効です。This method is valid for sockets in the InterNetwork or InterNetworkV6 families.

address の長さが 0 です。The length of address is zero.

SocketListen(Int32) を呼び出すことでリッスン状態になっています。The Socket has been placed in a listening state by calling Listen(Int32).

次のコード例では、リモート エンドポイントに接続して、接続を検証します。The following code example connects to a remote endpoint and then verifies the connection.

// Synchronous connect using IPAddress to resolve the 
// host name.
static void Connect1( String^ host, int port )
{
   array<IPAddress^>^IPs = Dns::GetHostAddresses( host );
   Socket^ s = gcnew Socket( AddressFamily::InterNetwork,SocketType::Stream,ProtocolType::Tcp );
   Console::WriteLine( "Establishing Connection to {0}", host );
   s->Connect( IPs[ 0 ], port );
   Console::WriteLine( "Connection established" );
}


// Synchronous connect using IPAddress to resolve the 
// host name.
public static void Connect1(string host, int port)
{
    IPAddress[] IPs = Dns.GetHostAddresses(host);

    Socket s = new Socket(AddressFamily.InterNetwork,
        SocketType.Stream,
        ProtocolType.Tcp);

    Console.WriteLine("Establishing Connection to {0}", 
        host);
    s.Connect(IPs[0], port);
    Console.WriteLine("Connection established");
}		

注釈

TCP などの接続指向プロトコルを使用している場合、Connectメソッドは同期的に間のネットワーク接続を確立LocalEndPointと指定したリモート エンドポイント。If you are using a connection-oriented protocol such as TCP, the Connect method synchronously establishes a network connection between LocalEndPoint and the specified remote endpoint. コネクションレスのプロトコルを使用している場合Connect既定のリモート ホストを確立します。If you are using a connectionless protocol, Connect establishes a default remote host. 呼び出した後Connectでリモート デバイスにデータを送信することができます、Sendメソッドを使用してリモート デバイスからデータを受信または、Receiveメソッド。After you call Connect you can send data to the remote device with the Send method, or receive data from the remote device with the Receive method.

UDP などのコネクションレスのプロトコルを使用している場合は呼び出しする必要はありませんConnectデータを送受信する前にします。If you are using a connectionless protocol such as UDP, you do not have to call Connect before sending and receiving data. 使用することができますSendToReceiveFrom同期的にリモート ホストと通信します。You can use SendTo and ReceiveFrom to synchronously communicate with a remote host. 呼び出す場合Connect指定した既定以外のアドレスから配信される任意のデータグラムは破棄されます。If you do call Connect any datagrams that arrive from an address other than the specified default will be discarded. 最初に呼び出す必要がある既定のリモート ホストが、ブロードキャスト アドレスを設定する場合、SetSocketOptionメソッドと set ソケット オプションをSocketOptionName.Broadcast、またはConnectがスローされます、SocketExceptionします。If you want to set your default remote host to a broadcast address, you must first call the SetSocketOption method and set the socket option to SocketOptionName.Broadcast, or Connect will throw a SocketException. 表示された場合、SocketExceptionを使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Connect 具体的に設定していない場合、メソッドはブロック、Blockingプロパティをfalse呼び出す前にConnectします。Connect method will block, unless you specifically set the Blocking property to false prior to calling Connect. ブロックが無効にし、TCP と同様に、接続指向プロトコルを使用している場合Connectがスローされます、SocketException時間、接続を作成する必要があるためです。If you are using a connection-oriented protocol like TCP and you do disable blocking, Connect will throw a SocketException because it needs time to make the connection. コネクションレスのプロトコルを既定のリモート ホストを確立するだけであるため、例外はスローされません。Connectionless protocols will not throw an exception because they simply establish a default remote host. 使用することができますSocketException.ErrorCode特定のエラー コードを取得します。You can use SocketException.ErrorCode to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error. 接続指向でリモート ホスト接続が開始された場合は、エラーには、WSAEWOULDBLOCK が返されます、Socketが正常にまだ完了がありません。If the error returned WSAEWOULDBLOCK, the remote host connection has been initiated by a connection-oriented Socket, but has not yet completed successfully. 使用して、Pollタイミングを決定するメソッド、Socketが終了接続します。Use the Poll method to determine when the Socket is finished connecting.

注意

接続指向プロトコルを使用しているし、呼び出さなかったかどうかBind呼び出す前にConnect、基になるサービス プロバイダーはローカル ネットワーク アドレスとポート番号を割り当てます。If you are using a connection-oriented protocol and did not call Bind before calling Connect, the underlying service provider will assign the local network address and port number. コネクションレスのプロトコルを使用している場合は、送信を完了するか、操作が表示されるまで、サービス プロバイダーはないローカル ネットワーク アドレスとポート番号を割り当てられます。If you are using a connectionless protocol, the service provider will not assign a local network address and port number until you complete a send or receive operation. 既定のリモート ホストを変更する場合は、呼び出すConnect目的のエンドポイントを使用しています。If you want to change the default remote host, call Connect again with the desired endpoint.

注意

ソケットが以前切断された場合は、接続を復元するこのメソッドを使用することはできません。If the socket has been previously disconnected, then you cannot use this method to restore the connection. 非同期のいずれかを使用して、BeginConnect再接続する方法。Use one of the asynchronous BeginConnect methods to reconnect. これは、基になるプロバイダーの制限です。This is a limitation of the underlying provider.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。This member outputs trace information when you enable network tracing in your application. 詳細については、次を参照してください。ネットワークのトレースを .NET Framework でします。For more information, see Network Tracing in the .NET Framework.

Connect(EndPoint) Connect(EndPoint) Connect(EndPoint) Connect(EndPoint)

リモート ホストへの接続を確立します。Establishes a connection to a remote host.

public:
 void Connect(System::Net::EndPoint ^ remoteEP);
public void Connect (System.Net.EndPoint remoteEP);
member this.Connect : System.Net.EndPoint -> unit
Public Sub Connect (remoteEP As EndPoint)

パラメーター

remoteEP
EndPoint EndPoint EndPoint EndPoint

リモート デバイスを表す EndPointAn EndPoint that represents the remote device.

例外

ソケットへのアクセスを試行しているときにエラーが発生しました。An error occurred when attempting to access the socket.

コール スタックの上位にある呼び出し元が、要求された操作のアクセス許可を保持していません。A caller higher in the call stack does not have permission for the requested operation.

SocketListen(Int32) を呼び出すことでリッスン状態になっています。The Socket has been placed in a listening state by calling Listen(Int32).

次のコード例では、リモート エンドポイントに接続して、接続を検証します。The following code example connects to a remote endpoint and then verifies the connection.

client->Connect( anEndPoint );
if (  !client->Connected )
{
   Console::WriteLine( "Winsock error: {0}", Convert::ToString(
      System::Runtime::InteropServices::Marshal::GetLastWin32Error() ) );
}
   
// This is how you can determine whether a socket is still connected.
bool blockingState = client->Blocking;
try
{
   array<Byte>^tmp = gcnew array<Byte>(1);
   client->Blocking = false;
   client->Send( tmp, 0, static_cast<SocketFlags>(0) );
   Console::WriteLine( L"Connected!" );
}
catch ( SocketException^ e ) 
{
   // 10035 == WSAEWOULDBLOCK
   if ( e->NativeErrorCode.Equals( 10035 ) )
   {
      Console::WriteLine( "Connected from an exception!" );
   }
   else
   {
      Console::WriteLine( "Disconnected: {0}!", e->NativeErrorCode );
   }
}
finally
{
   client->Blocking = blockingState;
}

Console::WriteLine( "Connected: {0}", client->Connected );
// .Connect throws an exception if unsuccessful
client.Connect(anEndPoint);

// This is how you can determine whether a socket is still connected.
bool blockingState = client.Blocking;
try
{
    byte [] tmp = new byte[1];

    client.Blocking = false;
    client.Send(tmp, 0, 0);
    Console.WriteLine("Connected!");
}
catch (SocketException e) 
{
    // 10035 == WSAEWOULDBLOCK
    if (e.NativeErrorCode.Equals(10035))
    {
        Console.WriteLine("Still Connected, but the Send would block");
    }
    else
    {
        Console.WriteLine("Disconnected: error code {0}!", e.NativeErrorCode);
    }
}
finally
{
    client.Blocking = blockingState;
}

Console.WriteLine("Connected: {0}", client.Connected);
    ' .Connect throws an exception if unsuccessful
    client.Connect(anEndPoint)
    
    ' This is how you can determine whether a socket is still connected.
    Dim blockingState As Boolean = client.Blocking
    Try
        Dim tmp(0) As Byte
        
        client.Blocking = False
        client.Send(tmp, 0, 0)
        Console.WriteLine("Connected!")
    Catch e As SocketException
        ' 10035 == WSAEWOULDBLOCK
        If e.NativeErrorCode.Equals(10035) Then
            Console.WriteLine("Still Connected, but the Send would block")
        Else
            Console.WriteLine("Disconnected: error code {0}!", e.NativeErrorCode)
        End If
    Finally
        client.Blocking = blockingState
    End Try
    
    Console.WriteLine("Connected: {0}", client.Connected)

End Sub 'ConnectAndCheck

注釈

TCP などの接続指向プロトコルを使用している場合、Connectメソッドは同期的に間のネットワーク接続を確立LocalEndPointと指定したリモート エンドポイント。If you are using a connection-oriented protocol such as TCP, the Connect method synchronously establishes a network connection between LocalEndPoint and the specified remote endpoint. コネクションレスのプロトコルを使用している場合Connect既定のリモート ホストを確立します。If you are using a connectionless protocol, Connect establishes a default remote host. 呼び出した後Connect、リモート デバイスにデータを送信することができます、Sendメソッド、または使用したリモート デバイスからデータを受信、Receiveメソッド。After you call Connect, you can send data to the remote device with the Send method, or receive data from the remote device with the Receive method.

UDP などのコネクションレスのプロトコルを使用している場合は呼び出しする必要はありませんConnectデータを送受信する前にします。If you are using a connectionless protocol such as UDP, you do not have to call Connect before sending and receiving data. 使用することができますSendToReceiveFrom同期的にリモート ホストと通信します。You can use SendTo and ReceiveFrom to synchronously communicate with a remote host. 呼び出す場合Connect、指定した既定以外のアドレスから配信される任意のデータグラムは破棄されます。If you do call Connect, any datagrams that arrive from an address other than the specified default will be discarded. 最初に呼び出す必要がある既定のリモート ホストが、ブロードキャスト アドレスを設定する場合、SetSocketOptionメソッドと set ソケット オプションをSocketOptionName.Broadcast、またはConnectがスローされます、SocketExceptionします。If you want to set your default remote host to a broadcast address, you must first call the SetSocketOption method and set the socket option to SocketOptionName.Broadcast, or Connect will throw a SocketException. 表示された場合、SocketExceptionを使用して、SocketException.ErrorCode特定のエラー コードを取得するプロパティ。If you receive a SocketException, use the SocketException.ErrorCode property to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.

Connect具体的に設定していない場合、メソッドはブロック、Blockingプロパティをfalse呼び出す前にConnectします。The Connect method will block, unless you specifically set the Blocking property to false prior to calling Connect. ブロックが無効にし、TCP と同様に、接続指向プロトコルを使用している場合Connectがスローされます、SocketException時間、接続を作成する必要があるためです。If you are using a connection-oriented protocol like TCP and you do disable blocking, Connect will throw a SocketException because it needs time to make the connection. コネクションレスのプロトコルを既定のリモート ホストを確立するだけであるため、例外はスローされません。Connectionless protocols will not throw an exception because they simply establish a default remote host. 使用することができますSocketException.ErrorCode特定のエラー コードを取得します。You can use SocketException.ErrorCode to obtain the specific error code. このコードを取得した後を参照してください、 Windows Sockets version 2 API エラー コードエラーの詳細な説明のドキュメント。After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error. 接続指向でリモート ホスト接続が開始された場合は、エラーには、WSAEWOULDBLOCK が返されます、Socketが正常にまだ完了がありません。If the error returned WSAEWOULDBLOCK, the remote host connection has been initiated by a connection-oriented Socket, but has not yet completed successfully. 使用して、Pollタイミングを決定するメソッド、Socketが終了接続します。Use the Poll method to determine when the Socket is finished connecting.

注意

接続指向プロトコルを使用しているし、呼び出さなかったかどうかBind呼び出す前にConnect、基になるサービス プロバイダーはローカル ネットワーク アドレスとポート番号を割り当てます。If you are using a connection-oriented protocol and did not call Bind before calling Connect, the underlying service provider will assign the local network address and port number. コネクションレスのプロトコルを使用している場合は、送信を完了するか、操作が表示されるまで、サービス プロバイダーはないローカル ネットワーク アドレスとポート番号を割り当てられます。If you are using a connectionless protocol, the service provider will not assign a local network address and port number until you complete a send or receive operation. 既定のリモート ホストを変更する場合は、呼び出すConnect目的のエンドポイントを使用しています。If you want to change the default remote host, call Connect again with the desired endpoint.

注意

ソケットが以前切断された場合は、接続を復元するこのメソッドを使用することはできません。If the socket has been previously disconnected, then you cannot use this method to restore the connection. 非同期のいずれかを使用して、BeginConnect再接続する方法。Use one of the asynchronous BeginConnect methods to reconnect. これは、基になるプロバイダーの制限です。This is a limitation of the underlying provider.

注意

このメンバーは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。This member outputs trace information when you enable network tracing in your application. 詳細については、次を参照してください。ネットワークのトレースを .NET Framework でします。For more information, see Network Tracing in the .NET Framework.

セキュリティ

SocketPermission
リモート ホストに接続します。for connecting to the remote host. 関連付けられた列挙体。 ConnectAssociated enumeration: Connect

こちらもご覧ください

適用対象