private static void ClientThreadFunc(object data) { Console.WriteLine("Client thread started"); ClientThread ct = data as ClientThread; ct.Run(); }
private void buttonRegister_Click(object sender, EventArgs e) /* * byte[] salt = GenerateSalt(SALTSIZE); * textBoxSalt.Text = Convert.ToBase64String(salt); * textBoxSizeSalt.Text = (salt.Length * 8) + ""; * * byte[] password = Encoding.UTF8.GetBytes(textBoxPassword.Text); * byte[] hash = GenerateSaltedHash(password, salt); * * * textBoxSizePass.Text = (hash.Length * 8) + ""; * textBoxSaltedHash.Text = Convert.ToBase64String(hash); * * Register(textBoxUsername.Text, hash, salt);*/ { ClientThread ct = new ClientThread("Thread 1"); ct.Run(); ClientThread ct2 = new ClientThread("Thread 2"); ct2.Run(); }
public MainWindowClient() { BindingErrorListener.Listen(m => { if (!m.Contains("FindAncestor")) { var s = m; var t = new Thread(() => MessageBox.Show(s)); Console.WriteLine(m); t.Start(); } }); InitializeComponent(); _applicationPresenter = new ApplicationPresenter(); SaveExecuteHelper.Get().Dispatcher = Dispatcher; for (int i = 1; i <= _applicationPresenter.Settings.ClientSettings.NumberOfThreads; i++) { string workingDir = _applicationPresenter.Settings.ClientSettings.WorkingDirectory; #pragma warning disable CA2000 // Dispose objects before losing scope string logfilename = Path.Combine(workingDir, "DistCalc.Client." + i + ".Log.sqlite"); DistLogger logger = new DistLogger(logfilename, "Log", null); #pragma warning restore CA2000 // Dispose objects before losing scope Settings cs = new Settings(_applicationPresenter.Settings); cs.ClientSettings.WorkingDirectory = Path.Combine(cs.ClientSettings.WorkingDirectory, "c" + i); ClientThread ct = new ClientThread(logger, cs, new ThreadId(Environment.MachineName, i)); _clientThreads.Add(ct); var t = new Thread(() => ct.Run(ShowMessageBox)); _threads.Add(t); t.Start(); TabItem ti = new TabItem(); ti.Header = "Client " + i; ClientView cv = new ClientView(); ClientPresenter cp = new ClientPresenter(ct, this); cv.DataContext = cp; ti.Content = cv; MyTabControl.Items.Add(ti); } }