/// <summary>
        /// StreamBufferからのデータ追加イベント時.
        /// </summary>
        public void OnAdded(object sender, EventArgs e)
        {
            StreamBuffer senderSB = (StreamBuffer)sender;

            byte[] readBuffer = senderSB.Get(-1);
            nullSplitter.Set(readBuffer);

            // CRLFがあるだけライン受信イベントを起こす
            foreach (byte[] oneLine in nullSplitter)
            {
                ReadEventArgs readEA = new ReadEventArgs();
                readEA.oneLine = Encoding.UTF8.GetString(oneLine);

                if (null != readEA.oneLine)
                    LineRead(this, readEA);
            }

            // 読み取ったものは削除
            senderSB.Delete(nullSplitter.getReadBytes());
        }
Esempio n. 2
0
 private void OnLineRead(object sender, ReadEventArgs e)
 {
     TwoEventArgs readedEventArgs = new TwoEventArgs();
     readedEventArgs.firstData = e.oneLine;
     readedEventArgs.secondData = this;
     Read(this, readedEventArgs);
 }