TcpClient TcpClient TcpClient TcpClient Class

定義

TCP ネットワーク サービス用のクライアント接続を提供します。Provides client connections for TCP network services.

public ref class TcpClient : IDisposable
public class TcpClient : IDisposable
type TcpClient = class
    interface IDisposable
Public Class TcpClient
Implements IDisposable
継承
TcpClientTcpClientTcpClientTcpClient
実装

次のコード例を確立、TcpClient接続します。The following code example establishes a TcpClient connection.

void Connect( String^ server, String^ message )
{
   try
   {
      // Create a TcpClient.
      // Note, for this client to work you need to have a TcpServer 
      // connected to the same address as specified by the server, port
      // combination.
      Int32 port = 13000;
      TcpClient^ client = gcnew TcpClient( server,port );
      
      // Translate the passed message into ASCII and store it as a Byte array.
      array<Byte>^data = Text::Encoding::ASCII->GetBytes( message );
      
      // Get a client stream for reading and writing.
      //  Stream stream = client->GetStream();

      NetworkStream^ stream = client->GetStream();
      
      // Send the message to the connected TcpServer. 
      stream->Write( data, 0, data->Length );

      Console::WriteLine( "Sent: {0}", message );
      
      // Receive the TcpServer::response.

      // Buffer to store the response bytes.
      data = gcnew array<Byte>(256);

      // String to store the response ASCII representation.
      String^ responseData = String::Empty;
      
      // Read the first batch of the TcpServer response bytes.
      Int32 bytes = stream->Read( data, 0, data->Length );
      responseData = Text::Encoding::ASCII->GetString( data, 0, bytes );
      Console::WriteLine( "Received: {0}", responseData );
      
      // Close everything.
      client->Close();
   }
   catch ( ArgumentNullException^ e ) 
   {
      Console::WriteLine( "ArgumentNullException: {0}", e );
   }
   catch ( SocketException^ e ) 
   {
      Console::WriteLine( "SocketException: {0}", e );
   }

   Console::WriteLine( "\n Press Enter to continue..." );
   Console::Read();
}
static void Connect(String server, String message) 
{
  try 
  {
    // Create a TcpClient.
    // Note, for this client to work you need to have a TcpServer 
    // connected to the same address as specified by the server, port
    // combination.
    Int32 port = 13000;
    TcpClient client = new TcpClient(server, port);
    
    // Translate the passed message into ASCII and store it as a Byte array.
    Byte[] data = System.Text.Encoding.ASCII.GetBytes(message);         

    // Get a client stream for reading and writing.
   //  Stream stream = client.GetStream();
    
    NetworkStream stream = client.GetStream();

    // Send the message to the connected TcpServer. 
    stream.Write(data, 0, data.Length);

    Console.WriteLine("Sent: {0}", message);         

    // Receive the TcpServer.response.
    
    // Buffer to store the response bytes.
    data = new Byte[256];

    // String to store the response ASCII representation.
    String responseData = String.Empty;

    // Read the first batch of the TcpServer response bytes.
    Int32 bytes = stream.Read(data, 0, data.Length);
    responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes);
    Console.WriteLine("Received: {0}", responseData);         

    // Close everything.
    stream.Close();         
    client.Close();         
  } 
  catch (ArgumentNullException e) 
  {
    Console.WriteLine("ArgumentNullException: {0}", e);
  } 
  catch (SocketException e) 
  {
    Console.WriteLine("SocketException: {0}", e);
  }
    
  Console.WriteLine("\n Press Enter to continue...");
  Console.Read();
}
Shared Sub Connect(server As [String], message As [String])
   Try
      ' Create a TcpClient.
      ' Note, for this client to work you need to have a TcpServer 
      ' connected to the same address as specified by the server, port
      ' combination.
      Dim port As Int32 = 13000
      Dim client As New TcpClient(server, port)
      
      ' Translate the passed message into ASCII and store it as a Byte array.
      Dim data As [Byte]() = System.Text.Encoding.ASCII.GetBytes(message)
      
      ' Get a client stream for reading and writing.
      '  Stream stream = client.GetStream();
      Dim stream As NetworkStream = client.GetStream()
      
      ' Send the message to the connected TcpServer. 
      stream.Write(data, 0, data.Length)
      
      Console.WriteLine("Sent: {0}", message)
      
      ' Receive the TcpServer.response.
      ' Buffer to store the response bytes.
      data = New [Byte](256) {}
      
      ' String to store the response ASCII representation.
      Dim responseData As [String] = [String].Empty
      
      ' Read the first batch of the TcpServer response bytes.
      Dim bytes As Int32 = stream.Read(data, 0, data.Length)
      responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes)
      Console.WriteLine("Received: {0}", responseData)
      
      ' Close everything.
      stream.Close()
      client.Close()
   Catch e As ArgumentNullException
      Console.WriteLine("ArgumentNullException: {0}", e)
   Catch e As SocketException
      Console.WriteLine("SocketException: {0}", e)
   End Try
   
   Console.WriteLine(ControlChars.Cr + " Press Enter to continue...")
   Console.Read()
