- 論壇徽章:
- 3
|
本帖最后由 joepayne 于 2017-11-15 20:52 編輯
回復 7# Fixend
對,系統(tǒng)底層的東西基本沒多少變化,只是C++標準換血了,特性也多元化了
這個地方我也想到了,是server-side主動關閉的,但是,這里我只是把service線程的資源給釋放掉了,其中的socket只是一個shared_ptr,其連接這里并沒有釋放掉。
- private:
- std::shared_ptr<asio::ip::tcp::socket> m_sock;
- std::string m_response;
- asio::streambuf m_request;
復制代碼
socket只是在
- void InitAccept() {
- std::shared_ptr<asio::ip::tcp::socket> sock = std::make_shared<asio::ip::tcp::socket>(m_ios);
- m_acceptor.async_accept(*sock.get(),
- [this, sock](const boost::system::error_code& error) {
- onAccept(error, sock);
- }
- );
- }
復制代碼 這個函數執(zhí)行完才斷開的,是吧?那這里我應該再維護一個socket池子?
|
|