private void PodtrzymaniePołączenia() { try { while (true) { TcpClient tcpClient = new TcpClient(Around_Lib.GetIpByConnectionKey(ConnectionKeyBox.Text), 5759); NetworkStream stream = tcpClient.GetStream(); byte[] bytes = Encoding.UTF8.GetBytes(AdresIP); stream.Write(bytes, 0, bytes.Length); tcpClient.Close(); connected = true; Thread.Sleep(2000); } } catch { this.Invoke((MethodInvoker) delegate { ConnectToServerBtn.BackColor = Color.FromArgb(26, 35, 126); ConnectToServerBtn.Enabled = true; ConnectToServerBtn.Text = "Połącz"; ConnectionKeyBox.Enabled = true; ConnectionKeyBox.Visible = true; ConnectToServerBtn.Visible = true; ConnectionKeyLabel.Text = "Kod połączenia: " + ConnectionKeyBox.Text; MessageBox.Show("Utracono połączenie z serwerem!", "Utracono połączenie"); }); } }
private void ListenerThread() { Nasłuchiwacz.Start(); while (true) { //Odbieramy wiadomość Klient = Nasłuchiwacz.AcceptTcpClient(); NetworkStream strumień = Klient.GetStream(); var bufor = new byte[Klient.ReceiveBufferSize]; int bajty = strumień.Read(bufor, 0, Klient.ReceiveBufferSize); var wiadomość = Encoding.UTF8.GetString(bufor, 0, bajty); //Przetwarzamy wiadomość - w której jest po prostu adres IP klienta var entry = (from a in ListaAdresówKlientów where a.AdresIP == wiadomość select a).FirstOrDefault(); if (entry == null) { if (Around_Lib.IsIpCorrect(wiadomość) == true) { ListaAdresówKlientów.Add(new KlientIPModel(wiadomość, DateTime.Now)); } } else { entry.Aktualizuj(); } } //Nasłuchiwanie jest aktywne zawsze, więc nie opuszczamy tej metody }
private void Streamer_Load(object sender, EventArgs e) { this.Location = previousFormLoc; StreamingCodeLabel.Text = Around_Lib.GenerateNewConnectionKey(StrServerIP); //Oraz uruchamiamy nasłuchiwanie WątekNasłuchiwania = new Thread(ListenerThread); WątekNasłuchiwania.Start(); WątekAktywnychKlientów = new Thread(ConnectedClientsCounter); WątekAktywnychKlientów.Start(); }
private void PierwszePołączenie() { try { TcpClient tcpClient = new TcpClient(Around_Lib.GetIpByConnectionKey(ConnectionKeyBox.Text), 5759); NetworkStream stream = tcpClient.GetStream(); byte[] bytes = Encoding.UTF8.GetBytes(AdresIP); stream.Write(bytes, 0, bytes.Length); tcpClient.Close(); connected = true; } catch { } }
private void MainForm_Load(object sender, EventArgs e) { //Generujemy kolekcję interfejsów interfejsy = Around_Lib.GetLocalIPAddress(); listaInterfejsów = new List <string>(); foreach (var x in interfejsy) { listaInterfejsów.Add(x.InterfaceName + ", Adres IP: " + x.IpAddress); } InterfacesListBox.DataSource = listaInterfejsów; //Teraz ustawiamy zmienne blokujące przejście dalej choosedMode = 0; InterfacesListBox.SelectedIndex = 0; }
private void RenewConnectionKeyBtn_Click(object sender, EventArgs e) { StreamingCodeLabel.Text = Around_Lib.GenerateNewConnectionKey(StrServerIP); }