End Sub 'Connect

注釈

TcpClientクラスには、送信、接続するための単純なメソッドと、受信同期のブロッキング モードでのネットワーク経由でデータをストリーム配信します。The TcpClient class provides simple methods for connecting, sending, and receiving stream data over a network in synchronous blocking mode.

順序でTcpClient接続、データを交換し、TcpListenerまたはSocketTCP で作成されたProtocolType受信接続要求をリッスンする必要があります。In order for TcpClient to connect and exchange data, a TcpListener or Socket created with the TCP ProtocolType must be listening for incoming connection requests. 次の 2 つの方法のいずれかで、このリスナーに接続できます。You can connect to this listener in one of the following two ways:

  • 作成、TcpClientにある 3 つのいずれかを呼び出すとConnectメソッド。Create a TcpClient and call one of the three available Connect methods.

  • 作成、TcpClientホスト名を使用して、リモート ホストのポート番号。Create a TcpClient using the host name and port number of the remote host. このコンス トラクターは、接続を自動的に試行します。This constructor will automatically attempt a connection.

注意

同期ブロック モードでコネクションレスのデータグラムを送信する場合を使用して、UdpClientクラス。If you want to send connectionless datagrams in synchronous blocking mode, use the UdpClient class.

注意 (継承者)

データを送受信するを使用して、GetStream()メソッドを取得する、NetworkStreamします。To send and receive data, use the GetStream() method to obtain a NetworkStream. 呼び出す、Write(Byte[], Int32, Int32)Read(Byte[], Int32, Int32)のメソッド、NetworkStreamをリモート ホストとデータを送受信します。Call the Write(Byte[], Int32, Int32) and Read(Byte[], Int32, Int32) methods of the NetworkStream to send and receive data with the remote host. 使用して、Close(Int32)に関連付けられているすべてのリソースを解放するメソッド、TcpClientします。Use the Close(Int32) method to release all resources associated with the TcpClient.

コンストラクター

TcpClient() TcpClient() TcpClient() TcpClient()

TcpClient クラスの新しいインスタンスを初期化します。Initializes a new instance of the TcpClient class.

TcpClient(AddressFamily) TcpClient(AddressFamily) TcpClient(AddressFamily) TcpClient(AddressFamily)

ファミリを指定して、TcpClient クラスの新しいインスタンスを初期化します。Initializes a new instance of the TcpClient class with the specified family.

TcpClient(IPEndPoint) TcpClient(IPEndPoint) TcpClient(IPEndPoint) TcpClient(IPEndPoint)

TcpClient クラスの新しいインスタンスを初期化し、指定したローカル エンドポイントにバインドします。Initializes a new instance of the TcpClient class and binds it to the specified local endpoint.

TcpClient(String, Int32) TcpClient(String, Int32) TcpClient(String, Int32) TcpClient(String, Int32)

TcpClient クラスの新しいインスタンスを初期化し、指定したホストの指定したポートに接続します。Initializes a new instance of the TcpClient class and connects to the specified port on the specified host.

プロパティ

Active Active Active Active

接続されたかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether a connection has been made.

Available Available Available Available

ネットワークから受信した、読み取り可能なデータ量を取得します。Gets the amount of data that has been received from the network and is available to be read.

Client Client Client Client

基になる Socket を取得または設定します。Gets or sets the underlying Socket.

Connected Connected Connected Connected

Socket の基になる TcpClient がリモート ホストに接続されているかどうかを示す値を取得します。Gets a value indicating whether the underlying Socket for a TcpClient is connected to a remote host.

ExclusiveAddressUse ExclusiveAddressUse ExclusiveAddressUse ExclusiveAddressUse

Boolean で 1 つのクライアントだけがポートを使用できるかどうかを指定する TcpClient 値を取得または設定します。Gets or sets a Boolean value that specifies whether the TcpClient allows only one client to use a port.

LingerState LingerState LingerState LingerState

関連付けられているソケットの待機状態に関する情報を取得または設定します。Gets or sets information about the linger state of the associated socket.

NoDelay NoDelay NoDelay NoDelay

送信バッファーまたは受信バッファーが設定されているサイズを超えていない場合に、遅延を無効にする値を取得または設定します。Gets or sets a value that disables a delay when send or receive buffers are not full.

ReceiveBufferSize ReceiveBufferSize ReceiveBufferSize ReceiveBufferSize

受信バッファーのサイズを取得または設定します。Gets or sets the size of the receive buffer.

