boost::asio::ip::udp::socket
オブジェクトに書き込むためにboost::asio::write()
を使用しようとしています。私はどこかで間違っていたかどうかを確認するためにドキュメントを再読するのに忙しいうちに、これがサポートされていないかどうかを誰かが確認できますか?私は今考えているboost::asio::write()
はではなく、tcp::socket
オブジェクトのみをサポートしています。C++:boost :: asio:write()はUDPソケットをサポートしていませんか?
これは私がコンパイルしようとすると、私が得るものです:
/usr/include/boost/asio/impl/write.ipp: In function ‘size_t
boost::asio::write(SyncWriteStream&, const ConstBufferSequence&, [...cut...]
test/test.cpp:76: instantiated from here
/usr/include/boost/asio/impl/write.ipp:44: error: ‘class
boost::asio::basic_datagram_socket<boost::asio::ip::udp,
boost::asio::datagram_socket_service<boost::asio::ip::udp> >’ has no member named
‘write_some’
私はドキュメントでこれを読んだとき、私はboost::asio::write()
をしようとすることを決めたと思う:
を送信操作はすべて送信しなくてもよいですのデータをピアに送信します。あなたは、すべてのデータが が操作completes.`
をブロックする前に書かれていることを確認する必要がある場合は に書き込み機能を使用することを検討して...しかし、戻って、私は、テキストだけboost::asio::ip::tcp::socket::send()
ではないであることを確認UDPバージョン。 Source.
アウトオブオーダーは問題ありません。私はちょうどudpソケットに書き込みたいが、boost :: asio :: write()がなぜ私にコンパイル時エラーを与えているのか理解できなかった。 –