private void ServerLoginButton_Click(object sender, EventArgs e) { ValidateServerFields(); if (!HasErrors(new List <TextBox>() { ServerAddressField, ServerPortField })) { client = new TcpClient(); IPEndPoint IpEnd = new IPEndPoint(IPAddress.Parse(ServerAddressField.Text), int.Parse(ServerPortField.Text)); try { client.Connect(IpEnd); if (client.Connected) { ChatLogField.AppendText("Connected to server!\r\n"); STW = new StreamWriter(client.GetStream()) { AutoFlush = true }; STR = new StreamReader(client.GetStream()); backgroundWorker1.RunWorkerAsync(); } } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } }
private void BackgroundWorker2_DoWork(object sender, DoWorkEventArgs e) { if (client.Connected) { STW.WriteLine(TextToSend); this.ChatLogField.Invoke(new MethodInvoker(delegate() { ChatLogField.AppendText("Me: " + TextToSend + "\r\n"); })); } else { MessageBox.Show("Sending failed"); } backgroundWorker2.CancelAsync(); }
private void BackgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { while (client.Connected) { try { receive = STR.ReadLine(); this.ChatLogField.Invoke(new MethodInvoker(delegate { ChatLogField.AppendText("Them: " + receive + "\r\n"); })); receive = ""; } catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); } } }