Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

TcpListener-Klasse

Überwacht Verbindungen von TCP-Netzwerkclients.

System.Object
  System.Net.Sockets.TcpListener

Namespace:  System.Net.Sockets
Assembly:  System (in System.dll)
public class TcpListener

Der TcpListener-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Öffentliche Methode TcpListener(Int32) Veraltet. Initialisiert eine neue Instanz der TcpListener-Klasse, die den angegebenen Anschluss überwacht.
Öffentliche Methode TcpListener(IPEndPoint) Initialisiert eine neue Instanz der TcpListener-Klasse mit dem angegebenen lokalen Endpunkt.
Öffentliche Methode TcpListener(IPAddress, Int32) Initialisiert eine neue Instanz der TcpListener-Klasse, die die eingehenden Verbindungsversuche mit der angegebenen lokalen IP-Adresse und Anschlussnummer überwacht.
Zum Seitenanfang
  Name Beschreibung
Geschützte Eigenschaft Active Ruft einen Wert ab, der angibt, ob TcpListener Clientverbindungen aktiv überwacht.
Öffentliche Eigenschaft ExclusiveAddressUse Ruft einen Boolean-Wert ab, der angibt, ob der TcpListener das Überwachen eines bestimmten Anschlusses durch nur einen einzigen zugrunde liegenden Socket zulässt, oder legt diesen fest.
Öffentliche Eigenschaft LocalEndpoint Ruft den zugrunde liegenden EndPoint des aktuellen TcpListener ab.
Öffentliche Eigenschaft Server Ruft den zugrunde liegenden Netzwerk-Socket ab.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode AcceptSocket Nimmt eine ausstehende Verbindungsanforderung an.
Öffentliche Methode AcceptTcpClient Akzeptiert eine ausstehende Verbindungsanforderung.
Öffentliche Methode AllowNatTraversal Aktiviert oder deaktiviert die NAT-Überquerung (Netzwerkadressenübersetzung) für eine TcpListener-Instanz.
Öffentliche Methode BeginAcceptSocket Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung anzunehmen.
Öffentliche Methode BeginAcceptTcpClient Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung anzunehmen.
Öffentliche Methode EndAcceptSocket Nimmt asynchron einen eingehenden Verbindungsversuch an und erstellt einen neuen Socket zum Behandeln der Remotehostkommunikation.
Öffentliche Methode EndAcceptTcpClient Nimmt asynchron einen eingehenden Verbindungsversuch an und erstellt einen neuen TcpClient zum Behandeln der Remotehostkommunikation.
Öffentliche Methode Equals(Object) Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Geschützte Methode MemberwiseClone Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Öffentliche Methode Pending Bestimmt, ob ausstehende Verbindungsanforderungen vorliegen.
Öffentliche Methode Start() Beginnt die Überwachung von eingehenden Verbindungsanforderungen.
Öffentliche Methode Start(Int32) Beginnt die Überwachung eingehender Verbindungsanforderungen mit einer maximalen Anzahl ausstehender Verbindungen.
Öffentliche Methode Stop Schließt den Listener.
Öffentliche Methode ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Zum Seitenanfang

Die TcpListener-Klasse stellt einfache Methoden für die Überwachung und Annahme von eingehenden Verbindungsanforderungen im synchronen Blockiermodus bereit. Sie können zum Verbinden mit einem TcpListener entweder einen TcpClient oder einen Socket verwenden. Erstellen Sie einen TcpListener mit einem IPEndPoint, einer lokalen IP-Adresse und Anschlussnummer oder nur mit einer Anschlussnummer. Geben Sie als lokale IP-Adresse Any und 0 als lokale Anschlussnummer an, wenn der zugrunde liegende Dienstanbieter diese Werte zuweisen soll. In diesem Fall können Sie später mit der LocalEndpoint-Eigenschaft die zugewiesenen Informationen identifizieren.

Verwenden Sie die Start-Methode, um die Überwachung von eingehenden Verbindungsanforderungen zu beginnen. Start verweist eingehende Verbindungen in die Warteschlange, bis Sie entweder die Stop-Methode aufrufen oder MaxConnections von Verbindungen erreicht wurde. Sie können entweder mit AcceptSocket oder mit AcceptTcpClient eine Verbindung aus der Warteschlange der eingehenden Verbindungsanforderungen abrufen. Beide Methoden blockieren. Wenn Sie das Blockieren vermeiden möchten, können Sie zuerst mit der Pending-Methode bestimmen, ob sich Verbindungsanforderungen in der Warteschlange befinden.

Rufen Sie die Stop-Methode auf, um den TcpListener zu schließen.

Hinweis Hinweis

Die Stop-Methode schließt keine angenommenen Verbindungen. Diese müssen von Ihnen eigens geschlossen werden.

Im folgenden Codebeispiel wird ein TcpListener erstellt.


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();
  }   
}


Ein Beispiel für Clients finden Sie unter TcpClient.

.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1
  • SocketPermission  

    mit der ausgehende Verbindungen hergestellt oder eingehende Anforderungen angenommen werden können.

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