cpprest websocket在websocket_exception上获取websocket错误代码

问题描述

我正在编写一个cpprest websocket程序。 (我使用的是websocket_client类。)碰巧,websocket服务器使用错误代码关闭了连接。在这种情况下,将抛出websocket_exception。我处理了异常,但是现在如何处理websocket服务器关闭连接的错误代码?我不是在谈论websocket_exception.error_code()-我是在谈论websocket服务器发送给我的错误代码

到目前为止,这是我的代码

websocket_client client;
client.connect(gatewayConnectURI).wait();

std::cout << "starting recieve" << std::endl;
client.receive().then([](websocket_incoming_message in_msg) 
{
    return in_msg.extract_string();
}
).then([](std::string body) 
{
    std::cout << body << std::endl; // test
}
).wait();
std::cout << "waiting for next recieve..." << std::endl;
try
{
    client.receive().then([](websocket_incoming_message in_msg)
    {
        return in_msg.extract_string();
    }
    ).then([](std::string body)
    {
        std::cout << body << std::endl; // test
    }
    ).wait();
}
catch (websocket_exception e)
{
    std::cout << "Error code: " << e.error_code() << std::endl;
    std::cout << "Error message: " << e.what() << std::endl;
}

client.close().wait();

这是我得到的输出

starting recieve
response-from-server-this-was-successfully-recieved
waiting for next recieve...
Error code: websocketpp.transport:2
Error message: Underlying Transport Error

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)