Ejemplo n.º 1
0
        private IEnumerable <string> ReadLineEnumerable()
        {
            var @byte  = SocketStream.ReadByte();
            var symbol = (char)@byte;

            while (@byte != -1)
            {
                var nextSymbol = char.MinValue;
                if (symbol == '\r' && Socket.Available == 0)
                {
                    var line = StringBuilder.ToString();
                    StringBuilder.Clear();

                    yield return(line);
                }
                else if ((@byte = SocketStream.ReadByte()) != -1 && (nextSymbol = (char)@byte) == '\n' && symbol == '\r')
                {
                    var line = StringBuilder.ToString();
                    StringBuilder.Clear();

                    yield return(line);
                }
                else if (@byte == -1)
                {
                    yield return(string.Empty);
                }
                else
                {
                    StringBuilder.Append(symbol);
                    symbol = nextSymbol;
                }
            }
            yield return(string.Empty);
        }
Ejemplo n.º 2
0
        public object Decode(object sender, SocketClient <object, object, object> client, SocketStream <object, object, object> stream)
        {
            MemoryStream ms = new MemoryStream();
            byte         data;

            while ((data = (byte)stream.ReadByte()) != 0)
            {
                ms.WriteByte(data);
            }

            string xml = encoding.GetString(ms.ToArray());

            return(NicoXmlRegistry.Deserialize(xml));
        }