Exemple #1
0
 public void RemoveClient(MusicServerT singleThread)
 {
     clientVector.Remove(singleThread);
 }
Exemple #2
0
        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);

                }
            }
        }
Exemple #3
0
        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());

            }
        }
Exemple #4
0
 public void BroadCastToAll(Object objrecebido, MusicServerT tEnviada, bool skipItself)
 {
     this.BroadCastToAll(objrecebido,tEnviada,skipItself,tEnviada.tipocon);
 }