Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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)
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:
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:
Passo:
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);