private void SendInbox(ClientForm parent, ClientInboxWindow main, TcpClient clientSocket) { string data = main.clientInboxInput.Text; Storage.RichTextBoxAppend(main.clientInbox, $"You: {data}"); parent.clientInbox += $"You: {data}"; NetworkStream stream = new NetworkStream(clientSocket.Client, false); byte[] buffer = Encoding.UTF8.GetBytes($"i{data}"); stream.Write(buffer, 0, buffer.Length); stream.Close(); Storage.TextBoxClear(main.clientInboxInput); }
// Thread private void ListenThread(ClientForm main) { NetworkStream stream = new NetworkStream(main.clientSocket.Client, false); byte[] buffer = new byte[1024]; while (Thread.CurrentThread.IsAlive) { int bytesCount = 0; try { bytesCount = stream.Read(buffer, 0, buffer.Length); } catch { } if (bytesCount == 0) { break; } string data = Encoding.UTF8.GetString(buffer, 0, bytesCount); if (data[0] == 'i') { (new Thread(o => InboxReceiveThread(main, data))).Start();//clientInboxWindow, clientInbox, data))).Start(); } else if (data[0] == 's') { (new Thread(o => ShellReceiveThread(main, data))).Start();//clientShellWindow, clientShell, data))).Start(); } else if (data == @"!@#$%^&*()_+EXIT!@#$%^&*()_+") { (new Thread(o => PartnerLeft('e'))).Start(); break; } else if (data == @"!@#$%^&*()_+DENY!@#$%^&*()_+") { (new Thread(o => PartnerLeft('d'))).Start(); break; } } stream.Close(); }
private void btnClient_Click(object sender, EventArgs e) { client = new ClientForm(parent); client.Show(); this.Close(); }
private void InboxReceiveThread(ClientForm main, string data)//ClientInboxWindow clientInboxWindow, string clientInbox, string data) { data = $"Partner: {data.Substring(1)}"; main.clientInbox += data; main.clientInboxWindow.UpdateInbox(data); }
private void ShellReceiveThread(ClientForm main, string data)//ClientShellWindow clientShellWindow, string clientShell, string data) { data = data.Substring(3).Replace("\ns/_", "\n"); main.clientShell += data; main.clientShellWindow.UpdateShell(data); }