1
我正在做一些測試與升壓阿西奧,我不明白爲什麼處理器的async_write函數(女巫是lambda函數)不會被調用。asio程序退出befor完成async_write
#include <iostream>
#include <boost/asio.hpp>
using namespace boost::asio;
int main() {
io_service service;
std::string str = std::string("HTTP/1.1 200 OK\r\n ......");
ip::tcp::acceptor my_acceptor{ service, ip::tcp::endpoint(ip::tcp::v4(), 6767) };
ip::tcp::socket my_socket{ service };
my_acceptor.async_accept(my_socket, [&my_socket, str](boost::system::error_code) {
std::cout << "connected " << std::endl;
async_write(my_socket, boost::asio::buffer(str), [&my_socket](boost::system::error_code, std::size_t) {
std::cout << "Data written" << std::endl;
});
});
service.run();
}
「數據寫」永遠不會出現,消息不發送到客戶端 什麼是錯的代碼?
格式化和避免無用的手動內存管理是您的第一道防線 – sehe