Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void run ()
- {
- // código a executar pela thread
- byte buffer[] = new byte[MAX_TAMANHO_MSG];//por o tamanho de mensagem no configs
- while(true)
- {
- try
- {
- System.out.println("UDPServer - inicializado");
- DatagramSocket sock = new DatagramSocket(Configs.UPDPort);
- DatagramPacket pack = new DatagramPacket(buffer, buffer.length);
- while(true)
- {
- String textoRecebido = null;
- //System.toServer.println("UDPServer - A espera de menssagem UDPserver");
- sock.receive(pack);
- System.out.println("UDPServer - Menssagem recebida -> "+new String(pack.getData(), 0, pack.getLength()));
- textoRecebido = new String(pack.getData(), 0, pack.getLength());
- //System.toServer.println("textoRecebido -> "+ textoRecebido);
- InetAddress addr = pack.getAddress();
- String IPRecebido = addr.getHostAddress();
- String[] result = textoRecebido.split(";");
- String Part0 = result[0]; //Tipo + Nome
- String Part3 = result[1]; //Estado
- String[] result1 = Part0.split(" ");
- String Part1 = result1[0]; //Tipo
- String Part2 = null; //Nome
- for(int i=1; i<result1.length; i++)
- {
- if(i==1)
- {
- Part2 = result1[i];
- }
- else
- {
- Part2 = Part2+" "+result1[i];
- }
- }
- if( Part1.equals("USER_INFO_REQUEST"))
- {
- users.updateEstado(IPRecebido, Part2, Part3);
- try
- {
- String textoEnviar = null;
- textoEnviar = ("USER_INFO_REQUEST_REPLY "+users.ClientNickname+";"+users.ClientState);
- buffer = textoEnviar.getBytes();
- DatagramSocket sock2 = new DatagramSocket(2012);
- DatagramPacket pack2 = new DatagramPacket(buffer, buffer.length, new InetSocketAddress(IPRecebido, Configs.UPDPort));//UPDPort no 2010
- sock2.send(pack2);
- sock2.close();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- System.out.println("ServerUDP - USER_INFO_REQUEST - IOException ao comunicar");
- }
- users.UpdateUserList();
- }
- if( Part1.equals("USER_INFO_REQUEST_REPLY"))
- {
- users.updateEstado(IPRecebido, Part2, Part3);
- users.UpdateUserList();
- }
- if( !Part1.equals("USER_INFO_REQUEST_REPLY") && !Part1.equals("USER_INFO_REQUEST"))
- //if( Part1.equals("POKE"))
- {
- if(users.Connections==1)
- {
- users.chat.jTextArea2.append("## POKE ##"+textoRecebido + "\n");
- System.out.println("ServerUDP - POKE -> "+textoRecebido);
- }
- else
- {
- System.out.println("ServerUDP - POKE Rejeitado -> "+textoRecebido);
- }
- }
- }
- }
- catch (IOException ex)
- {
- Logger.getLogger(UDPserver.class.getName()).log(Level.SEVERE, null, ex);
- System.out.println("ServerUDP - Erro menssagem UDP");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement