Praticamente nenhum stream é.
Ele só quer dizer que duas threads não podem acessar o mesmo stream ao mesmo tempo. Mas cada cliente terá seu próprio stream, então, não há acesso multi-thread sobre o stream em si.[/quote]
Então acho que não tem problema porque o que vai acontecer é uma thread acessar o DataInputStream para escutar e outra o DataOutputStream para escrever. Obrigado pela ajuda. Vou tentar colocar aqui mais ou menos como eu estou pensando no protocolo inicialmente.