TcpClient Classe

Définition

Fournit des connexions clientes pour les services réseau TCP.

public ref class TcpClient : IDisposable
public class TcpClient : IDisposable
type TcpClient = class
    interface IDisposable
Public Class TcpClient
Implements IDisposable
Héritage
TcpClient
Implémente

Exemples

L’exemple de code suivant établit une TcpClient connexion.

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;

    // Prefer a using declaration to ensure the instance is Disposed later.
    using 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.
    NetworkStream stream = client.GetStream();

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

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

    // Receive the server 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);

    // Explicit close is not necessary since TcpClient.Dispose() will be
    // called automatically.
    // 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

      ' Prefer using declaration to ensure the instance is Disposed later.
      Using 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.
         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 server 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)
         
         ' Explicit close is not necessary since TcpClient.Dispose() will be
         ' called automatically.
         ' stream.Close()
         ' client.Close()
      End Using
   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

Remarques

La TcpClient classe fournit des méthodes simples pour connecter, envoyer et recevoir des données de flux sur un réseau en mode de blocage synchrone.

Pour TcpClient se connecter et échanger des données, une TcpListener ou Socket créée avec le protocole TCP ProtocolType doit écouter les demandes de connexion entrantes. Vous pouvez vous connecter à cet écouteur de l’une des deux manières suivantes :

  • Créez une TcpClient méthode et appelez l’une des trois méthodes disponibles Connect .

  • Créez un TcpClient nom d’hôte et le numéro de port de l’hôte distant. Ce constructeur tente automatiquement une connexion.

Note

Si vous souhaitez envoyer des datagrammes sans connexion en mode de blocage synchrone, utilisez la UdpClient classe.

Notes pour les héritiers

Pour envoyer et recevoir des données, utilisez la GetStream() méthode pour obtenir un NetworkStream. Appelez les méthodes et Read(Byte[], Int32, Int32) les Write(Byte[], Int32, Int32) méthodes de l’envoi et de la NetworkStream réception de données avec l’hôte distant. Utilisez la Close(Int32) méthode pour libérer toutes les ressources associées au TcpClient.

Constructeurs

Nom Description
TcpClient()

Initialise une nouvelle instance de la classe TcpClient.

TcpClient(AddressFamily)

Initialise une nouvelle instance de la TcpClient classe avec la famille spécifiée.

TcpClient(IPEndPoint)

Initialise une nouvelle instance de la TcpClient classe et la lie au point de terminaison local spécifié.

TcpClient(String, Int32)

Initialise une nouvelle instance de la TcpClient classe et se connecte au port spécifié sur l’hôte spécifié.

Propriétés

Nom Description
Active

Obtient ou définit une valeur qui indique si une connexion a été établie.

Available

Obtient la quantité de données qui ont été reçues du réseau et qui sont disponibles pour être lues.

Client

Obtient ou définit le sous-jacent Socket.

Connected

Obtient une valeur indiquant si le sous-jacent Socket d’un TcpClient hôte distant est connecté.

ExclusiveAddressUse

Obtient ou définit une Boolean valeur qui spécifie si le TcpClient seul client autorise l’utilisation d’un port.

LingerState

Obtient ou définit des informations sur l’état persistant du socket associé.

NoDelay

Obtient ou définit une valeur qui désactive un délai lorsque les mémoires tampons d’envoi ou de réception ne sont pas complètes.

ReceiveBufferSize

Obtient ou définit la taille de la mémoire tampon de réception.

ReceiveTimeout

Obtient ou définit la durée pendant laquelle une TcpClient opération de lecture est lancée avant d’attendre la réception des données.

SendBufferSize

Obtient ou définit la taille de la mémoire tampon d’envoi.

SendTimeout

Obtient ou définit la durée pendant laquelle une TcpClient opération d’envoi doit s’exécuter correctement.

Méthodes

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

Commence une demande asynchrone pour une connexion hôte distante. L’hôte distant est spécifié par un IPAddress numéro de port (Int32).

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

Commence une demande asynchrone pour une connexion hôte distante. L’hôte distant est spécifié par un IPAddress tableau et un numéro de port (Int32).

BeginConnect(String, Int32, AsyncCallback, Object)

Commence une demande asynchrone pour une connexion hôte distante. L’hôte distant est spécifié par un nom d’hôte (String) et un numéro de port (Int32).

Close()

Supprime cette TcpClient instance et demande que la connexion TCP sous-jacente soit fermée.

Connect(IPAddress, Int32)

Connecte le client à un hôte TCP distant à l’aide de l’adresse IP et du numéro de port spécifiés.

Connect(IPAddress[], Int32)

Connecte le client à un hôte TCP distant à l’aide des adresses IP et du numéro de port spécifiés.

Connect(IPEndPoint)

Connecte le client à un hôte TCP distant à l’aide du point de terminaison réseau distant spécifié.

Connect(String, Int32)

Connecte le client au port spécifié sur l’hôte spécifié.

ConnectAsync(IPAddress, Int32)

Connecte le client à un hôte TCP distant à l’aide de l’adresse IP et du numéro de port spécifiés en tant qu’opération asynchrone.

ConnectAsync(IPAddress[], Int32)

Connecte le client à un hôte TCP distant à l’aide des adresses IP et du numéro de port spécifiés en tant qu’opération asynchrone.

ConnectAsync(String, Int32)

Connecte le client au port TCP spécifié sur l’hôte spécifié en tant qu’opération asynchrone.

Dispose()

Libère les ressources managées et non managées utilisées par le TcpClient.

Dispose(Boolean)

Libère les ressources non managées utilisées par les TcpClient ressources gérées et libère éventuellement les ressources managées.

EndConnect(IAsyncResult)

Termine une tentative de connexion asynchrone en attente.

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
Finalize()

Libère les ressources utilisées par la TcpClient classe.

GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetStream()

Retourne l’objet NetworkStream utilisé pour envoyer et recevoir des données.

GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l’objet actuel.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IDisposable.Dispose()

Cette API prend en charge l'infrastructure du produit et n'est pas destinée à être utilisée directement à partir de votre code.

Libère toutes les ressources utilisées par le TcpClient.

S’applique à

Voir aussi