Ajuda cliente servidor

Pessoal, preciso fazer o seguinte… um programinha cliente e um servidor…

qdo o usario rodar o cliente, ele vai no servidor e avisa q esta online, fica la ate ser desconectado, qdo aparecer alguma coisa no servidor para esse cliente, o SERVIDOR tem que enviar uma mensagem para o meu cliente, q chegou alguma coisa pra ele… (como se fosse a parte de email do msn , sempre que chega um email ele avisa no teu msn) e acredito q o processo nao e o msn ficar verificando de tempos em tempos no servidor e sim ao contrario

alguem sabe como eu posso fazer issu?

Assim,
você está pensando em fazer apenas 1 cliente e 1 servidor, ou verios clientes e 1 servidor?

são ideias completamente diferente…

se for 1 cliente e 1 servidor:

O seu cliente ao ser executado, devera enviar um serviço de ativação para o servidor via socket ou qualquer outra maneira…, com isso o servidor deverá retornar ao cliente: “Tudo bem cliente, você está conectado”.
a partir dai, os fluxos serão em 3 pernas, cliente envia ao servidor, servidor retorna ok ou não… e ai sim o cliente manda a confirmação para o servidor (servidor, recebi ok).

seria bom criar esses serviços do tipo:
Iniciar -> indica que o cliente está conectado ao servidor.
Ativar -> Indica que o cliente está ativo para fazer devidas transações.
Executar -> Ação do cliente para com o servidor.

se for varios clientes e 1 servidor transmitindo:

Seria basicamente um chat…
simplesmente o cliente envia uma string, o servidor reconhece e a transmite para o outro cliente em uma outra maquina… e assim por diante… Logico, que o trabalho do servidor para reconhecer e enviar é um pouco mais complicado…
tem tutorias aqui no guj, de como fazer via chat isso…

Espero ter ajudado e ampliado suas ideias…

Tchauzin!

O cliente deve possuir uma thread que fica esperando por uma mensagem do servidor. Dependendo da situação o cliente e servidor precisarão de mais threads.

abraços
André