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 TaisStream
      Como configurar essa query com inner join, no arquivo .xml?
      Me ajudem pf eu comecei mas estou perdida,  pesquisei já vi algo de /root... mas minha query esta diferente, nao sei se falta algo
       
       
      QUERY ATUAL:
      set mapreduce.job.queuename=low_relatorios; 
      set mapreduce.job.max.split.locations=100;
      SELECT a.num_msisdn,
             a.max_date
      FROM fact.dw_f_rcrg_gems_rate_subsc t
      INNER JOIN
        (SELECT num_msisdn,
                MAX(dat_operacao) AS max_date
         FROM fact.dw_f_rcrg_gems_rate_subsc
         WHERE (ref_date)>=$startdate
           AND ref_date<=$finaldate
           AND ide_plano_tarifario_atual IN (48,
                                             50,
                                             51,
                                             52,
                                             53,
                                             59,
                                             61,
                                             62,
                                             63,
                                             67,
                                             73,
                                             74)
         GROUP BY num_msisdn)a ON a.num_msisdn = t.num_msisdn
      AND a.max_date = t.dat_operacao
      WHERE ref_date>=$startdate
      AND ref_date<=$finaldate;
       
      QUERY CONFIGURANDO NO XML: 
       
          <value><![CDATA[[
      INSERT
              overwrite TABLE fact.dw_f_rcrg_gems_rate_subsc t 
              (
                      a.num_msisdn,
                      a.max_date
              )
      (SELECT
          INNER JOIN
      SELECT      
              MAX(dat_operacao) AS max_date;
      FROM fact.dw_f_rcrg_gems_rate_subsc) a
         WHERE (ref_date)>='$startdate'
           AND ref_date<=$'finaldate'
           AND ide_plano_tarifario_atual IN (48,
                                             50,
                                             51,
                                             52,
                                             53,
                                             59,
                                             61,
                                             62,
                                             63,
                                             67,
                                             73,
                                             74)
         GROUP BY num_msisdn)a ON a.num_msisdn = t.num_msisdn
                  AND a.max_date = t.dat_operacao
      WHERE ref_date>='$startdate'
      AND ref_date<=$finaldate;]]>
      </value>
       
       
      Poderiam me ajudar por favor, sou estagiario na area e ainda estou aprendendo.
    • By Roberto S. Santos
      Bom dia meus amigos.
      Alguém saberia como eu faço pra enviar o meu (textbox1) salvando na base de dados do meu server wamp ?
      Tipo um botão pra enviar.
      Estou usando o VB.NET 2015 com server wamp.
      Agradeço.
    • By Lucas Galvanini
      Quais frameworks vocês já utilizaram para desenvolver pra Raspberry pi?
      Algum deles é Java?
       
      Fiquei sabendo recentemente de um framework gratuito pra Raspberry chamado TotalCross (www.totalcross.com)
      Me disseram que é bem fácil de usar e tem um footprint bem otimizado.
    • By mvtp
      Procuro alguém que saiba criar site . Tenho uma idéia de produto,porém não sei programar
    • By RICARDOVS
      Estou tentando rodar a consulta abaixo, porém está dando o erro "Sintaxe incorreta próxima à palavra-chave 'where'". Poderiam me ajudar?
       
          SELECT '3. CONTAS BANCARIAS' as OPERACAO,
                  SBC.REFERENCIA as DTVENC,
                  CTA.CODCTABCOINT COD,
                  CTA.DESCRICAO,
                  SANKHYA.OBTEM_SALDO_BANCO_TGFMBC(SBC.CODCTABCOINT,convert(DATETIME, :DTSALDO)+1) as SALDODODIA,
                  SANKHYA.OBTEM_SALDO_BANCO_TGFMBC(SBC.CODCTABCOINT,convert(DATETIME, :DTSALDO)+1) as SALDOFIN
             FROM TGFSBC SBC,TSICTA CTA
            WHERE SBC.CODCTABCOINT=CTA.CODCTABCOINT
              AND SBC.REFERENCIA=(SELECT MAX(SBC2.REFERENCIA) from TGFSBC SBC2 where SBC2.CODCTABCOINT=CTA.CODCTABCOINT)
              AND CTA.AD_EXIBE_BI='S'
      UNION ALL
          select *
            from (select '1. CAMBIAL PENDENTE' AS OPERACAO,
                          MAX(FIN.DTVENC) AS DTVENC,
                          NAT.CODNAT AS COD, 
                          nat.descrnat AS DESCRICAO,  
                          sum(VLRCAMBIAL) AS SALDODODIA,
                          sum(vlrdesdob) as SALDOFIN
                      from tgffin FIN JOIN AD_CAMBIAL CAM ON (CAM.NUFIN=FIN.NUFIN)
                          join tgfnat nat on (nat.codnat=fin.codnat)
                    where CAM.TIPO='P' group by nat.descrnat, NAT.CODNAT, '1. CAMBIAL PENDENTE') s
          where :OPERACAO='1. CAMBIAL PENDENTE'
      UNION ALL
          select *
            from (select '2. CAMBIAL DISPONIVEL' AS OPERACAO,
                          MAX(FIN.DTVENC) AS DTVENC,
                          NAT.CODNAT AS COD, 
                          nat.descrnat AS DESCRICAO,  
                          sum(VLRCAMBIAL) AS SALDODODIA,
                          sum(vlrdesdob) as SALDOFIN
                      from tgffin FIN JOIN AD_CAMBIAL CAM ON (CAM.NUFIN=FIN.NUFIN)
                          join tgfnat nat on (nat.codnat=fin.codnat)
                    where CAM.TIPO='D' group by nat.descrnat, NAT.CODNAT, '2. CAMBIAL DISPONIVEL') s
          where :OPERACAO='2. CAMBIAL DISPONIVEL'
      UNION ALL
          select *
            from (select '4. MOVIMENTO' AS OPERACAO,
                          MAX(FIN.DTVENC) AS DTVENC,
                          NAT.CODNAT AS COD, 
                          nat.descrnat AS DESCRICAO,  
                          sum(fin.vlrdesdob*fin.recdesp) AS SALDODODIA,
                          sum(fin.vlrdesdob*fin.recdesp) AS SALDOFIN
                      from tgffin FIN join tgfnat nat on (nat.codnat=fin.codnat)
                          INNER JOIN TGFTOP TOC ON (FIN.CODTIPOPER = TOC.CODTIPOPER AND FIN.DHTIPOPER = TOC.DHALTER)
                          LEFT JOIN AD_CAMBIAL CAM ON (CAM.NUFIN=FIN.NUFIN) AND TOC.DHALTER = (SELECT MAX(TOC.DHALTER) FROM TGFTOP TOC WHERE FIN.CODTIPOPER= TOC.CODTIPOPER) AND TOC.GRUPO<>:ADIANTAMENTOS
                  where  (FIN.DHBAIXA is null)
                  AND FIN.CODEMP IN :EMPRESA
                  AND (FIN.PROVISAO<>:PROVISAO)
                  AND (FIN.CODTIPTIT<>19 AND FIN.CODTIPTIT<>20 AND FIN.CODTIPTIT<>21)
                  and FIN.DTVENC=:DIA
                  group by nat.descrnat, NAT.CODNAT, '4. MOVIMENTO')
          where :OPERACAO='4. MOVIMENTO'
       
×

Important Information

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