Verbinden mit Sockets (HTML)

[ Dieser Artikel richtet sich an Windows 8.x- und Windows Phone 8.x-Entwickler, die Windows-Runtime-Apps schreiben. Wenn Sie für Windows 10 entwickeln, finden Sie weitere Informationen unter neueste Dokumentation]

Nutzen Sie Features im Windows.Networking.Sockets-Namespace, um Daten mit TCP- oder UDP-Sockets in Ihrer Windows Store-App zu senden und zu empfangen.

Sockets bieten eine Low-Level-Schnittstelle für das Senden und Empfangen von Netzwerkdaten. Zu den primären Klassen für die Verwendung mit Sockets gehören die folgenden:

  • DatagramSocket – Wird verwendet, um die Netzwerkkommunikation über einen UDP-Datagrammsocket zu unterstützen.
  • StreamSocket – Wird verwendet, um die Netzwerkkommunikation über einen TCP-Datenstromsocket zu unterstützen.
  • StreamSocketListener – Wird verwendet, um auf eine eingehende Netzwerkverbindung zu achten, die einen TCP-Datenstromsocket verwendet.

Für die oben aufgeführten primären Klassen gibt es außerdem eine Reihe verbundener Unterstützungsklassen im Windows.Networking.Sockets-Namespace, die mit diesen Klassen verwendet werden.

Entwicklerzielgruppe

Das Thema richtet sich an JavaScript-, C#-, VB.NET- oder C++-Entwickler, die in einer Windows-Runtime-App die Nutzung von Sockets für die Netzwerkkommunikation ermöglichen möchten. Dieses Feature umfasst TCP- und UDP-Sockets, einschließlich UDP-Multicast, mit denen Entwickler weitere Netzwerkprotokolle höherer Schichten implementieren können. TCP- und UDP-Sockets können von einer App verwendet werden, um Clientverbindungen herzustellen, um auf Verbindungen zu achten und um als Server oder als Client und Server gleichzeitig zu fungieren.

Ziehen Sie je nach Anforderungen Ihrer App die Verwendung der folgenden Protokolle in Betracht.

App-Merkmale Zu verwendende Sockets

Die App stellt eine Verbindung mit einem Netzwerkdienst her, der ein vorhandenes Protokoll (beispielsweise SMTP, POP, IMAP oder MAPI für E-Mail) verwendet, das nicht direkt von anderen Netzwerkfeatures unterstützt wird.

TCP- oder UDP-Sockets

Die App stellt eine Verbindung mit einem anderen Computer im gleichen lokalen Netzwerk her.

TCP- oder UDP-Sockets

Für die App wird ein einfaches Anforderungs-/Antwortprotokoll benötigt, das über HTTP-Proxys kommunizieren kann.

Verfügbare REST-APIs (Representational State Transfer), die C#, VB.NET und C++ verwenden

Für die App ist eine socketähnliche Semantik (asynchrone, bidirektionale Übertragungen) erforderlich, um Verbindungen über das Web herzustellen. Dies schließt Verbindungen über HTTP-Proxys ein.

WebSockets

 

Sockets werden von den Klassen in den Namespaces Windows.Networking.Sockets und Windows.Networking unterstützt.

Mit Windows 8 wird außerdem ein neuer Sockettyp, ein WebSocket, eingeführt. Weitere Informationen finden Sie unter Verbinden mit WebSockets und in den Beschreibungen zu den Klassen MessageWebSocket und StreamWebSocket.

Inhalt dieses Abschnitts

Thema Beschreibung
So wird's gemacht: Herstellen einer Verbindung mit einem Streamsocket

Hier erfahren Sie, wie Sie mit einem Datenstromsocket, der TCP zum Senden und Empfangen von Daten verwendet, eine Verbindung mit einer Netzwerkressource herstellen.

So wird's gemacht: Herstellen einer Verbindung mit einem Datagrammsocket

