TcpClient TcpClient TcpClient TcpClient Class

Définition

Fournit des connexions clientes pour les services réseau 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
Héritage
TcpClientTcpClientTcpClientTcpClient
Implémente

Exemples

L’exemple de code suivant établit TcpClient une connexion.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

Remarques

La TcpClient classe fournit des méthodes simples pour la connexion, l’envoi et la réception de données de flux sur un réseau en mode de blocage synchrone.The TcpClient class provides simple methods for connecting, sending, and receiving stream data over a network in synchronous blocking mode.

Pour que TcpListener Socket ProtocolType puisse se connecter et échanger des données, un ou un créé avec le protocole TCP doit écouter les demandes de connexion entrante. TcpClientIn order for TcpClient to connect and exchange data, a TcpListener or Socket created with the TCP ProtocolType must be listening for incoming connection requests. Vous pouvez vous connecter à cet écouteur de l’une des deux manières suivantes:You can connect to this listener in one of the following two ways:

  • Créez un TcpClient et appelez l’une des trois méthodes Connect disponibles.Create a TcpClient and call one of the three available Connect methods.

  • Créez un TcpClient en utilisant le nom d’hôte et le numéro de port de l’hôte distant.Create a TcpClient using the host name and port number of the remote host. Ce constructeur tente automatiquement d’effectuer une connexion.This constructor will automatically attempt a connection.

Notes

Si vous souhaitez envoyer des datagrammes sans connexion en mode de blocage synchrone, utilisez UdpClient la classe.If you want to send connectionless datagrams in synchronous blocking mode, use the UdpClient class.

Notes pour les héritiers

Pour envoyer et recevoir des données, utilisez GetStream() la méthode pour obtenir NetworkStreamun.To send and receive data, use the GetStream() method to obtain a NetworkStream. Appelez les Write(Byte[], Int32, Int32) méthodes Read(Byte[], Int32, Int32) et du NetworkStream pour envoyer et recevoir des données avec l’hôte distant.Call the Write(Byte[], Int32, Int32) and Read(Byte[], Int32, Int32) methods of the NetworkStream to send and receive data with the remote host. Utilisez la Close(Int32) méthode pour libérer toutes les ressources associées au TcpClient.Use the Close(Int32) method to release all resources associated with the TcpClient.

Constructeurs

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

Initialise une nouvelle instance de la classe TcpClient.Initializes a new instance of the TcpClient class.

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

Initialise une nouvelle instance de la classe TcpClient avec la famille spécifiée.Initializes a new instance of the TcpClient class with the specified family.

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

Initialise une nouvelle instance de la classe TcpClient et la lie au point de terminaison local spécifié.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)

Initialise une nouvelle instance de la classe TcpClient et établit une connexion au port spécifié sur l'hôte spécifié.Initializes a new instance of the TcpClient class and connects to the specified port on the specified host.

Propriétés

Active Active Active Active

Obtient ou définit une valeur indiquant si une connexion a été établie.Gets or sets a value that indicates whether a connection has been made.

Available Available Available Available

Obtient la quantité de données reçues du réseau et disponibles pour la lecture.Gets the amount of data that has been received from the network and is available to be read.

Client Client Client Client

Obtient ou définit l'élément Socket sous-jacent.Gets or sets the underlying Socket.

Connected Connected Connected Connected

Obtient une valeur indiquant si le Socket sous-jacent de TcpClient est connecté à un hôte distant.Gets a value indicating whether the underlying Socket for a TcpClient is connected to a remote host.

ExclusiveAddressUse ExclusiveAddressUse ExclusiveAddressUse ExclusiveAddressUse

Obtient ou définit une valeur Boolean qui spécifie si TcpClient n'autorise qu'un seul client à utiliser un port.Gets or sets a Boolean value that specifies whether the TcpClient allows only one client to use a port.

LingerState LingerState LingerState LingerState

Obtient ou définit les informations relatives à l'état de maintien du socket associé.Gets or sets information about the linger state of the associated socket.

