에 데이터를 작성하는 방법 :나는 표준 : CIN에서 읽으려는 AsyncReadStream 스트림을 구현하기 위해 노력하고 지금까지 다음 코드가 있어요 MutableBufferSequence
template <class MutableBufferSequence, class ReadHandler>
void async_read_some(const MutableBufferSequence &buf, ReadHandler handler) {
char c[1024] = {};
std::streamsize num = std::cin.readsome(c, 1023);
c[num] = 0;
boost::asio::streambuf buff(1023);
std::ostream os(&buff);
os << c;
// How do I get the buff into the buf???? I've tried below:
//boost::asio::buffered_stream<boost::asio::streambuf> buff_stream(buff);
//boost::asio::read(buff_stream, buf);
handler(boost::system::error_code(), boost::asio::buffer_size(buf));
}
내가 알고 있어요을 코드의 일부가 위의 경우 차단하고 있습니다. 실제로는 없어야하지만 내 문제 외에도 있습니다 (제 생각에). MutableBufferSequence http://www.boost.org/doc/libs/1_41_0/doc/html/boost_asio/reference/MutableBufferSequence.html에 대한 설명서를 확인했으며이를 수행 할 분명한 방법이없는 것 같습니다. 분명히 나는 뭔가를 과감하게 오해하고 있습니다.
아마도이 내 질문을 ansewwrs 참조하십시오. 나중에 확인하고 중복 된 경우 삭제됩니다 https://stackoverflow.com/questions/17241770/how-to-write-to-a-boostasiomutable-buffer?rq=1 –
를 아니,이 대답하지 않습니다. 버퍼 시퀀스가 아닙니다. – sehe
링크 된 답변과 관련하여 ['buffer_cast'] (http://www.boost.org/doc/libs/1_65_1/doc/html/boost_asio/reference/buffer_cast.html)는 신중히 고려한 후에 사용해야합니다 (기본 메모리가 인접하지 않은 스 캐터 읽기 또는 수집 쓰기 버퍼를 고려하십시오. 대신에, 하나의 형태는 종종 안전 통해 반복자 ['buffers_begin' (http://www.boost.org/doc/libs/1_65_1/doc/html/boost_asio/reference/buffers_begin.html) 및 [ 'buffers_end' 사용해야 ] (http://www.boost.org/doc/libs/1_65_1/doc/html/boost_asio/reference/buffers_end.html). –