private void Client_MessageReceived(byte[] obj)
{
String message = Encoding.UTF8.GetString(obj);
int xmlCount = Regex.Matches(message, Regex.Escape("<?xml version=")).Count;
if (xmlCount == 1) {
HandleMessage(message);
return;
}
List<int> indices = new List<int>();
foreach (int index in message.IndexesOf("<?xml version="))
indices.Add(index);
for (int i = 0; i < indices.Count; i++) {
string substring = null;
if (i == indices.Count - 1) {
substring = message.Substring(indices[i]);
} else {
substring = message.Substring(indices[i], indices[i + 1] - indices[i]);
}
HandleMessage(substring);
}
}