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:
[code] 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;
}
}[/code]
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…