Download Visualizar/Abrir

Transcript
5.2 Mobile Chat
96
apresenta o menor custo médio. O endereço desse nó é armazenado no servidor para
posterior utilização.
Em seguida, o cliente que acabou de se conectar recebe uma instância do agente
NickListMessage que atualiza a lista de apelidos na interface do cliente, com os apelidos
de todos os clientes conectados.
Então, o agente JoinChatSession volta para o cliente com o número de identificação do usuário, alterando a barra de tı́tulo da interface do cliente com as informações
do mesmo e habilitando o campo de entrada de texto. Caso o agente JoinChatSession
não retorne, isso significa que o cliente não conseguiu estabelecer a conexão, este é removido da lista de participantes e uma mensagem de notificação é enviada para os demais
participantes informando que o cliente que estava tentando se conectar não vai mais participar da seção de chat.
Vale ressaltar que, devido aos agentes serem autônomos, não existe uma conexão
constante entre os clientes e o servidor, ou seja, há possibilidade de troca de mensagens em
qualquer situação, uma mensagem sendo independente das demais. O estabelecimento de
conexão entre o cliente e o servidor apenas significa que o servidor está ciente da existência
do cliente e armazena o mesmo em sua lista de clientes conectados.
Após conectado, o usuário está apto à trocar mensagens de texto com os outros
usuários.
5.2.2.2
Comunicação entre Usuários
A comunicação entre usuários no Mobile Chat é efetuada através da troca de
mensagens. Para que um usuário possa enviar uma mensagem para os demais é preciso,
primeiro, digitar o texto da mensagem na caixa de entrada e, em seguida, pressionar a tecla
ENTER. O texto digitado será encapsulado no agente móvel MobileMessage juntamente
com o número de identificação do cliente. Este agente terá como destino o servidor ativo.
Ao chegar no servidor, o agente MobileMessage obtém a lista de clientes conectados e identifica qual o apelido do usuário que o enviou, através do número de identificação
que trouxe consigo, criando então um novo texto, concatenando o apelido e o texto da
mensagem para a identificação do remetente. O formato desse novo texto é representado
da seguinte forma: