@zaidoh escreveu:
Segue as duas classes(ServidorResultados, VerResultado) abaixo, basicamente há uma requisição feita pela classe VerResultado à classe ServidorResultados, Deixo-as aqui algumas informações para que vocês possam fazer as seguintes implementações:
Substitua as variáveis por uma coleção que o ajude a relacionar uma data de sorteio ao resultado do sorteio.I Crie um método para preencher essa coleção com dados fictícios ou preencha manualmente antes de utilizá-la.II Agora tanto o cliente como o servidor irão ler e enviar mensagens via socket. Você precisará de DataInputStream e DataOutputStream para ambos.III No servidor, monte um String com as datas dos sorteios separados por vírgula. Assim, você pode enviá-la para o cliente.IV V Para exibir as datas de sorteio e solicitar que o cliente escolha uma, você pode usar o diálogo criado pelo método estático showInputDialog da classe JOptionPane. VI Você também pode criar uma janela personalizada para isso se tiver mais experiência com Swing.
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* @author zaidoh
*/
public class ServidorResultados {private String resutlado;
private String dataSorteio;public void iniciarServico() {
resutlado = "06-55-13-47-22-19";
dataSorteio = "08/10";try{
ServerSocket ss = new ServerSocket(2012);
while(true){System.out.println("Aguardando conexão..");
Socket cliente = ss.accept();
DataOutputStream dos = new DataOutputStream(cliente.getOutputStream());System.out.println("Enviando dados para " + cliente.getInetAddress());
dos.writeUTF(resutlado + "," + dataSorteio);
}
}catch(IOException ioe){
System.err.println(ioe.getMessage());
}}
public static void main(String[] args) {
ServidorResultados sr = new ServidorResultados();
sr.iniciarServico();
}}
import java.io.DataInputStream;
import java.io.IOException;
import java.net.Socket;
/**
*
* @author zaidoh
*/
public class VerResultado extends javax.swing.JFrame {public VerResultado() {
initComponents();
}@SuppressWarnings("unchecked")
private void initComponents() {
lbTitulo = new javax.swing.JLabel();
jsTitulo = new javax.swing.JSeparator();
jlResultado = new javax.swing.JLabel();
jbVer = new javax.swing.JButton();
jlData = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
getContentPane().setLayout(null);
lbTitulo.setFont(new java.awt.Font("Tahoma", 0, 24)); // NOI18N
lbTitulo.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lbTitulo.setText("Resultado da Mega Sena");
lbTitulo.setToolTipText("");
getContentPane().add(lbTitulo);
lbTitulo.setBounds(0, 10, 420, 50);
getContentPane().add(jsTitulo);
jsTitulo.setBounds(20, 60, 390, 10);
jlResultado.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
jlResultado.setForeground(new java.awt.Color(0, 108, 208));
jlResultado.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
getContentPane().add(jlResultado);
jlResultado.setBounds(20, 70, 390, 60);
jbVer.setFont(new java.awt.Font("Tahoma", 0, 18)); // NOI18N
jbVer.setText("Ver agora!");
jbVer.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbVerActionPerformed(evt);
}
});
getContentPane().add(jbVer);
jbVer.setBounds(60, 180, 300, 50);
jlData.setFont(new java.awt.Font("Tahoma", 0, 14)); // NOI18N
jlData.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
getContentPane().add(jlData);
jlData.setBounds(30, 130, 370, 30);
java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
setBounds((screenSize.width-439)/2, (screenSize.height-283)/2, 439, 283);
}
private void jbVerActionPerformed(java.awt.event.ActionEvent evt) {
requisitarResultado();
}public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (Exception ex) {
System.err.println(ex.getMessage());
}java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new VerResultado().setVisible(true);
}
});
}private javax.swing.JButton jbVer;
private javax.swing.JLabel jlData;
private javax.swing.JLabel jlResultado;
private javax.swing.JSeparator jsTitulo;
private javax.swing.JLabel lbTitulo;
private void requisitarResultado(){try{
Socket servidor = new Socket("127.0.0.1",2012);
DataInputStream dis = new DataInputStream(servidor.getInputStream());String resposta = dis.readUTF();
String [] dados = resposta.split(",");exibirResultado(dados[0], dados[1]);
}catch(IOException ioe){
System.err.println(ioe.getMessage());
}}
private void exibirResultado(String resultado, String data) {
jlResultado.setText(resultado);
jlData.setText("Sorteio: " + data);
}
}
Mensagens: 1
Participantes: 1