private void RegisterButton_Click(object sender, RoutedEventArgs e) { string username = this.usernameTxtBox.Text; string password = this.passwordTxtBox.Password; errorBox_Username.Visibility = System.Windows.Visibility.Hidden; errorBox_Password.Visibility = System.Windows.Visibility.Hidden; ///////////////////////////////////////////////////////////////////// if (username.Equals("")) { errorBox_Username.Visibility = System.Windows.Visibility.Visible; Errore = true; } if (password.Equals("")) { errorBox_Password.Visibility = System.Windows.Visibility.Visible; Errore = true; } if (Errore) { return; } //////////////////////////////////////////////////////////////// TcpClient tmp = new TcpClient(); // ip e porta del server fissati tmp.Connect(classes.Function.checkIPAddress("172.29.146.235"), Int16.Parse("3000")); client = new Network.Client(tmp); string ccc = client.reciveComand(client.CLIENT.GetStream()); if (ccc.Equals("+++OPEN")) { client.sendCommand("++++REG", client.CLIENT.GetStream()); client.sendFileDimension(username.Length, client.CLIENT.GetStream()); ccc = client.reciveComand(client.CLIENT.GetStream()); if (ccc.Equals("+++++OK")) { client.sendData(username, client.CLIENT.GetStream()); } ccc = client.reciveComand(client.CLIENT.GetStream()); if (ccc.Equals("+++++OK")) { client.sendFileDimension(password.Length, client.CLIENT.GetStream()); } ccc = client.reciveComand(client.CLIENT.GetStream()); if (ccc.Equals("+++++OK")) { client.sendData(password, client.CLIENT.GetStream()); } } errorBox.Content = "Registration succeed"; errorBox.Visibility = System.Windows.Visibility.Visible; errorBox.Foreground = Brushes.Green; System.Threading.Thread.Sleep(1000); this.Hide(); this.parent.Activate(); this.parent.Show(); }
public FolderBackup(string cnt) { this.auth = cnt; lstFilesFound = new List <string>(); files = new Dictionary <string, Utils.FileInfomation>(); info = new List <Utils.FileInfomation>(); backupList = new List <Utils.CheckBackup>(); InitializeComponent(); if (!Directory.Exists(backupFolder)) { Directory.CreateDirectory(backupFolder); } try { // ip e porta del server fissati TcpClient tmp = new TcpClient(); //TcpClient control = new TcpClient(); _isRunning = true; // ip e porta del server fissati tmp.Connect(classes.Function.checkIPAddress("192.168.137.111"), Int16.Parse("3000")); //tmp.Connect(classes.Function.checkIPAddress("127.0.0.1"), Int16.Parse("3000")); client = new Network.Client(tmp); string ccc = client.reciveComand(client.CLIENT.GetStream()); if (ccc.Equals("+++OPEN")) { Thread th = new Thread(CheckCon); th.Start(client.CLIENT); clientSend("+++AUTH"); string cmd = client.reciveComand(client.CLIENT.GetStream()); Console.WriteLine(cmd); if (cmd.Equals("+++++OK")) { client.sendFileDimension(this.auth.Length, client.CLIENT.GetStream()); cmd = client.reciveComand(client.CLIENT.GetStream()); if (cmd.Equals("+++++OK")) { Console.WriteLine(cmd); client.sendData(this.auth, client.CLIENT.GetStream()); } } clientSend(String.Format("+++LIST")); dir.Dispatcher.Invoke(new Action(() => { dir.Text += "Client connected to server!\n"; }), DispatcherPriority.ContextIdle); clientRecive(); } } catch (SocketException e1) { MessageBox.Show("Server non ragiungibile!"); this.client = null; return; } catch (FormatException e2) { MessageBox.Show("Porta errata!"); this.client = null; return; } catch (InvalidOperationException e3) { MessageBox.Show("Indirizzo IP errato!"); this.client = null; return; } catch (Exception e) { MessageBox.Show("Connessione col server persa!"); return; } }
public string login() { string cmd; Network.Client myClient = client; NetworkStream ns = myClient.CLIENT.GetStream(); errorBox_Username.Visibility = System.Windows.Visibility.Hidden; errorBox_Password.Visibility = System.Windows.Visibility.Hidden; cmd = myClient.reciveComand(ns); if (cmd.Equals("+++OPEN")) { Connect.Dispatcher.Invoke(new Action(() => { username = usernameTxtBox.Text; password = paswordTxtBox.Password; }), DispatcherPriority.ContextIdle); if (username.Equals("")) { errorBox_Username.Visibility = System.Windows.Visibility.Visible; } if (password.Equals("")) { errorBox_Password.Visibility = System.Windows.Visibility.Visible; } myClient.sendCommand("++LOGIN", ns); cmd = myClient.reciveComand(ns); if (cmd.Equals("+++++OK")) { myClient.sendFileDimension(username.Length + password.Length + 1, ns); cmd = myClient.reciveComand(ns); if (cmd.Equals("+++++OK")) { string user = username + ":" + password; myClient.sendData(user, ns); string tmp = myClient.reciveComand(ns); if (tmp.Equals("++CLOSE")) { myClient.close(); return(username); } else { errorBox.Visibility = System.Windows.Visibility.Visible; myClient.close(); return(null); } } } } return(null); }
private void clientRecive() { if (client.isConnected()) { new Thread(() => { string cmd; NetworkStream ns = client.CLIENT.GetStream(); // Send the message to the connected TcpServer. while (_isRunning && !Shutdown) { try { cmd = client.reciveComand(ns); Console.WriteLine(cmd); if (cmd == null) { _isRunning = false; return; } if (cmd.Equals("++CLOSE")) { client.close(); _isRunning = false; Application.Current.Shutdown(); return; } if (cmd == null) { _isRunning = false; return; } if (cmd.Equals("+++LIST")) { int dim = client.reciveDimension(ns); Console.WriteLine(dim); clientSend("+++++OK"); String version = client.reciveVersion(dim, ns); Console.WriteLine(version); String[] list = version.Split(';'); backupList = new List <Utils.CheckBackup>(); for (int i = 0; i < list.Length - 1; i++) { String[] backup = list[i].Split('%'); backupList.Add(new Utils.CheckBackup(backup[0], backup[1], backup[2])); } box.Dispatcher.Invoke(new Action(() => { box.ItemsSource = backupList; }), DispatcherPriority.ContextIdle); cmd = ""; } dir.Dispatcher.Invoke(new Action(() => { dir.Text += "Wait to command\n"; }), DispatcherPriority.ContextIdle); if (cmd == null) { _isRunning = false; return; } if (cmd.Equals("+BACKUP")) { dir.Dispatcher.Invoke(new Action(() => { dir.Text += "Sono nel backup\n"; }), DispatcherPriority.ContextIdle); client.sendFileDimension(xml.Length, ns); // MessageBox.Show(""+xml.Length); Console.WriteLine("Crash"); cmd = client.reciveComand(ns); if (cmd == null) { _isRunning = false; return; } if (cmd.Equals("+++++OK")) { Console.WriteLine("Crash dopo OK"); dir.Dispatcher.Invoke(new Action(() => { dir.Text += "Ok \n"; }), DispatcherPriority.ContextIdle); client.sendData(xml, ns); Console.WriteLine("Crash Send Data"); dir.Dispatcher.Invoke(new Action(() => { dir.Text += "Send XML \n"; }), DispatcherPriority.ContextIdle); cmd = client.reciveComand(ns); if (cmd == null) { _isRunning = false; return; } Console.WriteLine("Crash Send ok"); if (cmd.Equals("+++++OK")) { try { cmd = client.reciveComand(ns); } catch (IOException ioe) { Application.Current.Shutdown(); } if (cmd == null) { _isRunning = false; return; } if (cmd.Equals("+UPLOAD")) { Console.WriteLine("Crash Upload ok"); try { dir.Dispatcher.Invoke(new Action(() => { dir.Text += "Inizio l'upload\n"; }), DispatcherPriority.ContextIdle); client.sendData("+++++OK", ns); int totale = lstFilesFound.Count; int i = 0; foreach (String path in lstFilesFound) { pbStatus.Dispatcher.Invoke(() => { pbStatus.Value = (i * 100) / totale; count.Text = (i * 100) / totale + "%"; }, DispatcherPriority.Background); cmd = client.reciveComand(ns); if (cmd == null) { _isRunning = false; return; } if (cmd.Equals("+++FILE")) { Console.WriteLine("Crash File"); dir.Dispatcher.Invoke(new Action(() => { dir.Text += "Invio il File " + i + "\n"; }), DispatcherPriority.ContextIdle); client.sendFile(path, ns); i++; if (client.reciveComand(ns) == "+++++OK") { client.sendCommand("+++++OK", ns); } } } pbStatus.Dispatcher.Invoke(() => { pbStatus.Value = (totale * 100) / totale; count.Text = (totale * 100) / totale + "%"; }, DispatcherPriority.Background); } catch (Exception e) { MessageBox.Show("Connesione Persa!"); return; } } clientSend("+++LIST"); cmd = ""; } } } if (cmd == null) { _isRunning = false; return; } if (cmd.Equals("RESTORE")) { dir.Dispatcher.Invoke(new Action(() => { dir.Text += "Restoring\n"; }), DispatcherPriority.ContextIdle); foreach (Utils.CheckBackup cb in backupList) { if (cb.CHECK) { string toRestore = cb.NAME + @"\" + cb.VERSION; MessageBox.Show(toRestore); if (!Directory.Exists(backupFolder + @"\" + cb.NAME + @"\" + cb.VERSION)) { Directory.CreateDirectory(backupFolder + @"\" + cb.NAME + @"\" + cb.VERSION); } client.sendFileDimension(toRestore.Length, client.CLIENT.GetStream()); string mycmd = client.reciveComand(client.CLIENT.GetStream()); Console.WriteLine(mycmd); if (cmd == null) { _isRunning = false; return; } if (mycmd.Equals("+++++OK")) { client.sendData(toRestore, client.CLIENT.GetStream()); mycmd = client.reciveComand(client.CLIENT.GetStream()); Console.WriteLine(mycmd); if (cmd == null) { _isRunning = false; return; } if (mycmd.Equals("+++++OK")) { int i = 0; Boolean Next = true; while (Next) { mycmd = client.reciveComand(client.CLIENT.GetStream()); Console.WriteLine(mycmd); if (mycmd == null) { _isRunning = false; return; } if (mycmd.Equals("++++END")) { Console.WriteLine("Finito"); break; } ; if (mycmd.Equals("+++FILE")) { Console.WriteLine("Numero : " + i); i++; int dim = client.reciveDimension(client.CLIENT.GetStream()); client.sendCommand("+++++OK", client.CLIENT.GetStream()); string relative = client.reciveVersion(dim, client.CLIENT.GetStream()); Console.WriteLine("path : " + relative); client.sendCommand("+++++OK", client.CLIENT.GetStream()); dim = client.reciveDimension(client.CLIENT.GetStream()); client.sendCommand("+++++OK", client.CLIENT.GetStream()); string name = client.reciveVersion(dim, client.CLIENT.GetStream()); Console.WriteLine("fileName : " + name); client.sendCommand("+++++OK", client.CLIENT.GetStream()); dim = client.reciveDimension(client.CLIENT.GetStream()); client.sendCommand("+++++OK", client.CLIENT.GetStream()); client.ReciveFile(Directory.GetCurrentDirectory() + @"\" + backupFolder + @"\" + cb.NAME + @"\" + cb.VERSION + @"\", relative, name, dim, client.CLIENT.GetStream()); Console.WriteLine("finish\n"); clientSend("+++++OK"); } } Console.WriteLine("Restore Completato!"); MessageBox.Show("Restore Completato"); Console.WriteLine(cmd); cmd = ""; } } } } } } catch (Exception e) { Console.WriteLine(e.Message); MessageBox.Show("Connessione persa!"); return; } } return; }).Start(); return; } return; }