using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Threading; using System.IO; using System.Timers; using Project2Q.Core; namespace Project2Q.GUI { public partial class Form1 : Form { public bool disconnect = false; public MemoryStream ms; public StreamReader sr; public StreamWriter sw; public Thread pt; public Thread rt; //receive thread //public Thread wt; //write thread public Project2QService qq; byte[] bu; public Form1() { InitializeComponent(); ms = new MemoryStream(4096); sr = new StreamReader(ms); sw = new StreamWriter(ms); qq = new Project2QService("../../../Config.xml", sr, sw); pt = new Thread(new ParameterizedThreadStart(qq.OnStart)); pt.Start(); rt = new Thread(new ThreadStart(Receive)); rt.Start(); } public void Receive() { bu = new byte[100]; while (disconnect == false) { ms.Read(bu, 0, 100); string line; if (bu.Length >= 1) lstMain.Items.Add("Received: " + bu.ToString().Length + bu.ToString()); } } /* public void Write(object source, ElapsedEventArgs e) { while (disconnect == false) { if (sw.ReadLine().Length >= 1) { lstMain.Items.Add("Writing: " + sw.ToString()); } } }*/ private void btnSend_Click(object sender, EventArgs e) { String input; input = txtInput.Text; if (input.StartsWith("send ")) { input = input.Remove(0, "send ".Length); lstMain.Items.Add("Sending " + input.Split(' ')[0] + input.Remove(0, 2)); //Console.WriteLine("Sending {0}: {1}", input.Split(' ')[0], input.Remove(0, 2)); qq.SendMessage(int.Parse(input.Split(' ')[0]), input.Remove(0, 2)); } if (input.Equals("uptime")) { //TimeSpan up = DateTime.Now - dt; //lstMain.Items.Add("uptime: " + up.ToString()); lstMain.Items.Add("uptime: " + "unknown"); } if (input.Equals("quit")) { disconnect = true; lstMain.Items.Add("Exiting"); qq.OnStop(); } } } }