Ir para conteúdo
Fórum CódigoFonte.net

zaidoh

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

  1. Segue as duas classes(ServidorResultados, VerResultado) abaixo, basicamente há uma requisição feita pela classe VerResultado à classe ServidorResultados, Deixo-as aqui algumas informações e uma imagem 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); } } Ver Imagem megaSena
×
×
  • Criar Novo...