boost::asio
을 사용하여 TCP 클라이언트를 작성하고 있습니다. 나는 이진 표현으로 수레 배열을 보내고 싶다. 부스트는 boost :: array 같은 배열의 데이터를 바이너리 표현으로 변환하는 좋은 방법을 제공합니까?boost :: asio를 사용하여 원시 이진 데이터를 보내는 방법
저는 과거에 Qt QDataStream
을 사용했으며 잘 작동했습니다. 나는 확실히 부스트 뭔가 동등한가?
T x; // anything
const char * px = reinterpret_cast<const char*>(&x); // no type punning, cast-to-char is allowed
boost::asio::async_write(my_socket, boost::asio::buffer(px, sizeof(T)), ...
또는 단순히 파일에 기록 :
std::ofstream f("data.bin");
f.write(px, sizeof(T));
어떤 주조
감사합니다. 도움이됩니다. 하나의 질문 - 메시지의 시작 부분에 int를 덧붙이고 싶다고 말하면 (얼마나 많은 수레가 따르는지를 나타 내기 위해). 어떻게 이루어 집니까? – Gareth