Alarm.FormMain.Client_MessageReceived C# (CSharp) Method

Client_MessageReceived() private method

private Client_MessageReceived ( byte obj ) : void
obj byte
return void
        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);
            }
        }