Hier erfahren Sie, wie Sie mit einem Datagrammsocket, der UDP zum Senden und Empfangen von Daten verwendet, eine Verbindung mit einer Netzwerkressource herstellen.

Verwenden erweiterter Socketsteuerelemente

Hier erfahren Sie, wie Sie erweiterte Socketsteuerelemente verwenden, wenn Sie ein DatagramSocket-, StreamSocket- oder StreamSocketListener-Objekt verwenden.

So wird's gemacht: Sichern von Socketverbindungen mit TLS/SSL

Hier erfahren Sie, wie Sie Socketverbindungen mit TLS/SSL sichern, wenn Sie ein StreamSocket-Objekt verwenden.

So wird's gemacht: Festlegen von Timeouts für Socketvorgänge

Hier erfahren Sie, wie Timeouts für Netzwerk-Socketvorgänge festgelegt werden, um die Wartezeit bis zum Abschluss eines Vorgangs zu begrenzen.

 

Verwenden von Sockets mit der Netzwerkisolation

Mit dem Netzwerkisolationsfeature in Windows 8.1, Windows Phone 8.1 und Windows Server 2012 R2 können Entwickler den Netzwerkzugriff einer Windows-Runtime-App steuern und begrenzen. Nicht jede App muss Zugriff auf das Netzwerk haben. Wenn dies aber für eine App erforderlich ist, bieten Windows 8.1 und Windows Server 2012 R2 verschiedene Netzwerkzugriffsebenen, die durch Auswahl der entsprechenden Funktionen aktiviert werden können.

Mit der Netzwerkisolation kann ein Entwickler für jede App den Umfang des erforderlichen Netzwerkzugriffs definieren. Eine App, für die der geeignete Umfang nicht definiert wurde, wird am Zugriff auf den angegebenen Netzwerktyp und an bestimmten Netzwerkanforderungstypen (ausgehende, vom Client initiierte Anforderungen oder sowohl eingehende, unaufgeforderte Anforderungen als auch ausgehende, vom Client initiierte Anforderungen) gehindert. Durch die Möglichkeit, die Netzwerkisolation festzulegen und zu erzwingen, wird sichergestellt, dass eine App im Falle ihres Missbrauchs nur auf Netzwerke zugreifen kann, für die der App explizit der Zugriff gestattet wurde. Hierdurch wird das Ausmaß der Auswirkungen auf andere Anwendungen und auf Windows erheblich reduziert.

Die Netzwerkisolation wirkt sich auf alle Klassenelemente im Windows.Networking.SocketsNamespace und in verwandten Namespaces auf, die versuchen, auf das Netzwerk zuzugreifen. Die Netzwerkisolation wird unter Windows aktiv erzwungen. Ein Aufruf eines Klassenelements im Windows.Networking.Sockets-Namespace, der zu einem Netzwerkzugriff führt, kann aufgrund der Netzwerkisolation scheitern, falls die geeignete Netzwerkfunktion nicht aktiviert wurde.

Die Netzwerkfunktionen für eine App werden beim Erstellen der App im App-Manifest konfiguriert. Netzwerkfunktionen werden normalerweise bei der Entwicklung einer App mithilfe von Microsoft Visual Studio 2013 hinzugefügt. Sie können aber auch manuell mit einem Texteditor in der App-Manifestdatei festgelegt werden.

Detailinformationen zur Netzwerkisolation finden Sie unter So wird's gemacht: Konfigurieren von Netzwerkisolationsfunktionen.

Verwandte Themen

Weitere Ressourcen

Hinzufügen der Netzwerkunterstützung

Verbinden mit WebSockets

So wird's gemacht: Konfigurieren von Netzwerkisolationsfunktionen

So wird's gemacht: Festlegen von Optionen für Hintergrundkonnektivität

Problembehandlung und Debuggen von Netzwerkverbindungen

Referenz

Windows.Networking

Windows.Networking.Connectivity

Windows.Networking.Sockets

Beispiele

DatagramSocket-Beispiel

StreamSocket-Beispiel