sábado, 16 de março de 2013

Fazendo um chat em java - Parte 2

Vamos ver agora como ficou nossa classe. O funcionamento básico do programa pode ser descrito como:

  • Em main(), criamos uma instância de java.net.ServerSocket utilizando o socket localhost:61666. A porta 61666 pode ser alterada via argumento na linha de comando. Este socket permite que os clientes possam tentar conectar com o servidor.
  • colocamos um loop contínuo (sem saída) onde
    • verificamos se existe uma requisição de conexão verificando ServerSocket.accept(), quando existe este método retorna um socket denominado conexao
    • criamos uma thread que recebe o socket conexao como parâmetro de passagem
    • dentro da thread (método run()) criamos duas instâncias
      • entrada: que permite receber as mensagens enviadas pelo cliente
      • saida: que permite enviar mensagens para o cliente
    • esperamos que a primeira mensagem contenha o nome do usuário usando
      • usuario = entrada.readLine()
    • comparamos este nome enviado com os nomes guardados na lista clientesLogados
      • se existir, manda mensagem de erro
      • se não existir, coloca o nome na lista clientesLogados e entra em loop até receber uma mensagem /sair


No próximo post veremos um exemplo de uma classe cliente usando Socket.

Nenhum comentário:

Postar um comentário