Gostaria de pedir a ajuda de voces para quem manja isso é moleza.A classe Serv e a classe Clt estão compilando; só está faltando colocar a classe Demonstra dentro do Servidor e não estou conseguindo, peço que me ajudem se possível.
O programa faz o seguinte, quando compilo a classe Server informo um numero de porta
Também compilo a classe Cliente e forneço o mesmo nº da porta do Servidor e um endereço de IP;só está faltando aparecer a data e a hora que estão na classe Demonstra, como faço isso.Desde já agradeço pela atenção..
//ClasseCliente
import java.io.*;
import java.net.*;
public class Socket01Clt {
public static void main(String a[]) {
try {
new Socket01Clt(a[0], Integer.parseInt(a[1]));
} catch (Exception e) {
System.out.println(e);
System.out.println("Uso:\n\tjava Socket01Clt <end_IP> <porta>");
}
}
public Socket01Clt(String ip, int porta) {
try {
Socket conexao = new Socket(ip, porta);
System.out.println("LocalAddress : "+conexao.getLocalAddress().toString());
System.out.println("LocalPort : "+conexao.getLocalPort());
System.out.println("RemoteAddress: "+conexao.getInetAddress().toString());
System.out.println("RemotePort : "+conexao.getPort());
conexao.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
import java.io.*;
import java.net.*;
import java.util.Date;
import java.text.SimpleDateFormat;
public class Socket01Svr {
public static void main(String a[]) {
try {
new Socket01Svr(Integer.parseInt(a[0]));
} catch (Exception e) {
System.out.println(e);
System.out.println("Uso:\n\tjava Socket01Svr <porta>");
}
}
public Socket01Svr(int porta) {
try {
ServerSocket server = new ServerSocket(porta);
while(true) {
System.out.println("LocalSocket:\n"+server.toString());
Socket client = server.accept();
System.out.println("ClientSocket:\n"+client.toString());
client.close();
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
//Código Demonstra:
import java.util.Date;
import java.text.SimpleDateFormat;
import java.util.*;
/* Classe que demonstra as funcionalidades de GregorianCalendar e SimpleDateFormat */
public class Demonstra {
public static void main (String args[]) {
/* Aqui instanciamos a classe GregorianCalendar de forma que ela chame o construtor padrão dela
*/
GregorianCalendar calendario = new GregorianCalendar();
/* Aqui instanciamos a classe SimpleDateFormat passando argumentos para o construtor de
forma que ele inicialize os valores através dos argumentos passados */
SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy");
SimpleDateFormat hora = new SimpleDateFormat("HH:mm:ss");
/* Aqui chamamos o conhecido método println para exibir nossos dados, na primeira linha
fazemos com que o método getTime nos retorne todos os dados, através da referência
"calendario" para a classe GregorianCalendar */
System.out.println("Hora e Data ==== " + calendario.getTime());
/* Aqui fazemos com que o valor retornado pelo método getTime seja formatado pelo método
format que passará uma mensagem ao objeto "data" */
System.out.println("Data " + data.format(calendario.getTime()));
/* Aqui fazemos com que o valor retornado pelo método getTime seja formatado pelo método
format que passará uma mensagem ao objeto "hora" */
System.out.println("Hora " + hora.format(calendario.getTime()));
}
}