ReceiveTimeout ReceiveTimeout ReceiveTimeout ReceiveTimeout

読み取り操作が開始された後に TcpClient がデータの受信を待機する時間を取得または設定します。Gets or sets the amount of time a TcpClient will wait to receive data once a read operation is initiated.

SendBufferSize SendBufferSize SendBufferSize SendBufferSize

送信バッファーのサイズを取得または設定します。Gets or sets the size of the send buffer.

SendTimeout SendTimeout SendTimeout SendTimeout

送信操作が正常に完了するのを TcpClient が待機する時間を取得または設定します。Gets or sets the amount of time a TcpClient will wait for a send operation to complete successfully.

メソッド

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

リモート ホスト接続への非同期要求を開始します。Begins an asynchronous request for a remote host connection. リモート ホストは、IPAddress とポート番号 (Int32) で指定されます。The remote host is specified by an IPAddress and a port number (Int32).

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

リモート ホスト接続への非同期要求を開始します。Begins an asynchronous request for a remote host connection. リモート ホストは、IPAddress 配列とポート番号 (Int32) で指定されます。The remote host is specified by an IPAddress array and a port number (Int32).

BeginConnect(String, Int32, AsyncCallback, Object) BeginConnect(String, Int32, AsyncCallback, Object) BeginConnect(String, Int32, AsyncCallback, Object) BeginConnect(String, Int32, AsyncCallback, Object)

リモート ホスト接続への非同期要求を開始します。Begins an asynchronous request for a remote host connection. リモート ホストは、ホスト名 (String) とポート番号 (Int32) で指定されます。The remote host is specified by a host name (String) and a port number (Int32).

Close() Close() Close() Close()

この TcpClient インスタンスを破棄し、基になる TCP 接続を終了するように要求します。Disposes this TcpClient instance and requests that the underlying TCP connection be closed.

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

指定された IP アドレスとポート番号を使用してクライアントをリモート TCP ホストと接続します。Connects the client to a remote TCP host using the specified IP address and port number.

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

指定された IP アドレスとポート番号を使用してクライアントをリモート TCP ホストと接続します。Connects the client to a remote TCP host using the specified IP addresses and port number.

Connect(IPEndPoint) Connect(IPEndPoint) Connect(IPEndPoint) Connect(IPEndPoint)

指定されたリモート ネットワーク エンドポイントを使用してリモート TCP ホストにクライアントを接続します。Connects the client to a remote TCP host using the specified remote network endpoint.

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

指定されたホストの指定されたポートにクライアントを接続します。Connects the client to the specified port on the specified host.

ConnectAsync(IPAddress, Int32) ConnectAsync(IPAddress, Int32) ConnectAsync(IPAddress, Int32) ConnectAsync(IPAddress, Int32)

指定された IP アドレスとポート番号を使用して、非同期操作としてクライアントをリモート TCP ホストに接続します。Connects the client to a remote TCP host using the specified IP address and port number as an asynchronous operation.

ConnectAsync(IPAddress[], Int32) ConnectAsync(IPAddress[], Int32) ConnectAsync(IPAddress[], Int32) ConnectAsync(IPAddress[], Int32)

指定された IP アドレスとポート番号を使用して、非同期操作としてクライアントをリモート TCP ホストに接続します。Connects the client to a remote TCP host using the specified IP addresses and port number as an asynchronous operation.

ConnectAsync(String, Int32) ConnectAsync(String, Int32) ConnectAsync(String, Int32) ConnectAsync(String, Int32)

非同期操作として、クライアントを、指定したホストの指定したポートに接続します。Connects the client to the specified TCP port on the specified host as an asynchronous operation.

Dispose() Dispose() Dispose() Dispose()

TcpClient によって使用されているマネージド リソースおよびアンマネージド リソースを解放します。Releases the managed and unmanaged resources used by the TcpClient.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

TcpClient によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the TcpClient and optionally releases the managed resources.

EndConnect(IAsyncResult) EndConnect(IAsyncResult) EndConnect(IAsyncResult) EndConnect(IAsyncResult)

保留中の非同期接続の試行を終了します。Ends a pending asynchronous connection attempt.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
Finalize() Finalize() Finalize() Finalize()

TcpClient クラスによって使用されていたリソースを解放します。Frees resources used by the TcpClient class.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetStream() GetStream() GetStream() GetStream()

データの送受信に使用する NetworkStream を返します。Returns the NetworkStream used to send and receive data.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

明示的なインターフェイスの実装

IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose() IDisposable.Dispose()

TcpClient によって使用されているすべてのリソースを解放します。Releases all resources used by the TcpClient.

セキュリティ

SocketPermission
送信接続を確立するか、受信要求をそのまま使用する権限です。Permission to establish an outgoing connection or accept an incoming request.

適用対象

こちらもご覧ください