using System.Net.Sockets; using System.Threading; using System; public class Program { private Receiver Rec; private Sender Send; private Thread SenderThread; private Thread ReceiverThread; public static void Main () { Program program = new Program(); program.StartThreads(); } public Program () { TcpClient client = new TcpClient ("localhost", 9999); Rec = new Receiver (client); Send = new Sender (client); } public void StartThreads () { ReceiverThread = new Thread(new ThreadStart(this.doReceive)); ReceiverThread.Start (); SenderThread = new Thread(new ThreadStart(this.doSend)); SenderThread.Start(); } public void doReceive () { string line; while ((line = Rec.Receive()) != null) { Console.WriteLine(line); } SenderThread.Abort(); } public void doSend () { while (true) { Send.Send(Console.ReadLine()); } } }