internal void handleRawPacket(byte[] data)
{
while (data[0] == '+') data = data.Slice(1);
if (data[data.Length - 3] != '#')
{
Console.WriteLine("(2)'{0}'", Encoding.ASCII.GetString(data));
throw(new Exception("Invalid exception"));
}
if (data[0] != '$')
{
Console.WriteLine("(1)'{0}'", Encoding.ASCII.GetString(data));
throw(new Exception("Invalid exception"));
}
// @TODO: Check checksum. Not useful on a TCP.
handlePacket(Encoding.ASCII.GetString(data.SliceWithBounds(1, -3)));
}