Не нашел что хотел. Почему на WinApi все делается просто, а здесь целый геморрой? Для чего это?
Как мне отправить структуру?
Вот сама структура
C++ (Qt)
typedef struct s_tree
{
int id;
int id_branch;
QString name;
QTreeWidgetItem * item;
} s_tree;
теперь я отправляю набор таких структур
C++ (Qt)
QByteArray Block;
QDataStream out(&Block,QIODevice::WriteOnly);
out.setVersion(QDataStream::Qt_4_8);
out << quint32(0);
out << QString("Load_Tree");
out << quint32(db_tree.count());
for (int i = 0; i < db_tree.count(); i++)
{
s_tree temp_s_tree = db_tree[i];
out.writeRawData(reinterpret_cast<const char*>(&temp_s_tree),sizeof(temp_s_tree));
}
out.device()->seek(0);
out << quint32(Block.size() - sizeof(quint32));
clientSocket->write(Block);
db_tree.clear();
Теперь я их принимаю
C++ (Qt)
quint32 count_tree;
in >> count_tree;
for (int i = 0; i < count_tree; i++)
{
s_tree temp_s_tree;
in.readRawData(reinterpret_cast<char*>(&temp_s_tree), sizeof(temp_s_tree)) ;
db_tree.push_back(temp_s_tree);
}
Клиент выдает ошибку! А что не так
Сервер все отправляет!
А клиент не принимает ничего!