Socket - Chat cliente servidor

Olá

estou fazendo um programa no qual tenho um cliente e um servidor utilizando socket.

Estou conseguindo enviar para o Servidor o que o Cliente está digitando, no entanto ele recebe somente a primeira coisa que o cliente digitou, se o cliente digitar outra linha ele não recebe.
Acredito eu que isto acontece porque o código do recebimento no Servidor esteja rodando somente uma vez, como estou utilizando interface gráfica, coloco o código do recebimento dentro do Main, teria outro local que pudesse colocar, tipo um local que ele fique sempre verificando e não somente a primeira vez ?

Outra coisa:

Como posso fazer para meu servidor também poder enviar mensagem para o cliente, simular que ele também seja um usuário do chat?

Abraços

A questão de verificação vc tem que colocar o metodo que verificação dentro de uma thread

Dê uma olhada nesse tópico: