|
1 | 1 | # Frequently Asked Questions
|
2 | 2 |
|
| 3 | +*__Jump To:__* |
| 4 | +* [Where should I start](#where-should-i-start) |
| 5 | +* [How do I enable logging](#how-do-i-enable-logging) |
| 6 | +* [I keep getting AWS_ERROR_MQTT_UNEXPECTED_HANGUP](#i-keep-getting-aws_error_mqtt_unexpected_hangup) |
| 7 | +* [Dependencies are bad](#dependencies-are-bad) |
| 8 | +* [Detecting connection loss (tldr use keepAliveTimeSecs and pingTimeoutMs)](#connection-loss) |
| 9 | +* [How to use a Pre-Built aws-crt-cpp (Most useful for development of this package)](#prebuilt-aws-crt-cpp) |
| 10 | +* [I am experiencing deadlocks](#i-am-experiencing-deadlocks) |
| 11 | +* [Mac-Only TLS Behavior](#mac-only-tls-behavior) |
| 12 | +* [How do debug in VSCode?](#how-do-debug-in-vscode) |
| 13 | +* [What certificates do I need?](#what-certificates-do-i-need) |
| 14 | +* [I still have more questions about this sdk?](#i-still-have-more-questions-about-this-sdk) |
| 15 | + |
3 | 16 | ### Where should I start?
|
4 | 17 |
|
5 | 18 | If you are just getting started make sure you [install this sdk](https://github.com/aws/aws-iot-device-sdk-cpp-v2#installation) and then build and run the [basic PubSub](https://github.com/aws/aws-iot-device-sdk-cpp-v2/tree/main/samples#basic-mqtt-pub-sub)
|
@@ -48,15 +61,15 @@ If you have already downloaded this repository you can update the submodules wit
|
48 | 61 | `git submodule update --init --recursive`
|
49 | 62 |
|
50 | 63 |
|
51 |
| -### Detecting connection loss (tldr use keepAliveTimeSecs and pingTimeoutMs) |
| 64 | +### Detecting connection loss (tldr use keepAliveTimeSecs and pingTimeoutMs) <a name="connection-loss"></a> |
52 | 65 |
|
53 | 66 | There are 3 mechanisms for detecting connection loss:
|
54 | 67 | 1. The keepAliveTimeSecs and pingTimeoutMs arguments passed to MqttConnection::Connect(). These control how often the SDK sends a PINGREQ, and how long the SDK will wait for a PINGRESP before assuming the connection is lost. YOU SHOULD USE THIS TO RELIABLY DETECT CONNECTION LOSS.
|
55 | 68 | 2. If the OS socket says it's closed, the SDK immediately tries to reconnect. The timing of this is not reliable, it depends on the OS and how the connection is lost, it can take many minutes.
|
56 | 69 | 3. The various TcpKeepAlive controls on the MqttClientConnectionConfigBuilder. These control a similar mechanism at the TCP layer, rather than the MQTT layer, but is implemented in the OS and behavior may vary across platforms
|
57 | 70 |
|
58 | 71 |
|
59 |
| -### How to use a Pre-Built aws-crt-cpp (Most useful for development of this package) |
| 72 | +### How to use a Pre-Built aws-crt-cpp (Most useful for development of this package) <a name="prebuilt-aws-crt-cpp"></a> |
60 | 73 |
|
61 | 74 | ``` sh
|
62 | 75 | mkdir aws-iot-device-sdk-cpp-v2-build
|
@@ -119,7 +132,7 @@ Here is an example launch.json file to run the pubsub sample
|
119 | 132 | * You should have generated/downloaded private and public keys that will be used to verify that communications are coming from you
|
120 | 133 | * When using samples you only need the private key and it will look like this: `--key abcde12345-private.pem.key`
|
121 | 134 |
|
122 |
| -### I still have more questions about the this sdk? |
| 135 | +### I still have more questions about this sdk? |
123 | 136 |
|
124 | 137 | * [Here](https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html) are the AWS IoT Core docs for more details about IoT Core
|
125 | 138 | * [Here](https://docs.aws.amazon.com/greengrass/v2/developerguide/what-is-iot-greengrass.html) are the AWS IoT Greengrass v2 docs for more details about greengrass
|
|
0 commit comments