private void Asistente_de_conexion_Load(object sender, EventArgs e)
 {
     this.CenterToParent();
     foreach (var cli in clientes)
     {
         if (SocketExtensions.IsConnected(cli) == true)
         {
             listBox1.Items.Add("📱=" + cli.Client.RemoteEndPoint.ToString());
         }
     }
     if (GR3_UiF.Properties.Settings.Default.lenguaje == "spa")
     {
         this.label1.Text = "para conectar al servidor introduce:";
         this.label3.Text = "O escanea el siguiente codigo";
         this.label4.Text = "Clientes conectados:";
     }
     if (GR3_UiF.Properties.Settings.Default.lenguaje == "eng")
     {
         this.label1.Text = "To connect to server enter:";
         this.label3.Text = "Or scan the following code";
         this.label4.Text = "Connected clients:";
     }
     label2.Text       = ip;
     pictureBox1.Image = GetQRCode();
 }
예제 #2
0
 private void formsincronizacion_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (c != null && SocketExtensions.IsConnected(c))
     {
         c.Client.Send(Encoding.UTF8.GetBytes("desconectarse$  "));
         c.Client.Disconnect(false);
     }
     if (c2 != null && SocketExtensions.IsConnected(c2))
     {
         c2.Client.Disconnect(false);
     }
     detenedor = false;
 }
예제 #3
0
        private static void Bw_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker backw      = sender as BackgroundWorker;
            ClientData       tempclient = e.Argument as ClientData;

            byte[] recvImag;
            int    senderBuffer;
            string isEnd_orPassImage;

            while (true)
            {
                NetworkStream ns = tempclient.Tcpclient.GetStream();
                StreamReader  sr = new StreamReader(ns);
                StreamWriter  sw = new StreamWriter(ns);


                try
                {
                    isEnd_orPassImage = sr.ReadLine();
                    if (isEnd_orPassImage == "end" || isEnd_orPassImage == null)
                    {
                        //string disconMessage = sr.ReadLine();
                        //Console.WriteLine(disconMessage);
                        Console.WriteLine("A Client is disconnected");
                        break;
                    }
                    senderBuffer = int.Parse(isEnd_orPassImage);

                    if (ns.CanRead)
                    {
                        Console.WriteLine("size: " + senderBuffer.ToString());
                        recvImag = new byte[senderBuffer];


                        int count = senderBuffer;
                        int read, offset = 0;

                        while (count > 0 && ((read = ns.Read(recvImag, offset, count))) > 0)
                        {
                            offset += read;
                            count  -= read;
                        }
                        if (count != 0)
                        {
                            throw new EndOfStreamException();
                        }


                        Console.WriteLine("client sent a photo (size :" + recvImag.Length.ToString() + " )");

                        ns.Flush();

                        for (int i = 0; i < numberOfClient; i++)
                        {
                            if (clientSockets[i] != tempclient)
                            {
                                ns = clientSockets[i].Tcpclient.GetStream();
                                sw = new StreamWriter(ns);
                                sr = new StreamReader(ns);
                                sw.WriteLine(senderBuffer.ToString());
                                sw.Flush();
                                ns.Write(recvImag, 0, recvImag.Length); //送回去
                                ns.Flush();
                            }
                        }
                        Console.WriteLine("you send it back");
                        Thread.Sleep(1000);
                    }
                }
                catch
                {
                    if (SocketExtensions.IsConnected(tempclient.Socket) == false)
                    {
                        string dicString = "Client " + tempclient.Name + " is disconnected ( " + tempclient.Ip + " )";

                        byte[] sendB = Encoding.UTF8.GetBytes(dicString);
                        udpClientSocket.Send(sendB, sendB.Length, ipGp);
                        clientDisconnet = true;
                        Console.WriteLine("broadcast : " + dicString);

                        clientSockets.Remove(tempclient);
                        if (clientSockets.Count == 0)
                        {
                            Console.WriteLine("No Client is Online Now.....");
                        }
                    }
                }
            }
        }