Sei sulla pagina 1di 9

Thiago Queiroz Douglas Nogueira

O java interage com outras mquinas em uma rede atravs de sockets. Existem dois tipos: Conexo usando sockets de fluxo: - Servio orientado a conexo(TCP) Conexo usando sockets de datagrama: - Servio no orientado a conexo(UDP)

1 Passo: Cria-se um objeto ServerSocket. ServerSocket server = new ServerSocket(NmeroPorta, Comprimento);


NmeroPorta = Porta TCP para aguardar conexo (> 1024) Comprimento = nmero de conexes permitidas.

Observaes: O nmero de porta utilizado pelos clientes para localizar o aplicativo servidor no pc servidor, denominado ponto de handshake. Somente um aplicativo por vez pode ser vinculado a uma porta no servidor. 0 < porta < 65.535. Abaixo de 1024 so reservadas para servios do sistema.

2 Passo: Ouvi uma conexo de cliente: Socket connection = server.accept(); Observaes: Esse processo espera uma conexo do cliente e retorna um socket quando uma conexo com o cliente estabelecida. Atravs desse socket, cliente e servidor podem interagir. As interaes cliente/servidor ocorrem em uma porta diferente do ponto de handshake, isso permite que a porta do servidor possa estabelecer conexo com outros clientes(mltiplas threads).

3 Passo: Criar objetos para permitir a troca de dados. ObjectInputStream input = new ObjectInputStream(connection.getInputStream()); ObjectOutputStream output = new ObjectOutputStream(connection.getOutputStream()); Observaes: O servidor envia informaes ao cliente pelo objeto OutputStream e recebe informaes via InputStream. O mtodo getOutputStream no socket obtm o OutputStream do Socket e de modo analgo funciona o getInputStream. O mtodo write do OutputStream envia dados e o mtodo read do InputStream l dados recebidos.

Passo:

Troca de dados entre cliente e servidor. MensagemRecebida = (String) input.readObject(); output.writeObject(mensagemParaEnviar);


5

Passo:

Fechar a conexo nos fluxos e socket. output.close(); //fecha fluxo de sada input.close(); //fecha o fluxo de entrada connection.close(); //fecha o socket

Passo: Passo:

Cria-se um socket para se conectar ao servidor. Socket client = new Socket(IPServer, Porta);
2

Cria-se OutputStream e InputStream. ObjectOutputStream output = new ObjectOutputStream(client.getOutputStream()); ObjectInputStream input = new ObjectInputStream(client.getInputStream());

Passo:

Comunicao via OutputStream e InputStream. mensagemRecebida = (String) input.readObject(); output.writeObject(mensagem + MensagemEnvio);


4

Passo:

Encerramento dos fluxos e socket. output.close(); input.close(); client.close();

1 Passo: Configura o socket para recebimento de dados. DatagramSocket socket = new DatagramSocket(porta); 2 Passo: Cria-se objeto para recebimento de pacotes. DatagramPacket receivePacket = new DatagramPacket(data, data.length); Socket.receive(receivePacket); Cria-se objeto para envio de pacotes. DatagramPacket sendPacket = new DatagramPacket(data,dada.lenght,IPDestino, Porta); Socket.send(sendPacket);

Potrebbero piacerti anche