Enviar struturas complexas no Qt

Programação C em geral

Moderadores: 51, guest2003

Enviar struturas complexas no Qt

Mensagempor mastk » 22 Ago 2014 16:11

Tenho uma estrutura tipo list e queria mandar ela por TCP para outro programa, mas o socket soh aceita strings e dados simples, alguma dica?
Editado pela última vez por mastk em 25 Ago 2014 08:08, em um total de 1 vez.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Re: Enviar struturas complex no Qt

Mensagempor andre_luis » 22 Ago 2014 16:43

Tem como postar um trecho do código ?

Não lembro bem dos métodos do Visual Studio do C++ ( suponho que seja esse o compilador configurado no seu IDE ), mas no Java dá pra manipular objetos da própria estrutura, pois há o tipo Object, de tal modo que há diversos métodos nativos disponiveis para trabalhar com ele, e pode ser que haja algum capaz de o converter em String.

Dá uma pesquizada nesse caminho...
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Enviar struturas complex no Qt

Mensagempor Red Neck Guy » 22 Ago 2014 20:50

serializa.
ASM51 descanse em paz!
Avatar do usuário
Red Neck Guy
Dword
 
Mensagens: 1968
Registrado em: 12 Out 2006 22:24

Re: Enviar struturas complexas no Qt

Mensagempor mastk » 25 Ago 2014 08:54

Código: Selecionar todos
QList<QString> Dado;

void enviaDado (void){
   SocketTCP->write(Dado);
}


O compilador reclama que nao eh uma operacao valida.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43

Re: Enviar struturas complexas no Qt

Mensagempor chipselect » 25 Ago 2014 18:58

não trabalho com QT, mas para persistir o tal do QList, precisa fazer um pouco de trabalho.

http://qt-project.org/doc/qt-4.8/datastreamformat.html

Uma outra manteira é converter o QList para uma representação em string e transmitir. Recebendo a codificação string, efetuar o processo inverso. Pra isso pode usar XML, JSON, etc. Só não sei se vai ter algo pronto para QT.

Também não conheço o QDataStream (persistência do QT) para persistir os dados mas, em tese, talvez pode ser construído passando o socket.

http://qt-project.org/forums/viewthread/18674
chipselect
Word
 
Mensagens: 744
Registrado em: 16 Out 2006 18:50

Re: Enviar struturas complexas no Qt

Mensagempor andre_luis » 25 Ago 2014 21:14

Não seria mais simples apenas pegar o conteúdo da lista e o enviar ?
Dá uma olhada nesses método pra ver se servem: toStdList , toVector
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Re: Enviar struturas complexas no Qt

Mensagempor mastk » 26 Ago 2014 20:58

Tentei StdList e o error continuou, vou testar StdVector.
Avatar do usuário
mastk
Dword
 
Mensagens: 4407
Registrado em: 14 Out 2006 20:43


Voltar para Visual C++/C/C++/C#

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x