[請益] 請教PHP接收封包後的解析處理方式

作者: freedom74569   2016-07-10 11:24:32
簡敘操作內容:
在PHP server listener上聽取socket,
client端會一直write進來server,
接下來server read後,
接收到client封包長短不固定,
可是會有一個 * 在這個封包的結尾,
以上是沒有問題的~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
想請教就是!
如何擷取 * 前的資料,
將 * 前的完整資料拿到後儲存到array,
buffer字串*後面的資料還留著,
如果還沒有看到 * 就將buffer留著
如果取出的話,則就取出部分從buffer移除。
意識packet如下:
1,PPT,ASK,PHP,THANKS*1,PPT,TEC
會持續有封包進來,有時候長度不一,
取出*前的資料,存到buffer,
如果取到就將*包含星號那段從buffer移除。
抱歉,如果有敘述不周的話,再敬請指教喔~
作者: shadowjohn (轉角遇到愛)   2016-07-10 12:02:00
每次讀1byte,不是*就一直append?也還好吧?你一次讀8192,explode下去第一組分作append,如果>2組,中間的全是一組array最後一組就是未完

Links booklink

Contact Us: admin [ a t ] ucptt.com