Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。












想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。

2年前关闭。



Improve this question




我想在Linux上使用C++访问WebSocket API。我看过不同的库(例如libwebsockets或websocketpp),但是我不确定应该使用哪个库。我唯一需要做的就是连接到API并接收数据到一个字符串。因此,我正在寻找一个非常的基本和简单的解决方案,没有什么太复杂的。也许有人已经对WebSocket库有经验?

最佳答案

对于高级API,您可以使用cpprest库中的ws_client {它包装了websocketpp}。

针对echo server运行的示例应用程序:

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

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。

关于c++ - WebSocket库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34423092/

10-12 01:04