我是新手,我正在尝试为 websocket 编写一个简单的聊天应用程序。作为参考,我正在使用网站上的websocket-server-sync示例。
我创建了一个存储 websocket::streams 的全局向量,并在创建 websocket 后的 do_session 方法中将其推送到向量中。
std::vector<websocket::stream<tcp::socket>*> socket_streams;
每次我读到一条消息时,我都会从这个向量发送给每个人,所以到目前为止它运行良好。但是,当有人关闭连接时(即使它没有正确关闭,例如互联网连接断开),我想从我的向量中删除流对象。我试图在野兽头中寻找“关闭处理程序”或类似的东西,但我找不到任何东西。有没有办法做到这一点?喜欢:
void close_handler(websocket::stream<tcp::socket>* _stream)
{
//remove _stream from socket_streams
}