boosts を使用してデータのブロック/配列を送信できるプログラムを作成しようとしてasync_write
いるときに、スレッドで問題が発生した可能性があります。
これは私が実行したいものです:
write(unsigned char *pMsg, unsigned short nMsgLen){
io_service_.post(boost::bind(&m_client::write_buf, this, pMsg, nMsgLen));
}
write_buf(unsigned char *pMsg, unsigned short nMsgLen){
boost::asio::async_write(target,
boost::asio::buffer(pMsg, nMsgLen),
boost::bind(&m_client::write_buf_compl,
this,
boost::asio::placeholders::error));
}
コンパイルはしますが、呼び出されpMsg
たときに正しい内容がありませんwrite_buf
。同じスレッド内で呼び出されていないためだと思います。
では、この構成を調整して、配列をパラメーターとして転送するにはどうすればよいでしょうか?!