我正在使用 boost asio 开发一个侦听客户端连接的 tcp 服务器进程。客户端应该发送部分数据包。服务器进程在从客户端接收到整个数据包(页眉、数据和页脚)之前无法处理数据包。
为了处理部分数据包,服务器进程需要将来自每个客户端连接的数据包(或部分数据包)推送到队列中。服务器将为每个客户端连接维护一个队列。
现在我的问题是如何在使用 boost asio 时获取套接字文件描述符。我打算使用套接字文件描述符中的整数值并创建一个 std::map 容器来处理每个客户端连接的队列。
std::map< int, std::deque< std::string >
如果检索套接字文件描述符不可行,那么最佳性能的替代方案可能是什么。我需要使用
std::map<tcp::socket *,std::deque<std::string> > ?
提前致谢。