How to read serial data without any blocking using ESP8266
First, I think the protocol is slightly different probably. The first byte is 71. The next byte seems to be the number of bytes that follow (C8 hex is 200). The last byte is the checksum.

So you need to check for 71, when that is received you can read the next byte (number of bytes), the data, and the checksum. 

So the code should be something like:

void readSerial()
{
   if (Serial.available() &gt; 0) 
   {
      uint8_t readByte = Serial.read(); // uint8_t = 8 bit unsigned integer
      if (readByte == 71)
      {
         // Read message
         data_length = Serial.read();
         data_length = Serial.readBytes(data, data_length);
         checksum = Serial.read();
         // Check checksum
      }
      else 
      {
         data_length = 0;
      }
   }
}


(note: code is untested)

About blocking prevention, you will have to read them one by one and doing other tasks meanwhile.

Update

Assuming reading starts while sender is already sending possibly, and assuming a message always starts with 71 C8.

Create an enumeration that shows how many 'start bytes' have passed (71 C8 are start bytes).

enum EStartByte
{
   WaitForMessage,
   FirstStartBytePassed,
   ReadMessage
};

enum EStartByte startByte = WaitForMessage;

void readSerial()
{
   while (Serial.available())
   {
      switch (startByte)
      {
      case WaitForMessage: 
          // Expect first start byte
          if (Serial.readByte() == 0x71)
          {
               startByte = FirstStartBytePassed; 
          }
          break;

      case FirstStartBytePassed: 
          // Expect second start byte
          if (Serial.readByte() == 0xC8)
          {
               startByte = ReadMessage; // Start reading
          }
          else
          {
               startByte = WaitForMessage;
          }
          break;

      case ReadMessage:
          // Read data
          data_length = Serial.readBytes(data, 200);
          checksum = Serial.read();
          // Check checksum

          startByte = WaitForMessage; // Start over
          break;
      }
   }
}