Ajuda com codigo para UDPServer UDPClient

0 respostas
T

Criar um servidor java e um cliente java baseados nos códigos do livro de Coulouris (e no códigos alterados no laboratório), em que o cliente deverá fazer, no mínimo, 5 sondagens junto ao servidor, obter um RTT médio das 5 sondagens e “ajustar a hora da máquina”(1) baseando-se na hora do servidor e descontado o atraso médio de resposta.
(1) O ajuste da hora da máquina pode ser virtual, com o cliente apenas imprimindo na tela a suposta hora de ajuste.

Esses são os codigos que tenho
Tanto do UDPServer e o UDPClient

import java. net.<em>;

import java. io.</em>;

import java.time.*;

public class UDPServer{

public static void main(String args[]){

DatagramSocket aSocket = null;

try{

aSocket = new DatagramSocket(6789);

// create socket at agreed port

byte[] buffer = new byte[1000];

while(true){

DatagramPacket request = new DatagramPacket(buffer, buffer.length);

aSocket.receive(request);

LocalTime timePoint = LocalTime.now();

System.out.println(timePoint.toString());

System.out.println("Mensagem Recebida: " + new String(buffer, 0, request.getLength()));

//    			DatagramPacket reply = new DatagramPacket(request.getData(), request.getLength(),

//    				request.getAddress(), request.getPort());

DatagramPacket reply = new DatagramPacket(timePoint.toString().getBytes(), timePoint.toString().length(),

request.getAddress(), request.getPort());

aSocket.send(reply);

}

}catch (SocketException e){System.out.println("Socket: " + e.getMessage());

}catch (IOException e) {System.out.println("IO: " + e.getMessage());

}finally {if(aSocket != null) aSocket.close();}

}

}
import <a href="http://java.net">java.net</a>.<em>;

import <a href="http://java.io">java.io</a>.</em>;

public class UDPClient{

public static void main(String args[]){

// args give message contents and destination hostname

DatagramSocket aSocket = null;

try {

aSocket = new DatagramSocket();

byte [] m = args[0].getBytes();

InetAddress aHost = InetAddress.getByName(args[1]);

int serverPort = 6789;

int x = 6;

while (x<6){		

DatagramPacket request =

while(	new DatagramPacket(m,  args[0].length(), aHost, serverPort);

aSocket.send(request);	}

x++;		

byte[] buffer = new byte[1000];

DatagramPacket reply = new DatagramPacket(buffer, buffer.length);	

aSocket.receive(reply);

System.out.println("Reply: " + new String(reply.getData()));	

}catch (SocketException e){System.out.println("Socket: " + e.getMessage());

}catch (IOException e){System.out.println("IO: " + e.getMessage());

}finally {if(aSocket != null) aSocket.close();}

}		      	

}
Criado 4 de abril de 2018
Respostas 0
Participantes 1