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();
}
リスニングを一時停止して再開するにはどうすればよいですか、または同時クライアントの数を制限するためのパラメーターはありますか?