推 fillmore:不是有內建的Quene了不好用?或是有什需求做不到? 03/08 02:43
→ tomex:請看我的需求,就知道單純的Queue是很難處理byte[]資料的 03/08 02:51
→ tomex:我比較對queue中的資料作很複雜的比對及跳躍,因此讀要好用 03/08 02:55
推 toki:拿塊記憶體 (byte[]) 去模擬環狀佇列 (ring queue)? 03/08 04:13
推 fillmore:問一下MemoryStream不能buffer一段資料嗎?這樣不會回收嗎 03/08 04:29
→ tomex:ring queue是我以前的作法,利用read/write控制讀寫,然而 03/08 14:05
→ tomex:寫沒問題,讀資料並parsing前後check碼時,若遇到byte[]尾端 03/08 14:05
→ tomex:的截斷,我會損失一次parsed data,故詢問有否好的演算法... 03/08 14:06
→ tomex:這讀取環狀queue並能像一維陣列解析資料,才是真正的技術點 03/08 14:10
→ tomex:List<byte>目前能滿足,但它的GetRange()是採用copy方式讀取 03/08 14:13
→ tomex:這樣的list本身效能就比byte[]差,讀取又是複製,效能更差 03/08 14:17
推 sheaujen:把封包用一個class包起來Queue<className>去放不好嗎 03/09 01:11
→ wvsrugby:MemoryStream.SetLength(0);MemoryStream.Seek(0,Begin); 03/09 22:06
→ wvsrugby:這樣就可避免記憶體耗用過量的狀況. 03/09 22:09
→ tomex:SetLength(0)會破壞尚有資料的queue該物件沒翻遍不敢上來問 03/15 18:16
→ tomex:後來我發現要使用資料結構的link list來取代queue或array 03/15 18:17