Nota: Essa página destina-se a desenvolvedores
Quando não se pode ler com os olhos as mensagens de um chat, provavelmente a forma mais simples é usar um programa chamado Papovox. O Papovox faz parte do Projeto Dosvox (vide links). Na ausência dele, o Telnet (seguir o protocolo do Telnet) é uma boa opção.
Infelizmente o Papovox segue um protocolo próprio, um pouco diferente do HTTP, por isso a implementação pode ser um pouco trabalhosa. Ele é está mais próximo do Telnet que do HTTP.
O chat da rede SACI consegue ser bastante acessível, pois possui suporte ao Papovox e mesmo a Telnet. Para quem enxerga, costuma ser mais conveniente entrar via navegador, por isso ele também possui suporte a navegador.
Além do bate-papo da rede SACI existem outros programas que entendem o protocolo do Papovox.
Um deles é o ServMud
Código fonte .tar.gz ou
Código fonte .zip
Esse é o código fonte, em C++.
Também é possível dar uma olhada no Sitiovox ou
no próprio Papovox, que vem com o projeto Dosvox. O código
fonte (em Pascal) costuma vir junto.
Projeto Dosvox
Neste texto os caracteres são escritos como na linguagem C. Exemplo: caracter 'A' tem código ASCII 65, que é 0x41 (em hexadecimal).
Caracteres especiaisCR, caracter 0x0D, significa "Carriage Return", ou Retorno do carro, faz o cursor voltar para o início do texto LF, caracter 0x0A, significa "Line Feed", e faz o cursor ir para a próxima linha.
Portanto, CRLF são os caracteres 0x0D e 0x0A. Porém, se for enviado só CR ou só LF, ao invés de CRLF, o servidor também entende a mensagem.
Obs.: Nos arquivos .TXT criados via DOS/Windows as linhas terminam com CRLF, e nos textos criados via UNIX, as linhas terminam com LF.
A partir daqui todas as mensagens transmitidas e recebidas têm o seguinte formato:
Obs.: O tamanho da mensagem é o byte mais significativo vezes 256 (ou 0x100) somando ao byte menos significativo.
Exemplo:A partir daqui todas as mensagens transmitidas terminam com CRLF, e todas as mensagens recebidas pelo servidor devem terminar com um dos 3:
Todos os comandos começam com uma /. As opções de ajuda começam com uma ?. Quando o usuário digita algo que não começa com /, nem com ?, o chat envia a mensagem para todos que estiverem na mesma sala.
Para mudar de sala escreve-se / seguido do nome da sala. Exemplo:
/testePara escrever reservadamente escreve-se / seguido do apelido e a mensagem. Exemplo:
/fulano bom diaPara saber quem está na sala escreve-se:
?quemE para saber quantos usuários estão nas salas abertas, escreve-se:
?quantos