TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Protocolo De Comunicação Redes - Cliente E Servidor (JAVA)

Pesquisas Acadêmicas: Protocolo De Comunicação Redes - Cliente E Servidor (JAVA). Pesquise 859.000+ trabalhos acadêmicos

Por:   •  21/11/2012  •  3.661 Palavras (15 Páginas)  •  1.580 Visualizações

Página 1 de 15

/*

* ClienteChat.java

* Para compilar: javac ClienteChat.java

* Para executar: java ClienteChat

*/

/**

*

* @author Marco Aurélio Schünke

*/

// ClienteChat.java

import java.io.*;

import java.net.*;

public class ClienteChat extends Thread {

// Flag que indica quando se deve terminar a execução.

private static boolean done = false;

// parte que controla a recepção de mensagens deste cliente

private Socket conexao;

// construtor que recebe o socket deste cliente

public ClienteChat(Socket s) {

conexao = s;

}

public static void main(String args[]) {

try {

// Para se conectar a algum servidor, basta se criar um

// objeto da classe Socket. O primeiro parâmetro é o IP ou

// o endereço da máquina a qual se quer conectar e o

// segundo parâmetro é a porta da aplicação. Neste caso,

// utiliza-se o IP da máquina local (127.0.0.1) e a porta

// da aplicação ServidorDeChat. Nada impede a mudança

// desses valores, tentando estabelecer uma conexão com

// outras portas em outras máquinas.

//Socket conexao = new Socket("127.0.0.1", 2222);

Socket conexao = new Socket("172.16.26.29", 2222);

// uma vez estabelecida a comunicação, deve-se obter os

// objetos que permitem controlar o fluxo de comunicação

PrintStream saida = new PrintStream(conexao.getOutputStream());

// enviar antes de tudo o nome do usuário

BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in));

System.out.print("Entre com o seu nome: ");

String meuNome = teclado.readLine();

saida.println(meuNome);

// Uma vez que tudo está pronto, antes de iniciar o loop

// principal, executar a thread de recepção de mensagens.

Thread t = new ClienteChat(conexao);

t.start();

// loop principal: obtendo uma linha digitada no teclado e

// enviando-a para o servidor.

String linha;

while (true) {

System.out.println("Digite: [1] para enviar [2] para receber");

// ler a linha digitada no teclado

System.out.print("> ");

linha = teclado.readLine();

// antes de enviar, verifica se a conexão não foi fechada

if (done) {

break;

}

// envia para o servidor

saida.println(linha);

}

} catch (IOException e) {

// Caso ocorra alguma excessão de E/S, mostre qual foi.

System.out.println("IOException: " + e);

}

}

// execução da thread

public void run() {

try {

BufferedReader entrada = new BufferedReader( new InputStreamReader( conexao.getInputStream() ) );

String linha;

while (true) {

// pega o que o servidor enviou

linha = entrada.readLine();

// verifica se é uma linha válida. Pode ser que a conexão

// foi interrompida. Neste caso, a linha é null. Se isso

// ocorrer, termina-se a execução saindo com break

...

Baixar como (para membros premium)  txt (10.8 Kb)  
Continuar por mais 14 páginas »
Disponível apenas no TrabalhosGratuitos.com