看板 PHP 關於我們 聯絡資訊
簡敘操作內容: 在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移除。 抱歉,如果有敘述不周的話,再敬請指教喔~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.42.57 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1468121077.A.5BD.html
shadowjohn: 每次讀1byte,不是*就一直append? 07/10 12:02
是個好辦法,不知道會不會影響到速度。感謝陰影給了方向! 想一想,好像如果不是一個一個好像就沒有其他方式了..
shadowjohn: 也還好吧?你一次讀8192,explode下去 07/10 18:08
shadowjohn: 第一組分作append,如果>2組,中間的全是一組array 07/10 18:09
shadowjohn: 最後一組就是未完 07/10 18:09
好的,感謝shadowjohn,謝謝您。 ※ 編輯: freedom74569 (1.163.34.61), 07/10/2016 21:10:55