Mega Code Archive

 
Categories / C# / Development Class
 

SerialPort Class represents a serial port resource

using System; using System.IO.Ports; using System.Threading; public class PortChat {     static bool _continue;     static SerialPort _serialPort;     public static void Main()     {         string name;         string message;         StringComparer stringComparer = StringComparer.OrdinalIgnoreCase;         Thread readThread = new Thread(Read);         _serialPort = new SerialPort();         _serialPort.ReadTimeout = 500;         _serialPort.WriteTimeout = 500;         _serialPort.Open();         _continue = true;         readThread.Start();         Console.Write("Name: ");         name = Console.ReadLine();         Console.WriteLine("Type QUIT to exit");         while (_continue)         {             message = Console.ReadLine();             if (stringComparer.Equals("quit", message))             {                 _continue = false;             }             else             {                 _serialPort.WriteLine(                     String.Format("<{0}>: {1}", name, message) );             }         }         readThread.Join();         _serialPort.Close();     }     public static void Read()     {         while (_continue)         {             try             {                 string message = _serialPort.ReadLine();                 Console.WriteLine(message);             }             catch (TimeoutException) { }         }     } }