[请益] 请教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