我想在Linux上使用C++访问WebSocket API.我见过不同的图书馆(比如libwebsockets或websocketpp),但我不确定应该使用哪个.我唯一需要做的就是连接到API并将数据接收到字符串.所以我正在寻找一个非常基本和简单的解决方案,没有太复杂.也许有人已经获得了WebSocket库的经验?
对于高层次的API,你可以使用ws_client
从cpprest库{它包装websocketpp }.
针对echo服务器运行的示例应用程序:
#include#include using namespace std; using namespace web; using namespace web::websockets::client; int main() { websocket_client client; client.connect("ws://echo.websocket.org").wait(); websocket_outgoing_message out_msg; out_msg.set_utf8_message("test"); client.send(out_msg).wait(); client.receive().then([](websocket_incoming_message in_msg) { return in_msg.extract_string(); }).then([](string body) { cout << body << endl; // test }).wait(); client.close().wait(); return 0; }
这里使用.wait()
方法等待任务,但是可以很容易地修改代码以便以异步方式执行I/O.