IoT Hub-Gerätestreams (Vorschau)IoT Hub Device Streams (preview)

Azure IoT Hub-Gerätestreams vereinfachen das Erstellen sicherer bidirektionaler TCP-Tunnel für eine Vielzahl von Szenarios mit Kommunikation zwischen Cloud und Gerät.Azure IoT Hub device streams facilitate the creation of secure bi-directional TCP tunnels for a variety of cloud-to-device communication scenarios. Ein Gerätestream wird durch einen IoT Hub-Streamingendpunkt vermittelt, der als Proxy zwischen Ihrem Gerät und den Dienstendpunkten fungiert.A device stream is mediated by an IoT Hub streaming endpoint which acts as a proxy between your device and service endpoints. Dieses Setup ist im folgenden Diagramm dargestellt. Es eignet sich besonders, wenn die Geräte sich hinter einer Netzwerkfirewall oder in einem privaten Netzwerk befinden.This setup, depicted in the diagram below, is especially useful when devices are behind a network firewall or reside inside of a private network. So erfüllen IoT Hub-Gerätestreams die Kundenanforderung, IoT-Geräte firewallfreundlich zu erreichen, ohne Eingangs- und Ausgangsports der Netzwerkfirewall weit zu öffnen.As such, IoT Hub device streams help address customers' need to reach IoT devices in a firewall-friendly manner and without the need to broadly opening up incoming or outgoing network firewall ports.

„Übersicht über IoT Hub-Gerätestreams“

Mithilfe von IoT Hub-Gerätestreams bleiben Geräte geschützt und müssen nur TCP-Ausgangsverbindungen für den IoT Hub-Streamingendpunkt über Port 443 öffnen.Using IoT Hub device streams, devices remain secure and will only need to open up outbound TCP connections to IoT hub's streaming endpoint over port 443. Nachdem ein Stream eingerichtet wurde, besitzen die dienstseitigen und geräteseitigen Anwendungen jeweils programmgesteuerten Zugriff auf ein WebSocket-Clientobjekt, um sich gegenseitig Rohbytes zu senden bzw. zu empfangen.Once a stream is established, the service-side and device-side applications will each have programmatic access to a WebSocket client object to send and receive raw bytes to one another. Die durch diesen Tunnel bereitgestellte Zuverlässigkeit und garantierte Reihenfolge ist gleichwertig mit TCP.The reliability and ordering guarantees provided by this tunnel is on par with TCP.

VorteileBenefits

IoT Hub-Gerätestreams bieten folgende Vorteile:IoT Hub device streams provide the following benefits:

  • Firewallfreundliche, sichere Konnektivität: IoT-Geräte können von Dienstendpunkten aus erreicht werden, ohne auf dem Gerät oder im Netzwerkumkreis einen Eingangsfirewallport zu öffnen (nur Ausgangskonnektivität zu IoT Hub über Port 443 ist erforderlich).Firewall-friendly secure connectivity: IoT devices can be reached from service endpoints without opening of inbound firewall port at the device or network perimeters (only outbound connectivity to IoT Hub is needed over port 443).

  • Authentifizierung: Sowohl die Geräte- als auch die Dienstseite des Tunnels müssen sich bei IoT Hub mit den entsprechenden Anmeldeinformationen authentifizieren.Authentication: Both device and service sides of the tunnel need to authenticate with IoT Hub using their corresponding credentials.

  • Verschlüsselung: Standardmäßig verwenden IoT Hub-Gerätestreams TLS-aktivierte Verbindungen.Encryption: By default, IoT Hub device streams use TLS-enabled connections. Dadurch wird sichergestellt, dass der Datenverkehr immer verschlüsselt ist, unabhängig davon, ob die Anwendung Verschlüsselung verwendet.This ensures that the traffic is always encrypted regardless of whether the application uses encryption or not.

  • Einfache Konnektivität: Durch die Verwendung von Gerätestreams ist zum Herstellen von Konnektivität mit IoT-Geräten in vielen Fällen kein komplexes Setup virtueller privater Netzwerke mehr erforderlich.Simplicity of connectivity: In many cases, the use of device streams eliminates the need for complex setup of Virtual Private Networks to enable connectivity to IoT devices.

  • Kompatibilität mit TCP/IP-Stapel: IoT Hub-Gerätestreams können TCP/IP-Anwendungsdatenverkehr verarbeiten.Compatibility with TCP/IP stack: IoT Hub device streams can accommodate TCP/IP application traffic. Dies bedeutet, dass dieses Feature von einer Vielzahl proprietärer sowie auf Standards basierender Protokolle genutzt werden kann.This means that a wide range of proprietary as well as standards-based protocols can leverage this feature.

  • Einfache Verwendung in privaten Netzwerksetups: Der Dienst kann mit einem Dienst kommunizieren, indem auf seine Geräte-ID verwiesen wird, anstatt auf die IP-Adresse des Geräts.Ease of use in private network setups: Service can communicate with a device by referencing its device ID, rather than device's IP address. Dies ist hilfreich in Situationen, in denen sich ein Gerät in einem privaten Netzwerk befindet und über eine private IP-Adresse verfügt oder die IP-Adresse dynamisch zugewiesen wird und der Dienstseite unbekannt ist.This is useful in situations where a device is located inside a private network and has a private IP address, or its IP address is assigned dynamically and is unknown to the service side.

GerätestreamworkflowsDevice stream workflows

Ein Gerätestream wird initiiert, wenn der Dienst eine Verbindung mit einem Gerät durch Bereitstellung der Geräte-ID anfordert.A device stream is initiated when the service requests to connect to a device by providing its device ID. Dieser Workflow passt besonders gut zum Client/Server-Kommunikationsmodell, einschließlich SSH und RDP, in dem ein Benutzer über ein SSH- oder RDP-Clientprogramm eine Remoteverbindung mit dem SSH- oder RDP-Server herstellen möchte, der auf dem Gerät ausgeführt wird.This workflow particularly fits into a client/server communication model, including SSH and RDP, where a user intends to remotely connect to the SSH or RDP server running on the device using an SSH or RDP client program.

Der Erstellungsvorgang für Gerätestreams umfasst eine Aushandlung zwischen dem Gerät, dem Dienst, dem IoT Hub-Hauptendpunkt und den Streamingendpunkten.The device stream creation process involves a negotiation between the device, service, IoT hub's main and streaming endpoints. Während der IoT Hub-Hauptendpunkt die Erstellung eines Gerätestreams orchestriert, verarbeitet der Streamingendpunkt den Datenverkehr zwischen dem Dienst und dem Gerät.While IoT hub's main endpoint orchestrates the creation of a device stream, the streaming endpoint handles the traffic that flows between the service and device.

Ablauf zur GerätestreamerstellungDevice stream creation flow

Die programmgesteuerte Erstellung eines Gerätestreams mit dem SDK umfasst die folgenden Schritte, die auch in der folgenden Abbildung dargestellt werden:Programmatic creation of a device stream using the SDK involves the following steps, which are also depicted in the figure below:

„Handshakeprozess des Gerätestreams“

  1. Die Geräteanwendung registriert einen Rückruf, um im Voraus benachrichtigt zu werden, wenn ein neuer Gerätestream zum Gerät initiiert wird.The device application registers a callback in advance to be notified of when a new device stream is initiated to the device. Dieser Schritt findet in der Regel statt, wenn das Gerät gestartet wird und eine Verbindung mit der IoT Hub-Instanz herstellt.This step typically takes place when the device boots up and connects to IoT Hub.

  2. Das dienstseitige Programm initiiert bei Bedarf einen Gerätestream durch Bereitstellen der Geräte-ID (nicht der IP-Adresse).The service-side program initiates a device stream when needed by providing the device ID (not the IP address).

  3. IoT Hub benachrichtigt das dienstseitige Programm durch Aufrufen des in Schritt 1 registrierten Rückrufs.IoT hub notifies the device-side program by invoking the callback registered in step 1. Das Gerät kann die Anforderung der Streaminitiierung annehmen oder ablehnen.The device may accept or reject the stream initiation request. Diese Logik kann speziell auf Ihr Anwendungsszenario zugeschnitten sein.This logic can be specific to your application scenario. Wenn die Streamanforderung vom Gerät abgelehnt wird, informiert IoT Hub den Dienst entsprechend. Andernfalls folgen die unten aufgeführten Schritte.If the stream request is rejected by the device, IoT Hub informs the service accordingly; otherwise, the steps below follow.

  4. Das Gerät erstellt über Port 443 eine sichere ausgehende TCP-Verbindung mit dem Streamingendpunkt und führt ein Upgrade der Verbindung auf WebSocket durch.The device creates a secure outbound TCP connection to the streaming endpoint over port 443 and upgrades the connection to a WebSocket. Die URL des Streamingendpunkts sowie die zum Authentifizieren verwendeten Anmeldeinformationen werden dem Gerät von IoT Hub im Rahmen der Anforderung bereitgestellt, die in Schritt 3 gesendet wurde.The URL of the streaming endpoint as well as the credentials to use to authenticate are both provided to the device by IoT Hub as part of the request sent in step 3.

  5. Der Dienst wird über das Ergebnis der Annahme des Streams durch das Gerät benachrichtigt und erstellt dann einen eigenen WebSocket-Client für den Streamingendpunkt.The service is notified of the result of device accepting the stream and proceeds to create its own WebSocket client to the streaming endpoint. Auf ähnliche Weise empfängt er die Streamingendpunkt-URL und die Authentifizierungsinformationen von IoT Hub.Similarly, it receives the streaming endpoint URL and authentication information from IoT Hub.

Beim obigen Handshakevorgang:In the handshake process above:

  • Der Handshakevorgang muss innerhalb von 60 Sekunden abgeschlossen werden (Schritt 2 bis 5). Andernfalls tritt ein Timeoutfehler auf, und der Dienst wird entsprechend benachrichtigt.The handshake process must complete within 60 seconds (step 2 through 5), otherwise the handshake would fail with a timeout and the service will be notified accordingly.

  • Nach Abschluss des obigen Ablaufs zur Streamerstellung fungiert der Streamingendpunkt als Proxy und überträgt Datenverkehr zwischen dem Dienst und dem Gerät über die jeweiligen WebSockets.After the stream creation flow above completes, the streaming endpoint will act as a proxy and will transfer traffic between the service and the device over their respective WebSockets.

  • Gerät und Dienst benötigen ausgehende Konnektivität über Port 443 mit dem wichtigsten IoT Hub-Endpunkt sowie dem Streamingendpunkt.Device and service both need outbound connectivity to IoT Hub's main endpoint as well as the streaming endpoint over port 443. Die URL dieser Endpunkte ist auf der Registerkarte Übersicht im IoT Hub-Portal verfügbar.The URL of these endpoints is available on Overview tab on the IoT Hub's portal.

  • Die Zuverlässigkeit und garantierte Reihenfolge eines eingerichteten Streams ist gleichwertig mit TCP.The reliability and ordering guarantees of an established stream is on par with TCP.

  • Alle Verbindungen mit IoT Hub und dem Streamingendpunkt verwenden TLS und sind verschlüsselt.All connections to IoT Hub and streaming endpoint use TLS and are encrypted.

BeendigungsablaufTermination flow

Ein eingerichteter Stream wird beendet, wenn eine der TCP-Verbindungen mit dem Gateway (durch den Dienst oder das Gerät) getrennt wird.An established stream terminates when either of the TCP connections to the gateway are disconnected (by the service or device). Dies kann durch Schließen des WebSockets im Geräte- oder Dienstprogramm geplant stattfinden oder unbeabsichtigt aufgrund eines Timeouts bei der Netzwerkkonnektivität oder aufgrund eines Prozessfehlers.This can take place voluntarily by closing the WebSocket on either the device or service programs, or involuntarily in case of a network connectivity timeout or process failure. Bei Beendigung einer der Verbindungen (Gerät oder Dienst) mit dem Streamingendpunkt wird auch die andere TCP-Verbindung zwangsweise beendet, und Dienst und Gerät sind dafür zuständig, den Stream bei Bedarf neu zu erstellen.Upon termination of either device or service's connection to the streaming endpoint, the other TCP connection will also be (forcefully) terminated and the service and device are responsible to re-create the stream, if needed.

KonnektivitätsanforderungenConnectivity Requirements

Sowohl die Geräte- als auch die Dienstseite eines Gerätestreams muss dazu in der Lage sein, TLS-fähige Verbindungen mit IoT Hub und dem zugehörigen Streamingendpunkt herzustellen.Both the device and the service sides of a device stream must be capable of establishing TLS-enabled connections to IoT Hub and its streaming endpoint. Hierfür ist eine ausgehende Konnektivität über Port 443 mit diesen Endpunkten erforderlich.This requires outbound connectivity over port 443 to these endpoints. Den diesen Endpunkten zugeordneten Hostnamen finden Sie auf der IoT Hub-Registerkarte Übersicht, wie in der folgenden Abbildung gezeigt:The hostname associated with these endpoints can be found on the Overview tab of IoT Hub, as shown in the figure below:

„Gerätestreamingendpunkte“

Alternativ dazu können die Endpunktinformationen über die Azure CLI unter dem Abschnitt mit dem Hubeigenschaften abgerufen werden, insbesondere über die Schlüssel property.hostname und property.deviceStreams.Alternatively, the endpoints information can be retrieved using Azure CLI under the hub's properties section, specifically, property.hostname and property.deviceStreams keys.

az iot hub devicestream show --name <YourIoTHubName>

Die Ausgabe ist ein JSON-Objekt aller Endpunkte, mit denen das Gerät und der Dienst Ihres Hubs möglicherweise eine Verbindung herstellen muss, um einen Gerätestream einzurichten.The output is a JSON object of all endpoints that your hub's device and service may need to connect to in order to establish a device stream.

{
  "streamingEndpoints": [
    "https://<YourIoTHubName>.<region-stamp>.streams.azure-devices.net"
  ]
}

Hinweis

Stellen Sie sicher, dass mindestens Version 2.0.57 der Azure-Befehlszeilenschnittstelle installiert ist.Ensure you have installed Azure CLI version 2.0.57 or newer. Sie können die neueste Version über die Seite Azure CLI installieren herunterladen.You can download the latest version from the Install Azure CLI page.

Erlauben ausgehender Konnektivität zu den GerätestreamingendpunktenAllow outbound connectivity to the device streaming endpoints

Wie zu Anfang des Artikels bereits erwähnt, stellt Ihr Gerät während des Initiierungsprozesses für Gerätestreams eine ausgehende Verbindung mit dem IoT Hub-Streamingendpunkt her.As mentioned at the beginning of this article, your device creates an outbound connection to IoT Hub streaming endpoint during device streams initiation process. Die Firewalls auf dem Gerät oder im Netzwerk müssen ausgehende Konnektivität mit dem Streaminggateway über Port 443 zulassen. (Beachten Sie, dass die Kommunikation hierbei über eine WebSocket-Verbindung erfolgt, die per TLS verschlüsselt ist.)Your firewalls on the device or its network must allow outbound connectivity to the streaming gateway over port 443 (note that communication takes place over a WebSocket connection that is encrypted using TLS).

Den Hostnamen des Gerätestreamingendpunkts finden Sie im Azure IoT Hub-Portal auf der Registerkarte „Übersicht“. „Gerätestreamingendpunkte“The hostname of device streaming endpoint can be found on the Azure IoT Hub portal under the Overview tab. "Device stream endpoints"