NoDelay NoDelay NoDelay NoDelay

Obtient ou définit une valeur qui désactive un délai de temporisation lorsque les mémoires tampons d'envoi ou de réception ne sont pas saturées.Gets or sets a value that disables a delay when send or receive buffers are not full.

ReceiveBufferSize ReceiveBufferSize ReceiveBufferSize ReceiveBufferSize

Obtient ou définit la taille de la mémoire tampon de réception.Gets or sets the size of the receive buffer.

ReceiveTimeout ReceiveTimeout ReceiveTimeout ReceiveTimeout

Obtient ou définit la durée pendant laquelle TcpClient attendra de recevoir des données une fois l'opération de lecture initialisée.Gets or sets the amount of time a TcpClient will wait to receive data once a read operation is initiated.

SendBufferSize SendBufferSize SendBufferSize SendBufferSize

Obtient ou définit la taille de la mémoire tampon d'envoi.Gets or sets the size of the send buffer.

SendTimeout SendTimeout SendTimeout SendTimeout

Obtient ou définit la durée pendant laquelle TcpClient attendra qu'une opération d'envoi se termine correctement.Gets or sets the amount of time a TcpClient will wait for a send operation to complete successfully.

Méthodes

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

Démarre une demande asynchrone pour une connexion d'hôte distant.Begins an asynchronous request for a remote host connection. L'hôte distant est spécifié par un élément IPAddress et un numéro de port (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)

Démarre une demande asynchrone pour une connexion d'hôte distant.Begins an asynchronous request for a remote host connection. L'hôte distant est spécifié par un tableau IPAddress et un numéro de port (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)

Démarre une demande asynchrone pour une connexion d'hôte distant.Begins an asynchronous request for a remote host connection. L'hôte distant est spécifié par un nom d'hôte (String) et un numéro de port (Int32).The remote host is specified by a host name (String) and a port number (Int32).

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

Supprime cette instance de TcpClient et demande que la connexion TCP sous-jacente soit fermée.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)

Connecte le client à un hôte TCP distant en utilisant l'adresse IP et le numéro de port spécifiés.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)

Connecte le client à un hôte TCP distant en utilisant les adresses IP et le numéro de port spécifiés.Connects the client to a remote TCP host using the specified IP addresses and port number.

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

Connecte le client à un hôte TCP distant en utilisant le point de terminaison réseau distant spécifié.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)

Connecte le client au port spécifié sur l'hôte spécifié.Connects the client to the specified port on the specified host.

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

Connecte le client à un hôte TCP distant en utilisant l'adresse IP et le numéro de port spécifiés sous forme d'opération asynchrone.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)

Connecte le client à un hôte TCP distant en utilisant les adresses IP et le numéro de port spécifiés sous forme d'opération asynchrone.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)

Connecte le client au port TCP spécifié sur l'hôte spécifié en tant qu'opération asynchrone.Connects the client to the specified TCP port on the specified host as an asynchronous operation.

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

Libère toutes les ressources managées et non managées utilisées par TcpClient.Releases the managed and unmanaged resources used by the TcpClient.

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

Libère les ressources non managées utilisées par TcpClient et libère éventuellement les ressources managées.Releases the unmanaged resources used by the TcpClient and optionally releases the managed resources.

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

Met fin à une tentative de connexion asynchrone en attente.Ends a pending asynchronous connection attempt.

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

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

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

Libère les ressources utilisées par la classe TcpClient.Frees resources used by the TcpClient class.

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

Fait office de fonction de hachage par défaut.Serves as the default hash function.

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

Retourne le NetworkStream utilisé pour l'envoi et la réception de données.Returns the NetworkStream used to send and receive data.

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

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

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

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

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

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

Implémentations d’interfaces explicites

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

Libère toutes les ressources utilisées par TcpClient.Releases all resources used by the TcpClient.

Sécurité

SocketPermission
Autorisation d’établir une connexion sortante ou d’accepter une demande entrante.Permission to establish an outgoing connection or accept an incoming request.

S’applique à

Voir aussi