/// <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()); }
private void OnLineRead(object sender, ReadEventArgs e) { TwoEventArgs readedEventArgs = new TwoEventArgs(); readedEventArgs.firstData = e.oneLine; readedEventArgs.secondData = this; Read(this, readedEventArgs); }