#ifndef WEBSOCKETCLIENTWITHPOOL_H #define WEBSOCKETCLIENTWITHPOOL_H //#include "WebSocketClient.h" //#include "ThreadPool.h" // //class WebSocketClientPool { //public: // explicit WebSocketClientPool(size_t thread_count); // ~WebSocketClientPool(); // // // 初始化客户端 // void init_clients(const std::vector& uris); // // // 退出所有客户端 // void exit_clients(); // // // 使用线程池发送消息 // void post_to_all(const std::string& message); // void post_binary_to_all(const std::vector& binary_data); // // // 从池中选择一个空闲的客户端进行发送,不需要服务器响应 // bool post_to_idle_client(const std::string& message); // bool post_binary_to_idle_client(const std::vector& binary_data); // // // 从池中选择一个空闲的客户端进行发送,并需要服务器响应 // bool send_to_idle_client(const std::string& message, int timeout_ms); // bool send_binary_to_idle_client(const std::vector& binary_data, int timeout_ms); // // // 从池中选择一个空闲的客户端进行发送,并等待服务器响应 // bool send_to_idle_client_and_wait(const std::string& message, int timeout_ms); // bool send_binary_to_idle_client_and_wait(const std::vector& binary_data, int timeout_ms); // // // 从池中选择一个空闲的客户端进行发送,并等待服务器响应,如果超时则重试 // bool send_to_idle_client_with_retry(const std::string& message, int total_timeout_ms, int retry_interval_ms); // bool send_binary_to_idle_client_with_retry(std::vector&& binary_data, int total_timeout_ms, int retry_interval_ms); // // // 设置 WebSocket 客户端事件处理程序 // void set_open_handler(WebSocketClient::OpenHandler handler); // void set_message_handler(WebSocketClient::MessageHandler handler); // void set_close_handler(WebSocketClient::CloseHandler handler); // void set_fail_handler(WebSocketClient::FailHandler handler); // void set_pong_handler(WebSocketClient::PongHandler handler); // //private: // std::vector> m_clients; // ThreadPool m_thread_pool; //}; #endif // WEBSOCKETCLIENTWITHPOOL_H