【发布时间】:2015-05-31 14:45:22
【问题描述】:
我正在使用 WebSocket++ 库来实现 WebSocket 服务器。
由于我的服务器的特性,我希望它一次只为 1 个客户端提供服务。也就是说,一旦客户端连接到我的服务器,我希望它停止监听其他潜在客户端,直到已经连接的客户端断开连接。
目前我的服务器看起来像:
typedef websocketpp::server<websocketpp::config::asio> server;
static void onReceiveData(server *s, websocketpp::connection_hdl hdl, server::message_ptr msg)
{
std::string payload(msg->get_payload());
// process inside payload
websocketpp::lib::error_code ec;
s->send(hdl, payload, websocketpp::frame::opcode::BINARY, ec);
}
int main(void)
{
server myServer;
myServer.init_asio();
myServer.set_message_handler(websocketpp::lib::bind(&onReceiveData, &myServer, websocketpp::lib::placeholders::_1, websocketpp::lib::placeholders::_2));
myServer.listen(9002);
myServer.start_accept();
myServer.run();
}
我应该如何暂停和恢复监听,或者有没有限制并发客户端数量的参数?
【问题讨论】:
-
当前处理不同的连接时,您可以拒绝额外的接受(只是不要调用它),而不是 停止收听。
标签: c++ websocket websocket++