cpprestdk websocket connect () не работает - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь использовать реализацию cpprestsdk websocket для подключения к серверу websocket. Я использую их пример, который вы можете найти здесь .

Мой код следующий:

// ConsoleApplication3.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#include <iostream>
#include <cpprest/ws_client.h>
#include <cpprest/producerconsumerstream.h>

using namespace web;
using namespace web::websockets::client;

int main()
{
    websocket_client client;

    client.connect(U("wss://echo.websocket.org")).then([]() { 
        std::cout << "Connected!" << "\n";  /* never gets here, so it looks like my connect() never succeeds?*/
        });

    websocket_outgoing_message msg;
    msg.set_utf8_message("I am a UTF-8 string! (Or close enough...)");

    client.send(msg).then([]() { /* exception here, stating it is not connected*/
        std::cout << "message sent\n"; 
        });

    client.receive().then([](websocket_incoming_message msg) {
        return msg.extract_string();
        }).then([](std::string body) {
            std::cout << body << std::endl;
            });

    client.close().then([]() { std::cout << "Closed\n";  });
}

Насколько я могу сказать, когда я прохожу через connect() функция, ничего не похоже на то, что она возвращает ошибку. Однако функция then() никогда не вызывается, что похоже на то, что функция connect() не работает.

Когда я добираюсь до client.send(msg), я получаю исключение, в котором говорится, что я не подключен. Имеет смысл, потому что выше then() никогда не выполняется. Я просто не понимаю, почему connect() не работает, без каких-либо ошибок / исключений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...