I am using C and libcurl for http communications. When I send the GET request to establish the downchannel stream, I receive a 200 HTTP code, so it seems that I am connecting properly. However, with the VERBOSE setting for curl enabled, my terminal window shows the following:
*Connection state changed(MAX_CONCURRENT_STREAMS updated)! < HTTP/2 200 < access-control-allow-origin: * < x-amzn-requestid: 12eebcfffe011b48-00002fe2-0001d731-4dd8190be621e82b-1009ea6c-1 < content-type: multipart/related; boundary=------abcde123; type=application/json <
From here, nothing is ever send back to me. Is this the intended outcome? I know that this connection is supposed to remain available for Alexa to send back directives, but should it be making my program sit there, waiting like this? After about 10 minutes, curl states there to be anunexpected EOF, and the connection is closed (curl error 56, failed to receive any data). It seems that this would make it impossible to reuse the same connection I have made with my current approach. For anyone familiar with curl, should I be using the "multi" handles rather than "easy"? I figure I will either have to use the multi handles, a couple of threads, or a combination of the two for my program to work properly. I would appreciate any advice.