Jump to content
jp_li

Como integrar o servidor Socket na minha MainFrame?

Recommended Posts

Possuo uma MainFrame e uma classe Cliente e estou tentando fazer uma conexão servidor/cliente.
Integrei o servidor dentro da MainFrame e gostaria de enviar mensagens para meu cliente, de forma que o cliente receba mensagens com valores dentro da mainFrame.

Dentro da main eu abri a conexão Socket:

 ServerSocket server = new ServerSocket(3001);
        Socket s = server.accept();
        
        System.out.println("Conectado!");
        DataOutputStream dcs = new DataOutputStream(s.getOutputStream());
        dcs.writeUTF("Bem vindo, você se conectou!");


E possuo a classe Leitor:


       

public class Leitor extends SwingWorker<Void, Double>  {        
                    
                    Random rand = new Random();
        
        @Override
        protected  Void doInBackground() throws InterruptedException, IOException {
          
                while (!flag) {
                    Double valor =(rand.nextDouble() * 100);
                    publish(valor);
                    
                    if (valor > 90) {
                       newlbl.setText ("A temperatura está alta!");
                    
                       
                    }
                    else if (valor < 15) {
                        newlbl.setText ("A temperatura está baixa!");
                        
                    }
                    if(valor >15 & valor <90) {
                        newlbl.setText("Temperatura estável");
                   
                    }
                    Thread.sleep(7500);
               
                   }
                                    
           return null;

        }

Gostaria que em cada if dentro da void doInBackground eu pudesse enviar a mesma mensagem que eu estou setando(vai ficar se atualizando sempre, pois estou gerando valores aleatorios), usando o dcs.writeUTF(), porém preciso que a classe leitor possuo o Socket s, e o dataOutputStream dcs. Qual seria a solução? 


Essa é minha class Cliente.java:

  public static void main(String[] args) {
        try {
        Socket s = new Socket("127.0.0.1", 3001);
       
        DataInputStream dis = new DataInputStream(s.getInputStream());
       
        String msg = dis.readUTF();
        System.out.println(msg);
       
        }catch (Exception e){}
    }

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Thiago Ladislau
      Bom dia gostaria de compartilhar um erro que vem ocorrendo há muito tempo na empresa em que trabalho. Porem nunca foi identificada a causa origem do mesmo, Isso ocorre de forma aleatória não tem data nem hora, acontece de repente. Sendo obrigado ao 'fechamento forçado' do sistema que pode gerar problemas na base. Em anexo imagem do Erro.   Grato
    • By TkCode
      Estou tentando desenvolver um código para calcular o valor final de custas de imoveis.
      Exemplo: Entro com um valor de R$50.000,00. Tem o ITBI que é 2% sob os R$50.000,00 + o valor de custas que é o valor de uma tabela (essa tabela tem valores que de R$0,01 até R$17.800,90 é uma valor, e assim sucessivamente)
       
      Então teria que calcular os 2% (do valor informado) + o valor da tabela, dando um resultado final com o valor total (2%+ValorTabela).
       
      Alguem teria como me dar uma dica de como resolver isso?
      Desde já agradeço!
    • By cerejafalante
      Olá pessoal, estou com uma lista de exercício de funções para fazer no visualg mas não sei por onde começar, alguém pode me ajudar fazendo esse exercício? ai eu pego ele de exemplo e faço os outros, obrigada
       
      o exercício é 
      Escreva um programa que calcula área de figuras: quadrado, retângulo, triângulo e círculo. O usuário informa qual forma deseja calcular a área, informa os parâmetros necessários e a área da forma é calculada em uma função. 
    • By rafaelmoreira78
      Boa tarde!
      Estou querendo fazer um select a partir da seleção de um combobox. Nesse combobox o usuário escolhe o tipo de busca que ele quer. Se é por nome, por id, por data etc. E depois, exibe os dados nos campos. Porém, não estou conseguindo e não sei como resolver isso.
      public void consultar(){ String sql ="select * from tbcertificados where ?=?"; try{ pst=conexao.prepareStatement(sql); pst.setString(1,cbConsulta.getSelectedItem().toString()); pst.setString(2,txtBusca.getText()); rs=pst.executeQuery(); if (rs.next()){ lblID.setText(rs.getString(1)); txtNome.setText(rs.getString(2)); comboCursos.setSelectedItem(rs.getString(3)); txtData.setText(rs.getString(4)); txtCH.setText(rs.getString(5)); txtEmpresa.setText(rs.getString(6)); txtObs.setText(rs.getString(7)); }  
    • By Fibonacci13
      O código dentro de chaves denomina-se "Bloco de código" ?


      Verdadeiro ou falso?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.