Multi cliente com UDP

0 respostas
L

Se alguem puder me ajudar eu agradeço, estou desenvolvendo uma aplicação que consiste em um servidor e um cliente,
o protocolo que estou usando é o UDP, pois bem, meu servidor já esta escutando na porta 4545, e meu cliente ja se comunica com essa porta...
Porém eu preciso criar um fluxo somente para cliente x, ou um while infinito somente daquele cliente x para que eu posso gerenciar os pacotes que este cliente está enviando e continuar escutando na porta 4545 novos clientes.
Ja tentei dessa forma que inicia um Thread de fluxo:

public UDPconnectionClient searchClient()
    {
            DatagramPacket recvPacket;
            String w_m;
            UDPconnectionClient retorno = null;
            try{
            synchronized(connection)
            {
              recvPacket = new DatagramPacket(new byte[512], 512);
              
              connection.receive(recvPacket);
              w_m = new String(recvPacket.getData(),0,recvPacket.getLength());
              
              DatagramSocket clientethis;
              
              DatagramChannel cl = connection.getChannel().open();
              
              cl.connect(recvPacket.getSocketAddress());
              
              clientethis = cl.socket();
              
              if(!a.contains(clientethis.getPort()))
              {
              a.add(clientethis.getPort());
              
              frmMenu.getInstance().putLog("UDPconnectionClient: Novo cliente no canal:" + clientethis.getPort(), 0);
              
              retorno = new UDPconnectionClient(clientethis, recvPacket.getAddress(),recvPacket.getPort(),w_m);
              
              UPDWhileClientIn atenda_este_cliente = new UPDWhileClientIn(retorno);
           
              atenda_este_cliente.start();
              }

            }
            }catch(IOException ex)
            {
               frmMenu.getInstance().putLog("UDPconnection: Error searchClient() connection: " + ex.getMessage(), 2); 
            }
            finally
            {
                return retorno;
            }  
    }

Como podem ver ela tem uns métodos que usei de udp, porém a thread que eu crio fica incomunicável....
Aguardando conexões daquele cliente e nada, alguém pode me dizer como fazer esse fluxo, em TCP eu sei mas UDP não...

Obrigado...

Criado 20 de julho de 2012
Respostas 0
Participantes 1