Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
TcpListener-Klasse
Überwacht Verbindungen von TCP-Netzwerkclients.
Assembly: System (in System.dll)
Der TcpListener-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
TcpListener(Int32) | Veraltet. Initialisiert eine neue Instanz der TcpListener-Klasse, die den angegebenen Anschluss überwacht. |
|
TcpListener(IPEndPoint) | Initialisiert eine neue Instanz der TcpListener-Klasse mit dem angegebenen lokalen Endpunkt. |
|
TcpListener(IPAddress, Int32) | Initialisiert eine neue Instanz der TcpListener-Klasse, die die eingehenden Verbindungsversuche mit der angegebenen lokalen IP-Adresse und Anschlussnummer überwacht. |
| Name | Beschreibung | |
|---|---|---|
|
Active | Ruft einen Wert ab, der angibt, ob TcpListener Clientverbindungen aktiv überwacht. |
|
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. |
|
LocalEndpoint | Ruft den zugrunde liegenden EndPoint des aktuellen TcpListener ab. |
|
Server | Ruft den zugrunde liegenden Netzwerk-Socket ab. |
| Name | Beschreibung | |
|---|---|---|
|
AcceptSocket | Nimmt eine ausstehende Verbindungsanforderung an. |
|
AcceptTcpClient | Akzeptiert eine ausstehende Verbindungsanforderung. |
|
AllowNatTraversal | Aktiviert oder deaktiviert die NAT-Überquerung (Netzwerkadressenübersetzung) für eine TcpListener-Instanz. |
|
BeginAcceptSocket | Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung anzunehmen. |
|
BeginAcceptTcpClient | Beginnt einen asynchronen Vorgang, um eine eingehende Verbindung anzunehmen. |
|
EndAcceptSocket | Nimmt asynchron einen eingehenden Verbindungsversuch an und erstellt einen neuen Socket zum Behandeln der Remotehostkommunikation. |
|
EndAcceptTcpClient | Nimmt asynchron einen eingehenden Verbindungsversuch an und erstellt einen neuen TcpClient zum Behandeln der Remotehostkommunikation. |
|
Equals(Object) | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) |
|
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.) |
|
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
Pending | Bestimmt, ob ausstehende Verbindungsanforderungen vorliegen. |
|
Start() | Beginnt die Überwachung von eingehenden Verbindungsanforderungen. |
|
Start(Int32) | Beginnt die Überwachung eingehender Verbindungsanforderungen mit einer maximalen Anzahl ausstehender Verbindungen. |
|
Stop | Schließt den Listener. |
|
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
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
|
|---|
|
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.
-
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.
Hinweis