All pastes #752743 Raw Edit

Someone

public text v1 · immutable
#752743 ·published 2007-10-28 18:12 UTC
rendered paste body
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();
            }
        }
    }
}