public void setListener() { s = new InvioTCP(ipep, user, this); // tcp = new Thread(new ThreadStart(s.tcpAscolto)); tcp.Start(); }
private void analyze_queue() { Packet p_estratto; del delegato1 = scrivi; while (true) { _m.WaitOne(); if (queue.Count > 0) //a { p_estratto = queue.Dequeue(); //qui eseguo quello che c'e da fare per quel pacchetto if (p_estratto.getDescrizione().Equals("Annuncio") && modalita == true && !p_estratto.getIpMittente().Equals(ipep)) { /* * * Bisogna rispondere con se stesso(descrizione == Risposta Annuncio) * POICHE la connect è bloccante bisogna farlo andare su un altro thread * devo inviare user con la foto * * * */ Int32 porta = s.getUsedPort(); ipep.Port = porta; Packet p_risposta_annuncio = new Packet("Risposta Annuncio", ipep, user); //mettere il proprio utente-->creare classe utente /* //aggiungere listPort; * //Salvare l'utente e creare la classe utente in "shared" */ byte[] data_risp_ann = new byte[1024 * 100]; data_risp_ann = serialize(p_risposta_annuncio); newsock.Send(data_risp_ann, data_risp_ann.Length, p_estratto.getIpMittente()); } if (p_estratto.getDescrizione().Equals("Risposta Annuncio") && !p_estratto.getIpMittente().Equals(ipep)) { //mettilo nella lista di utenti attivi if (!utenti.ContainsKey(p_estratto.getIpMittente())) { Int32 porta = s.getUsedPort(); ipep.Port = porta; //richiedi user in tcp //Int32 portTCP = 8001; //TcpClient client = new TcpClient(ipep); //client.Connect(p_estratto.getIpMittente()); InvioTCP s1 = new InvioTCP(ipep, user, p_estratto.getIpMittente(), this); // var tcp = new Thread(new ThreadStart(s1.TcpConnect)); tcp.Start(); // utenti.Add(p_estratto.getIpMittente(), p_estratto.getUser()); } //windows.lstUtenti.Dispatcher.Invoke(delegato1,new object[] {p_estratto.getUser().getCognome() }); //windows.Dispatcher.Invoke(delegato1, new object[] { p_estratto.getUser().getCognome() }); //+immagine } if (p_estratto.getDescrizione().Equals("Richiesta invio")) { //message box per sapere se si vuole accettare o no //problema path_file , come farlo bene ? } } _m.ReleaseMutex(); } }