Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

TcpListener, classe

Écoute des connexions de clients réseau TCP.

System.Object
  System.Net.Sockets.TcpListener

Espace de noms :  System.Net.Sockets
Assembly :  System (dans System.dll)

public class TcpListener

Le type TcpListener expose les membres suivants.

  NomDescription
Méthode publiqueTcpListener(Int32) Obsolète. Initialise une nouvelle instance de la classe TcpListener qui écoute sur le port spécifié.
Méthode publiqueTcpListener(IPEndPoint)Initialise une nouvelle instance de la classe TcpListener avec le point de terminaison local spécifié.
Méthode publiqueTcpListener(IPAddress, Int32)Initialise une nouvelle instance de la classe TcpListener qui écoute les tentatives de connexion entrante sur l'adresse IP locale et le numéro de port spécifiés.
Début

  NomDescription
Propriété protégéeActiveObtient une valeur qui indique si TcpListener écoute activement des connexions clientes.
Propriété publiqueExclusiveAddressUseObtient ou définit une valeur Boolean qui spécifie si TcpListener n'autorise qu'un seul socket sous-jacent à écouter un port spécifique.
Propriété publiqueLocalEndpointObtient le EndPoint sous-jacent du TcpListener actuel.
Propriété publiqueServerObtient le Socket réseau sous-jacent.
Début

  NomDescription
Méthode publiqueAcceptSocketAccepte une demande de connexion en attente.
Méthode publiqueAcceptSocketAsyncAccepte une demande de connexion en attente en tant qu'opération asynchrone.
Méthode publiqueAcceptTcpClientAccepte une demande de connexion en attente.
Méthode publiqueAcceptTcpClientAsyncAccepte une demande de connexion en attente en tant qu'opération asynchrone.
Méthode publiqueAllowNatTraversalActive ou désactive la traversée du traducteur d'accès réseau (NAT) sur une instance de TcpListener.
Méthode publiqueBeginAcceptSocketDémarre une opération asynchrone pour accepter une tentative de connexion entrante.
Méthode publiqueBeginAcceptTcpClientDémarre une opération asynchrone pour accepter une tentative de connexion entrante.
Méthode publiqueMembre statiqueCreateCrée une nouvelle instance TcpListener pour écouter sur le port spécifié.
Méthode publiqueEndAcceptSocketAccepte de manière asynchrone une tentative de connexion entrante et crée un nouveau Socket pour gérer les communications de l'hôte distant.
Méthode publiqueEndAcceptTcpClientAccepte de manière asynchrone une tentative de connexion entrante et crée un nouveau TcpClient pour gérer les communications de l'hôte distant.
Méthode publiqueEquals(Object)Détermine si l'objet spécifié est identique à l'objet actuel. (Hérité de Object.)
Méthode protégéeFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueGetHashCodeSert de fonction de hachage par défaut. (Hérité de Object.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publiquePendingDétermine la présence éventuelle de demandes de connexion en attente.
Méthode publiqueStart()Démarre l'écoute de demandes de connexion entrante.
Méthode publiqueStart(Int32)Lance l'écoute des demandes de connexion entrantes avec un nombre maximal de connexions en attente.
Méthode publiqueStopFerme l'écouteur.
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actif. (Hérité de Object.)
Début

La classe TcpListener fournit des méthodes simples qui écoutent et acceptent les demandes de connexion entrante en mode blocage synchrone. Vous pouvez utiliser TcpClient ou Socket pour vous connecter à TcpListener. Créez TcpListener en utilisant IPEndPoint, une adresse IP locale et un numéro de port, ou seulement un numéro de port. Spécifiez le champ Any pour l'adresse IP locale et 0 pour le numéro de port local si vous souhaitez que le fournisseur de services sous-jacent assigne ces valeurs pour vous. Si vous choisissez de le faire, vous pouvez utiliser la propriété LocalEndpoint pour identifier les informations assignées une fois le socket connecté.

Utilisez la méthode Start pour commencer à écouter les requêtes de connexion entrantes. Start mettra en file d'attente les connexions entrantes jusqu'à ce que vous appeliez la méthode Stop ou que le champ MaxConnections ait été mis en file d'attente. Utilisez la méthode AcceptSocket ou AcceptTcpClient pour extraire une connexion en provenance de la file d'attente des demandes de connexion entrante. Ces deux méthodes se bloquent. Si vous voulez éviter le blocage, vous pouvez utiliser préalablement la méthode Pending pour déterminer si les demandes de connexion sont disponibles dans la file d'attente.

Appelez la méthode Stop pour fermer TcpListener.

RemarqueRemarque

La méthode Stop ne ferme aucune connexion acceptée. C'est à vous qu'il incombe de fermer celles-ci séparément.

L'exemple de code suivant crée TcpListener.


using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;

class MyTcpListener
{
  public static void Main()
  { 
    TcpListener server=null;   
    try
    {
      // Set the TcpListener on port 13000.
      Int32 port = 13000;
      IPAddress localAddr = IPAddress.Parse("127.0.0.1");

      // TcpListener server = new TcpListener(port);
      server = new TcpListener(localAddr, port);

      // Start listening for client requests.
      server.Start();

      // Buffer for reading data
      Byte[] bytes = new Byte[256];
      String data = null;

      // Enter the listening loop.
      while(true) 
      {
        Console.Write("Waiting for a connection... ");

        // Perform a blocking call to accept requests.
        // You could also user server.AcceptSocket() here.
        TcpClient client = server.AcceptTcpClient();            
        Console.WriteLine("Connected!");

        data = null;

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

        int i;

        // Loop to receive all the data sent by the client.
        while((i = stream.Read(bytes, 0, bytes.Length))!=0) 
        {   
          // Translate data bytes to a ASCII string.
          data = System.Text.Encoding.ASCII.GetString(bytes, 0, i);
          Console.WriteLine("Received: {0}", data);

          // Process the data sent by the client.
          data = data.ToUpper();

          byte[] msg = System.Text.Encoding.ASCII.GetBytes(data);

          // Send back a response.
          stream.Write(msg, 0, msg.Length);
          Console.WriteLine("Sent: {0}", data);            
        }

        // Shutdown and end connection
        client.Close();
      }
    }
    catch(SocketException e)
    {
      Console.WriteLine("SocketException: {0}", e);
    }
    finally
    {
       // Stop listening for new clients.
       server.Stop();
    }


    Console.WriteLine("\nHit enter to continue...");
    Console.Read();
  }   
}


Pour obtenir un exemple de client, consultez TcpClient.

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

  • SocketPermission 

    pour établir une connexion sortante ou accepter une demande entrante.

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft