1

Azure IoT Hub 経由でコマンドを Raspberry Pi に直接送信するコンソール アプリがあります。それはすべて正常に動作します。

私が混乱するのは、DeviceClient をインスタンス化する 2 つの異なる方法 (おそらくもっと?) にあります。

元:

    deviceClient = DeviceClient.Create(IOT_HUB_HOST_NAME, AuthenticationMethodFactory
         .CreateAuthenticationWithRegistrySymmetricKey(IOT_HUB_DEVICE, IOT_DEVICE_KEY), TransportType.Http1);

また

deviceClient = DeviceClient.CreateFromConnectionString(IOT_HUB_CONN_STRING);

同じことをしているようです。

なぜ私は他のものを使用するのですか? どちらからでもメッセージを受信できます。

4

1 に答える 1

2

はい、最終的には同じ結果になります。

https://github.com/Azure/azure-iot-sdks/blob/master/csharp/device/Microsoft.Azure.Devices.Client/DeviceClient.cs

Create(...) メソッドは IotHubConnectionStringBuilder.Create(...) の次に CreateFromConnectionString(...) を呼び出し、個々のパラメータから DeviceClient を作成するメソッドであると記述されています。

したがって、Create one は、パラメーターを取得し、個々のパラメーターから接続文字列を作成し、それを CreateFromConnectionString(...) に渡すある種のラッパーであると思います。したがって、主な違いはパフォーマンスに関するものになると思います。

于 2016-04-19T18:52:27.883 に答える