public void receber() { string Mensagem; string[] pts = portas.Split(';'); Socket socketreceber = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); EndPoint endereco = new IPEndPoint(IPAddress.Parse(IP), 9060); IPEndPoint endereco2;// = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9061); byte[] data = new byte[1024]; int qtdbytes; socketreceber.Bind(endereco); while (true) { qtdbytes = socketreceber.ReceiveFrom(data, ref endereco); Mensagem = Encoding.UTF8.GetString(data, 0, qtdbytes); if (Mensagem.IndexOf("nEpr!") == 0) { string[] aux = Mensagem.Split('='); string[] aux2 = aux[1].Split(':'); portas = portas = portas + aux2[0] + ";"; nicks = nicks += aux2[1] + ";"; count += 1; envusrs(); } else if (Mensagem.IndexOf("nSpr!") == 0) { string[] aux = Mensagem.Split('='); string[] aux2 = aux[1].Split(':'); portas = portas.Replace(aux2[0], null); nicks = nicks.Replace(aux2[1] + ";", ""); count -= 1; envusrs(); } else //if(portas.IndexOf(";") != -1) { Socket socketenviar = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); string[] pt = portas.Split(';'); foreach (string prt in pt) { if (prt != "") { endereco2 = new IPEndPoint(IPAddress.Parse(prt), 9061); socketenviar.SendTo(Encoding.UTF8.GetBytes(Encoding.UTF8.GetString(data, 0, qtdbytes)), endereco2); } } socketenviar.Close(); } } }