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(); }
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; }
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....."); } } } } }