

Next:Ferramentas
e técnicas utilizadasUp:ChatPrevious:Forma
de organização da
Solução adotada
O protocolo inicial (ver em seguida) foi alterado para que fosse possível,
por exemplo, que exista várias salas de chat e que o usuário
possa ver todos os outros conectados naquele momento nas salas, ou ainda
que um usuário troque seu nickname durante o chat.
O servidor de chat espera um pedido conexão TCP/IP, através
de um socket na porta xxxx. Uma vez estabelecida a conexão, ele
espera que o cliente inicie uma "sessão de chat".
As mensagens esperadas pelo servidor, sob a forma de strings são
as seguintes (as partes entre "<" e ">" são sequências
de cacteres quaisquer e "_" representa um espaço em branco):
-
"L _<nome do usuário> " - mensagem de login. Esta mensagem marca
o início de uma sessão de chat, por um usuário. Ao
receber esta mensagem o servidor inicia a sessão para o usuário
e informa a todos os usuários conectados da entrada de um novo usuário
(através da mensagem "C <usuário>", descrita adiante )
Exemplo: L piu-piu
-
"X" - mensagem de logout (eXit). Encerra a sessão do usuário.
Ao receber esta mensagem o servidor encerra a sessão do usuário
e informa todos os demais através da mensagem "D <usuário>,
descrita adiante).
-
"W" - mensagem pedindo informação de quais são os
usuários conectados (Who?). Ao receber esta mensagem, o servidor
a lista de nomes dos usuários conectados ( através da mensagem
"L <usuário1> ...< usuário n> ".
-
"S"_<usuário destino>_<texto> - Envio de uma mensagem a um
certo usuário. Ao receber esta mensagem de um cliente o servidor
envia a mensagem ao usuário destino (através da mensagem
"M_<usuário origem>_<texto>, descrita a seguir ).
As mensagens enviadas ao cliente pelo servidor são as seguintes:
-
"C <usuário>" - O usuário indicado acaba de se conectar
ao serviço de chat. Esta mensagem é enviada pelo servidor
a todos os clientes conectados cada vez que um novo usuário se conecta
ao serviço.
-
"D <usuário>" - O usuário indicado acaba de se desconectar
do serviço de chat. Esta mensagem é enviada a todos os usuários
conectados cada vez que um usuário encerra a sua sessão (através
da mensagem "X").
-
"L <usuario 1> <usuário 2> ... <usuário n>" - Lista
dos usuários conectados. Esta mensagem é enviada ao cliente
em resposta à mensagem "W".
-
"M <usuário origem> <texto>" - mensagem vinda de <usuário
origem>. O servidor envia esta mensagem ao cliente indicado quando <usuário
origem> pede o envio de uma mensagem a outro usuário através
da mensagem "S <usuário destino> <texto>" .
-
"N <mensagem>" - Mensagem desconhecida. O servidor envia esta mensagem
ao cliente em resposta a uma mensagem sem sentido para a sessão
do cliente.


Next:Ferramentas
e técnicas utilizadasUp:ChatPrevious:Forma
de organização da
Elidia Yumi Kawahara Itikawa 2000-12-20