Mensagens entre Servidor de Aplicação e Cliente

Delphi

16/01/2006

Caros colegas,

Estou começando a trabalhar com multicamadas, e em meu servidor de aplicação mostro em um ListView o nome da máquina e o nome do usuário (usuário do sistema não da rede) que está conectado no servidor de aplicação.
Gostaria de saber como faço para mandar mensagens para os clientes através do servidor de aplicação, tenho o nome da máquina e o nome da aplicação cliente como possíveis parâmetros (neste caso acho que o nome do usuário do sistema não iria servir). Como exemplo poderia citar que quisesse que os clientes encerrassem suas aplicações, então, estaria enviando uma mesagem para eles pela rede.

Grato

Rodrigo


Rodrigo Mendes

Rodrigo Mendes

Curtidas 0

Respostas

Thomaz_prg

Thomaz_prg

16/01/2006

Fiz isso, criando uma função que na aplicação cliente fica sendo executada de tempos em tempos (por um Timer). Se ela retornar uma cadeia de caracteres com tamanho maior que zero, então mosrto a mensagem ao cliente. Para identificar, pego o nome da máquina, e a aplicação cliente que distingue se a mensagem é ou não para ela, e mostra se for. Isso também serve, para eu verificar se o servidor está ou não processando, pois se não tiver, não permito que telas de lançamento de dados sejam abertas.


GOSTEI 0
Rodrigo Mendes

Rodrigo Mendes

16/01/2006

Thomaz,

Você teria essa função para me passar, tando do cliente como no servidor.

Teria uma outra maneira de fazer isso, ou seja, sem ter que usar um timer ou ter que ficar verificando de tempo em tempo?


GOSTEI 0
Thomaz_prg

Thomaz_prg

16/01/2006

Bom, eu posso sim passar pra você, mas é que será apenas um trecho, então, não sei se ficará legal.
Quanto ao timer, usei um timer, porque dessa forma, mato 2 coelhos de uma só vez, pois verifico se meu servidor de aplicação está ativo, e ainda aproveitei para implementar essa da mensagem.
Se você não quiser usar o timer e tals, pode usar um ClientSocket/ServerSocket, TCPClient/TCPServer (ambas na palheta Internet do delphi 7) ou IDTCPCliente/IDTCPServer (Palheta Indy).
Tem um exemplo aqui no site usando os componentes da palheta Indy. Dê uma olhada.


GOSTEI 0
POSTAR