2
有沒有什麼辦法可以從connection
或connection_ptr
得到原生套接字描述符websocketpp
? 我需要在將幀發送到客戶端之前設置TCP_CORK。我是Boost.Asio的新手請指教。從websocketpp中的連接或connection_ptr獲取本機套接字描述符?
有沒有什麼辦法可以從connection
或connection_ptr
得到原生套接字描述符websocketpp
? 我需要在將幀發送到客戶端之前設置TCP_CORK。我是Boost.Asio的新手請指教。從websocketpp中的連接或connection_ptr獲取本機套接字描述符?
從以下github的代碼,你可能會打電話 connection_ptr->get_raw_socket().native_handle()
。
websocketpp::connection
繼承自websocketpp::socket::connection
,而websocket::socket::connection
提供get_socket()
公共成員函數,該函數返回對Boost.Asio套接字的引用。 Boost.Asio套接字提供一個返回本地套接字表示的成員函數native_handle()
。
謝謝,它像一個魅力工作。 – 2013-03-13 12:48:45
[WebSocket ++作者在這裏]這個答案是正確的。兩個說明: get_raw_socket()優於get_socket()。上面的代碼只能在不安全的連接上正常工作。 get_socket()在安全連接上將返回TLS流包裝器。 get_raw_socket()將始終返回最底層(即套接字本身)。 如果您使用的是WebSocket ++ 0.3.x,您可以註冊一個socket_init_handler,在讀取/寫入任何內容之前將觸發,然後您可以在讀取/寫入開放握手之前使用它來設置套接字選項。 – zaphoyd 2013-03-13 14:06:30
感謝您的回覆彼得。 – 2013-03-15 11:08:09