上次写了WebSocket服务端,这次工作当中需要一个用C++实现的WebSocket客户端,写好后这里记一下,免得以后忘记。
本示例共有三个文件组成,依赖Websocket++第三方库
其中main.cpp是使用示例
#include #include #include #include "websocket_endpoint.h" int main(int argc, char **argv) { bool done = false; std::string input; kagula::websocket_endpoint endpoint; endpoint.connect("ws://localhost:9002"); while (!done) { std::cout > cmd; std::getline(ss, message); endpoint.send(message); } else if (input.substr(0, 4) == "show") { endpoint.show(); } else { std::cout get_response_header("Server"); } // if connection failed, the function will be invoke. void on_fail(ws_client *client, websocketpp::connection_hdl hdl) { m_status = "Failed"; ws_client::connection_ptr con = client->get_con_from_hdl(hdl); m_server = con->get_response_header("Server"); m_error_reason = con->get_ec().message(); } void on_close(ws_client *client, websocketpp::connection_hdl hdl) { m_status = "Closed"; ws_client::connection_ptr con = client->get_con_from_hdl(hdl); std::stringstream s; s get_payload())); } } websocketpp::connection_hdl get_hdl() const { return m_hdl; } std::string get_status() const { return m_status; } std::string get_uri() const { return m_uri; } void record_sent_message(std::string message) { m_messages.push_back(">> " + message); } friend std::ostream & operator
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?