Alternativ finden Sie diese Informationen mithilfe der Azure CLI:Alternatively, you can find this information using Azure CLI:

az iot hub devicestream show --name <YourIoTHubName>

Hinweis

Stellen Sie sicher, dass mindestens Version 2.0.57 der Azure-Befehlszeilenschnittstelle installiert ist.Ensure you have installed Azure CLI version 2.0.57 or newer. Sie können die neueste Version über die Seite Azure CLI installieren herunterladen.You can download the latest version from the Install Azure CLI page.

Problembehandlung über Aktivitätsprotokolle für GerätestreamsTroubleshoot via Device Streams Activity Logs

Sie können Azure Monitor-Protokolle zum Erfassen des Aktivitätsprotokolls für Gerätestreams in Ihrer IoT Hub-Instanz einrichten.You can set up Azure Monitor logs to collect the activity log of device streams in your IoT Hub. Dies kann zur Problembehandlung sehr hilfreich sein.This can be very helpful in troubleshooting scenarios.

Führen Sie die folgenden Schritte aus, um Azure Monitor-Protokolle für die Gerätestreamaktivitäten Ihrer IoT Hub-Instanz zu konfigurieren:Follow the steps below to configure Azure Monitor logs for your IoT Hub's device stream activities:

  1. Navigieren Sie in Ihrer IoT Hub-Instanz zur Registerkarte Diagnoseeinstellungen, und klicken Sie auf den Link Diagnose aktivieren.Navigate to the Diagnostic settings tab in your IoT Hub, and click on Turn on diagnostics link.

    „Aktivieren von Diagnoseprotokollen“

  2. Geben Sie einen Namen für Ihre Diagnoseeinstellungen ein, und wählen Sie die Option An Log Analytics senden aus.Provide a name for your diagnostics settings, and choose Send to Log Analytics option. Sie werden durch die Auswahl einer vorhandenen Log Analytics-Arbeitsbereichsressource oder durch die Erstellung einer neuen Ressource geführt.You will be guided to choose an existing Log Analytics workspace resource or create a new one. Aktivieren Sie außerdem den Eintrag DeviceStreams in der Liste.Additionally, check the DeviceStreams from the list.

    „Aktivieren von Gerätestreamprotokollen“

  3. Sie können jetzt im IoT Hub-Verwaltungsportal auf der Registerkarte Protokolle auf Ihre Gerätestreamprotokolle zugreifen.You can now access your device streams logs under the Logs tab in your IoT Hub's portal. Gerätestream-Aktivitätsprotokolle werden in der Tabelle AzureDiagnostics aufgeführt mit Category=DeviceStreams.Device stream activity logs will appear in the AzureDiagnostics table and have Category=DeviceStreams.

    Wie unten dargestellt, werden auch die Identität des Zielgeräts und das Ergebnis des Vorgangs in den Protokollen angegeben.As shown below, the identity of the target device and the result of the operation is also available in the logs.

    „Zugriff auf Gerätestreamprotokolle“

Regionale VerfügbarkeitRegional Availability

Während der öffentlichen Vorschau sind IoT Hub-Gerätestreams in den Regionen „USA, Mitte“, „USA, Mitte (EUAP)“, „Europa, Norden“ und „Asien, Südosten“ verfügbar.During public preview, IoT Hub device streams are available in the Central US, Central US EUAP, North Europe, and Southeast Asia regions. Achten Sie darauf, dass Sie Ihren Hub in einer dieser Regionen erstellen.Please make sure you create your hub in one of these regions.

SDK-VerfügbarkeitSDK Availability

Zwei Seiten jedes Streams (auf der Geräte- und der Dienstseite) verwenden das IoT Hub SDK zum Einrichten des Tunnels.Two sides of each stream (on the device and service side) use the IoT Hub SDK to establish the tunnel. Während der öffentlichen Vorschau können Kunden aus den folgenden SDK-Sprachen auswählen:During public preview, customers can choose from the following SDK languages:

  • Die C und C# SDKs unterstützen Gerätestreams auf der Geräteseite.The C and C# SDK's support device streams on the device side.

  • Die NodeJS und C# SDKs unterstützen Gerätestreams auf der Dienstseite.The NodeJS and C# SDK support device streams on the service side.

Beispiele für IoT Hub-GerätstreamsIoT Hub device stream samples

Die IoT Hub-Seite enthält zwei Schnellstartbeispiele.There are two quickstart samples available on the IoT Hub page. Diese Beispiele veranschaulichen die Verwendung von Gerätestreams durch Anwendungen.These demonstrate the use of device streams by applications.

  • Das Beispiel Echo verdeutlicht die programmgesteuerte Verwendung von Gerätestreams (durch direktes Aufrufen der SDK-APIs).The echo sample demonstrates programmatic use of device streams (by calling the SDK API's directly).

  • Im Beispiel mit dem lokalen Proxy wird das Tunneln von gängigem Client/Server-Anwendungsdatenverkehr (z.B. SSH, RDP oder Web) über Gerätestreams veranschaulicht.The local proxy sample demonstrates the tunneling of off-the-shelf client/server application traffic (such as SSH, RDP, or web) through device streams.

Diese Beispiele werden weiter unten ausführlicher behandelt.These samples are covered in greater detail below.

EchobeispielEcho Sample

Das Echobeispiel veranschaulicht die programmgesteuerte Verwendung von Gerätestreams zum Senden und Empfangen von Bytes zwischen Dienst- und Geräteanwendungen.The echo sample demonstrates programmatic use of device streams to send and receive bytes between service and device applications. Beachten Sie, dass Sie Dienst- und Geräteanwendungen in verschiedenen Sprachen verwenden können.Note that you can use service and device programs in different languages. Beispielsweise können Sie das C-Geräteprogramm mit dem C#-Dienstprogramm verwenden.For example, you can use the C device program with the C# service program.

Hier sind die Echobeispiele:Here are the echo samples:

Beispiel mit lokalem Proxy (für SSH oder RDP)Local proxy sample (for SSH or RDP)

Das Beispiel mit lokalem Proxy zeigt eine Möglichkeit zum Aktivieren eines Tunnels für den Datenverkehr einer vorhandenen Anwendung, der die Kommunikation zwischen einem Client- und einem Serverprogramm umfasst.The local proxy sample demonstrates a way to enable tunneling of an existing application's traffic that involves communication between a client and a server program. Dieses Setup funktioniert für Client-/Serverprotokolle wie SSH und RDP, in denen die Dienstseite als Client fungiert (und SSH- oder RDP-Clientprogramme ausführt) und die Geräteseite als Server fungiert (und SSH-Daemon- oder RDP-Serverprogramme ausführt).This set up works for client/server protocols like SSH and RDP, where the service-side acts as a client (running SSH or RDP client programs), and the device-side acts as the server (running SSH daemon or RDP server programs).

Dieser Abschnitt beschreibt die Verwendung von Gerätestreams, um für Benutzer das Herstellen einer SSH-Verbindung mit einem Gerät über Gerätestreams zu ermöglichen. (Die Situation ist für RDP oder andere Client-/Server-Anwendungen ähnlich, da dort der entsprechende Port des Protokolls verwendet wird.)This section describes the use of device streams to enable the user to SSH to a device over device streams (the case for RDP or other client/server application are similar by using the protocol's corresponding port).

Das Setup nutzt zwei Programme für lokale Proxys, die in der folgenden Abbildung dargestellt sind: Lokaler Geräteproxy und Lokaler Dienstproxy.The setup leverages two local proxy programs shown in the figure below, namely device-local proxy and service-local proxy. Die lokalen Proxyprogramme sind für die Durchführung des Handshakes zur Gerätestreaminitiierung mit IoT Hub sowie für die Interaktion mit dem SSH-Client und dem SSH-Daemon über reguläre Client-/Server-Sockets zuständig.The local proxy programs are responsible for performing the device stream initiation handshake with IoT Hub, and interacting with SSH client and SSH daemon using regular client/server sockets.

„Gerätestream-Proxysetup für SSH/RDP“

  1. Der Benutzer führt den lokalen Dienstproxy aus, um einen Gerätestream an das Gerät zu initiieren.The user runs service-local proxy to initiate a device stream to the device.

  2. Der lokale Proxy des Geräts akzeptiert die Anforderung zur Streaminitiierung, und der Tunnel wird mit dem Streamingendpunkt des IoT Hub hergestellt (wie oben beschrieben).The device-local proxy accepts the stream initiation request and the tunnel is established to IoT Hub's streaming endpoint (as discussed above).

  3. Der lokale Geräteproxy stellt eine Verbindung mit dem SSH-Daemonendpunkt her, der an Port 22 auf dem Gerät lauscht.The device-local proxy connects to the SSH daemon endpoint listening on port 22 on the device.

  4. Der lokale Proxy des Diensts lauscht über einen angegebenen Port und wartet auf neue SSH-Verbindungen vom Benutzer (im Beispiel ist dies Port 2222, aber hierfür kann auch jeder andere verfügbare Port konfiguriert werden).The service-local proxy listens on a designated port awaiting new SSH connections from the user (port 2222 used in the sample, but this can be configured to any other available port). Der Benutzer verweist den SSH-Client an den Port des lokalen Dienstproxys auf „localhost“.The user points the SSH client to the service-local proxy port on localhost.

NotizenNotes

  • Durch die oben genannten Schritte wird ein End-to-End-Tunnel zwischen dem SSH-Client (auf der rechten Seite) und dem SSH-Daemon (auf der linken Seite) eingerichtet.The above steps complete an end-to-end tunnel between the SSH client (on the right) to the SSH daemon (on the left). Ein Teil dieser End-to-End-Konnektivität ist das Senden von Datenverkehr per Gerätestream an IoT Hub.Part of this end-to-end connectivity involves sending traffic over a device stream to IoT Hub.

  • Die Pfeile in der Abbildung zeigen die Richtung, in der Verbindungen zwischen Endpunkten hergestellt werden.The arrows in the figure indicate the direction in which connections are established between endpoints. Beachten Sie insbesondere, dass keine Verbindungen beim Gerät eingehen. (Dies wird häufig durch eine Firewall blockiert.)Specifically, note that there is no inbound connections going to the device (this is often blocked by a firewall).

  • Die Auswahl von Port 2222 auf dem lokalen Proxy des Diensts ist eine willkürliche Auswahl.The choice of using port 2222 on the service-local proxy is an arbitrary choice. Der Proxy kann so konfiguriert werden, dass ein beliebiger anderer verfügbarer Port verwendet wird.The proxy can be configured to use any other available port.

  • Die Auswahl von Port 22 ist protokollabhängig und in diesem Fall spezifisch für SSH.The choice of port 22 is protocol-dependent and specific to SSH in this case. Für RDP muss Port 3389 verwendet werden.For the case of RDP, the port 3389 must be used. Dies kann in den bereitgestellten Beispielprogrammen konfiguriert werden.This can be configured in the provided sample programs.

Verwenden Sie die folgenden Links, um Anweisungen zum Ausführen der lokalen Proxyprogramme in der Sprache Ihrer Wahl zu erhalten.Use the links below for instructions on how to run the local proxy programs in your language of choice. Wie im Echobeispiel können Sie Programme für den lokalen Geräteproxy und den lokalen Dienstproxy in verschiedenen Sprachen ausführen, da sie vollständig kompatibel sind.Similar to the echo sample, you can run device- and service-local proxy programs in different languages as they are fully interoperable.

Nächste SchritteNext steps

Weitere Informationen zu Gerätestreams finden Sie unter den folgenden Links.Use the links below to learn more about device streams.

Device streams on IoT show (Channel 9) (Show „Gerätestreams zu IoT“ auf Channel 9)Device streams on IoT show (Channel 9)