Escolar Documentos
Profissional Documentos
Cultura Documentos
5 O aplicativo foi desenvolvido para fins didticos e no comerciais. 5 Este aplicativo tem como propsito a demonstrao de uma aplicao distribuida. 5 Para este fim foi utilizado mtodo de conexo conhecido como Socket que faz parte do protocolo de comunicao TCP/IP.
5 Arquitetura / Fluxo
Cliente
Servidor ChatServer.Class
5 Fluxo - Servidor
1 Carrega o Mtodo Main
2
Memria
New Chatserver()
1. 2. 3. 4. ChatServer.Class
1. 2. 3.
Escritor
Carrega a Thread Principal do Servidor
4. 5. 6.
Mtodo Run Inicializa o Socket Fica escutando a porta e aceitando as novas conexes, mtodo Accept Cria a conexo com o cliente,mtodo Connection Constroi a janela do Servidor(Console) Inicializa o monitor
5 Fluxo - Cliente
1 Carrega o Mtodo Init 1. 2. 3. 4. Pede o N do IP Cria o Socket(N IP + N Porta Instancia o mtodo Reader Executa o mtodo Run
Memria
Carrega o mtodo HandleEvent 1. 2. 3. 4. Recebe o nome do Cliente Recebe o texto digitado Envia pro Buffer Atualiza a saida (OutPutArea)
ClienteCall.Class
5 Cdigo
java.net.ServerSocket
class ServerSocket > java.lang.Object >
Esta classe implementa conexes de servidor. uma conexo de servidor fica aguardando uma requisio de algum cliente, quando requisitado ele executa alguma operao e retorna algum resultado para quem o requisitou. exemplo: protected ServerSocket server_port; server_port = new ServerSocket(port); onde port o numero da porta por onde ir ocorrer a comunicao
5 Cdigo
java.io > Class BufferedReader > java.lang.Object > java.io.Reader > java.io.BufferedReader Faz leitura de um Stream de caracteres de entrada, e armazena em um buffer (vetor dinmico em memria). Para a leitura posterior. exemplo: protected BufferedReader in; in = new BufferedReader(new InputStreamReader(client.getInputStream()));
5 Cdigo
java.io > Class InputStreamReader > java.lang.Object > java.io.Reader > java.io.InputStreamReader Este mtodo cria uma ponte entre os bytes lidos e os caracteres de entrada tambm lidos, para isto ele os decodifica usando um set de caracteres especial. exemplo: protected BufferedReader in; in = new BufferedReader(new InputStreamReader(client.getInputStream()));
5 Fonte