WebSocket++是一个C++库,用于构建WebSocket客户端和服务器。以下是一个简单的例子,展示如何使用WebSocket++发送和接收消息。
首先,你需要包含WebSocket++的头文件,并设置一些别名以方便使用:
#include <websocketpp/config/asio_no_tls.hpp>
#include <websocketpp/server.hpp>
typedef websocketpp::server<websocketpp::config::asio> server;
然后,你可以创建一个服务器,设置消息处理器,然后运行服务器:
void on_message(websocketpp::connection_hdl hdl, server::message_ptr msg) {
// 当收到消息时,打印消息内容
std::cout << msg->get_payload() << std::endl;
}
int main() {
// 创建一个服务器
server s;
// 设置消息处理器
s.set_message_handler(&on_message);
// 监听所有地址,端口为9002
s.listen(9002);
// 开始接受连接
s.start_accept();
// 开始事件循环
s.run();
}
在这个例子中,on_message
函数是一个消息处理器,当服务器收到消息时,它会被调用。msg->get_payload()
返回消息的内容。
如果你想发送消息,你可以使用connection::send
方法。例如,你可以在消息处理器中回复一个消息:
void on_message(websocketpp::connection_hdl hdl, server::message_ptr msg) {
// 当收到消息时,打印消息内容
std::cout << msg->get_payload() << std::endl;
// 回复一个消息
s.send(hdl, "Hello, client!", websocketpp::frame::opcode::text);
}
在这个例子中,s.send(hdl, "Hello, client!", websocketpp::frame::opcode::text)
发送一个文本消息到客户端。hdl
是连接处理器,它标识了发送消息的目标连接。"Hello, client!"
是消息的内容。
注意,这只是一个基本的例子,实际的代码可能需要处理更多的情况,例如错误处理、连接关闭等。
领取专属 10元无门槛券
手把手带您无忧上云