public void RemoveClient(MusicServerT singleThread) { clientVector.Remove(singleThread); }
public void BroadCastToAll(Object objrecebido, MusicServerT tEnviada, bool skipItself,String tipocon) { MusicServerT aSingleThread = null; for (int i = 0; i < clientVector.Count ; i++) { aSingleThread = (MusicServerT) clientVector[i]; // Console.WriteLine("T:" + aSingleThread.tipocon + " S: " + aSingleThread.nome_sessao); // NOVA MODIFICACAO - olho if(skipItself) { // Retirando temporariamente a verificação do tipo de conexão //if( (!aSingleThread.Equals(tEnviada)) && (aSingleThread.tipocon.Equals(tipocon)) ) if (!aSingleThread.Equals(tEnviada) ) { // Console.WriteLine("Evento enviado!"); aSingleThread.BroadCastToClient(objrecebido); } } else { if( (aSingleThread.tipocon.Equals(tipocon)) ) aSingleThread.BroadCastToClient(objrecebido); } } }
public void IniciaServico(int port) { // Lista de usuários String []x = {"A" ,"A"}; userList.Add (x); String []y = {"B" ,"B"}; userList.Add (y); String[] z = { "C", "C" }; userList.Add(z); String[] w = { "D", "D" }; userList.Add(w); // IPHostEntry ipHostInfo = Dns.GetHostByName("localhost"); // IPHostEntry ipHostInfo = Dns.GetHostByAddress(end_ip); IPHostEntry ipHostInfo = Dns.GetHostByName(Dns.GetHostName()) ; IPEndPoint localEP = new IPEndPoint(ipHostInfo.AddressList[0],port); Console.WriteLine("Local address and port: " + localEP.ToString()); Socket listener = new Socket( localEP.Address.AddressFamily, SocketType.Stream, ProtocolType.Tcp ); Thread t; ArrayList ListThread = new ArrayList(); int i; try { listener.Bind(localEP); listener.Listen(10); i = 0; clientVector = new ArrayList(); MusicServerT c; // A cada nova requisão uma nova Thread é criada while (true) { c = new MusicServerT (listener.Accept(),this); // Iniciando a Thread do cliente! ThreadStart threadDelegate = new ThreadStart(c.run); tClienteConectado = new Thread(threadDelegate); tClienteConectado.Start(); } } catch (Exception e) { Console.WriteLine("Error:" + e.ToString()); } }
public void BroadCastToAll(Object objrecebido, MusicServerT tEnviada, bool skipItself) { this.BroadCastToAll(objrecebido,tEnviada,skipItself,tEnviada.tipocon); }