IOThub へのテスト アカウントを作成し、azure-iot-sdks git アーカイブをプルしてテストしました。
接続文字列を iothub_client_sample_http と iothub_client_sample_mqtt .c ファイルの両方に追加しました。
iothub_client_sample_http を実行すると、PR_lock から呼び出された pthread_mutex_lock でセグメンテーション違反が発生する前に、いくつかのネットワーク パケットが送信され、ACK が返されます。これを追跡して修正します。
さらに重要なことは、MQTT プロトコルを使用したいということです。iothub_client_sample_mqtt アプリを実行すると、接続コードでタイムアウトが発生します。ワイヤーシャークでパケットを調べたところ、次のように表示されました。
TCP 74 33226 > セキュア mqtt [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM=1 TSval=81898578 TSecr=0 WS=128
その後、さらに 2 つのパケットが再送信されて同じように送信されます。応答パケットが表示されません。
MQTT の使用を許可するために IOThub で有効にする必要があるものはありますか?
実際に製品で mosquitto を使用したいのですが、コードから同じシナリオが得られます。
助けてくれてありがとう。