Exemplos Qt – As quatro estações

exe01O exemplo de hoje pretende demonstrar que é possível “fazer passar” por um QDataStrem vários tipos de objectos.

Existem dois módulos para esta pequena aplicação: Sender, Receiver.

Sender:

De dois em dois segundos, selecciona aleatoriamente um estação do ano, e envia através do QDataStream um objecto da classe QPixmap contendo a imagem associada a essa estação.

Como o QDataStream está associado a um UdpSocket, aproveito para enviar os dados para um receptor que pode ser qualquer posto da rede a correr o “Receiver”. Não esquecer de trocar “localhost” por “broadcast” para testar isto em rede.

A qualquer momento podemos pressionar o botão que contém uma estação do ano para que essa imagem seja enviada.

Receiver:

O receptor tem um papel mais passivo e está a escutar no porto seleccionado.

Sempre que recebe um datagrama exibe imediatamente a imagem correspondente.

Download:

aqui

Versão Qt5 (2013/04/15)

Notas:

  • Testei isto numa rede local em ambiente Linux e funciona “na boa”.
  • Quando compilei o código em XP a aplicação funciona bem mas podem ocorrer falhas por causa da Firewall.
  • O protocolo UDP não garante que a mensagem seja recebida pelo receptor. Na minha wireless nota-se a perda de alguns datagramas.
  • Está aqui uma forma simpática e “minimalista” para se contruir um sistema de “broadcast” de informação numa rede local!
  • O recurso “imagens.qrc” no receptor não está a ser utilizado.
Anúncios

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s