私はQUdpSocket 2または3 QVectorを経由して送信したいと思います:UDP経由でQVectorを交換することはできますか?
- 一つQVector <ブール>
- 一つQVector <整数>
- 一つQVector <フロート>
がそれですそれを行うことができる、そしてもしそうなら、それを行う方法? Qtのドキュメントから
私はQUdpSocket 2または3 QVectorを経由して送信したいと思います:UDP経由でQVectorを交換することはできますか?
がそれですそれを行うことができる、そしてもしそうなら、それを行う方法? Qtのドキュメントから
:
QtのコンテナクラスもQDataStreamにシリアライズすることができます。これには、QList、QLinkedList、QVector、QSet、QHash、およびQMapが含まれます。ストリーム演算子は、クラスの非メンバーとして宣言されます。
あなたはそうのような 'QDataStream' を使用してそれを行うことができます。
QBuffer buffer;
buffer.open(QIODevice::ReadWrite);
QDataStream out(&buffer);
out.setVersion(QDataStream::Qt_5_6);
out << m_your_data;
out.device()->seek(0);
if(!write(buffer.data()))
{
// handle your error
}
buffer.close();
バッファとして[QByteArray](http://stackoverflow.com/questions/23271029/append-a-qbytearray-to-qdatastream)を使用し、[QUdpSocket :: writeDatagram](http:// www。 qtforum.org/article/34385/qudpsocket-broadcast-example.html)それは入力としてQByteArrayを受け取ります..多分QBufferで行うことができます..私は自分の答えを書くのは怠惰です。 – nayana
[それをシリアル化](https://en.wikipedia.org/wiki/Serialization)。 – user4581301