管理websocket连接,可以使用Drogon框架提供的WebSockerConnectionPtr。
首先在WebsocketController类中,添加一个成员变量connections来保存所有有效连接的指针列表,并添加一个成员变量mutex来保护访问connections的线程安全。在handleNewConnection、handleConnectionClosed函数调用connections的时候,使用std::lock_guard对mutex进行加锁操作,用以确保同一时刻只有一个线程能够修改connections。
#include <drogon/WebSocketController.h>
using namespace drogon;
class MyWebSocketController :