Пример #1
0
        private Word ReceiveWord()
        {
            int length = ReceiveLengthPrefix();

            byte[] buffer = new byte[length];
            string data;
            Word   word = null;

            if (length > 0)
            {
                _tcpClient.GetStream().Read(buffer, 0, length);
                data = Encoding.ASCII.GetString(buffer);

                if (data[0] == '=')
                {
                    List <String> pair = data.Substring(1).Split(new char[] { '=' }, 2).ToList();
                    word = new AttributeWord(pair.First(), pair.Last());
                }
                else
                {
                    word = new Word(data);
                }
            }
            else
            {
                word = new Word("");
            }

            return(word);
        }
Пример #2
0
        public static ResponseData createResponseData(Response response)
        {
            var responseData = new ResponseData();

            foreach (ReplySentence reply in response)
            {
                if (reply.Re)
                {
                    var responseItem = new ResponseItem();
                    foreach (Word word in reply)
                    {
                        AttributeWord attribute = word as AttributeWord;
                        if (attribute != null)
                        {
                            responseItem[attribute.Key] = attribute.Value;
                        }
                    }

                    responseData.Add(responseItem);
                }
            }

            return(responseData);
        }