/// <summary> /// </summary> /// <param name="request"></param> /// <param name="response"></param> public void Process(IClientRequest request, IServerResponse response) { string[] clientMessage = Encoding.Default.GetString(request.Read()).TrimEnd('\0').Split(' '); if (clientMessage.Length == 1 && clientMessage[0] != "BYE") { response.Write("-Error Unknown Command"); return; } Debug.WriteLine("Message received by mock server: " + clientMessage[0] + " " + (clientMessage.Length == 2 ? clientMessage[1] : string.Empty)); switch (clientMessage[0]) { case "CONN": response.Write(string.Format("+OK Hello {0}", clientMessage[1])); break; case "MESG": MessageCount++; response.Write("+OK Msg Received"); OnMessageReceived(new MessageReceivedEventArgs(clientMessage[1])); break; case "BYE": response.Write("+OK GoodBye"); response.EndConnection = true; break; } }
/// <summary> /// Processes a client request. /// </summary> /// <param name="request"></param> /// <param name="response"></param> public void Process(IClientRequest request, IServerResponse response) { Argument.Assert.IsNotNull(request, "request"); Argument.Assert.IsNotNull(response, "response"); string[] commandArgs = Encoding.Default.GetString(request.Read()).Split(' '); ProcessCommand(commandArgs, response); }