大家都知道boost官方提供的聊天程序模型,由于工作需要我在上面的基础上增加图片发送的需求。发生崩溃原因。这个是发送消息的源码:
- void do_write(chat_message msg)
- {
- bool write_in_progress = !write_msgs_.empty(); //空的话变量为false
- write_msgs_.push_back(msg); //把要写的数据push至写队列
- if (!write_in_progress)//队列初始为空 push一个msg后就有一个元素了
- {
- boost::asio::async_write(socket_,
- boost::asio::buffer(write_msgs_.front().data(),
- write_msgs_.front().length()),
- boost::bind(&chat_client::handle_write, this,
- boost::asio::placeholders::error));