package ClientServer; /** * @author Ricardo Gaspar */ import java.io.* ; import java.net.* ; import java.util.* ; public class MyClient { public static void main(String[] args ) throws Exception { if( args.length != 3 ) { System.out.printf("usage: java MyClient maquina_do_servidor porto_servidor_envio porto_servidor_recep¨‹o\n") ; System.exit(0); } // Criar um scanner auxiliar para ler linhas completas do canal de entrada standard. Scanner in = new Scanner( System.in ) ; // Preparar endereco e o porto do servidor String servidor = args[0] ; int portB = Integer.parseInt( args[1] ) ; InetAddress serverAddressB = InetAddress.getByName( servidor ) ; //Servidor do pr—prio Cliente int portA = Integer.parseInt( args[2] ) ; InetAddress serverAddressA = InetAddress.getByName( "127.0.0.1" ) ; // Preparar o socket para trocar mensagens (datagramas) DatagramSocket socket = new DatagramSocket() ; // Ler o pedido do canal "standard input". String request = in.nextLine() ; byte[] requestData = request.getBytes() ; //Ciclo para envio continuo de mensagens while(!request.equalsIgnoreCase("end")){ // Criar a mensagem para enviar DatagramPacket echoRequest = new DatagramPacket( requestData, requestData.length ) ; echoRequest.setAddress( serverAddressB ) ; echoRequest.setPort( portB ) ; socket.send( echoRequest ) ; echoRequest.setAddress( serverAddressA ) ; echoRequest.setPort( portA ) ; socket.send( echoRequest ) ; request = in.nextLine(); requestData = request.getBytes(); } } }