/// <summary> /// This loop waits for incoming data /// </summary> public void AwaitData() { try { int i; while ((i = stream.Read(bytes, 0, bytes.Length)) != 0) { //Incoming data is stored in buffer data = System.Text.Encoding.ASCII.GetString(bytes, 0, i); //Username, message_type, and message being parsed from the data string name = data.Substring(0, data.IndexOf(':')); MESSAGE_TYPE messageType = (MESSAGE_TYPE)Enum.Parse(typeof(MESSAGE_TYPE), data.Substring(data.IndexOf("//") + 2)); string message = data.Substring(data.IndexOf(':') + 1, data.IndexOf("//") - data.IndexOf(':') - 1); //Calls an event to write to the console chatEventHandler?.Invoke(this, new MessageRecievedEventArgs(name, messageType, message)); } } catch (System.IO.IOException) { ServerHandler.DisconnectClient(this); } catch (Exception) { Console.WriteLine("Error Occurred"); ServerHandler.DisconnectClient(this); } }
public static void Main(string[] args) { ServerHandler.Start(13000); ServerHandler.BeginAcceptConnections(); }