看板 PHP 關於我們 聯絡資訊
※ 引述《PsMonkey (痞子軍團團長)》之銘言: : → johnny1972:無論是哪一個,你都應該要修改一下 WebSockerServer 05/18 01:20 : → johnny1972:然後ExampleServer.class.php 不要直接用繼承的 05/18 01:21 : → johnny1972:把 server create socket, socket_select 的部份抽出來 05/18 01:21 : → johnny1972:create 2個listen用的port,socket_select這兩個port 05/18 01:23 : → johnny1972:處理好 new connection跟dispatch的部份,應該可以做到 05/18 01:24 : → johnny1972:兩隻php.exe就在 run 裡頭加上可以 call_back 做事 05/18 01:31 : → johnny1972:用 gpmm大提到的用檔案溝通,其實也就可以了 05/18 01:32 感謝 johnny1972 大人點撥 只能說被發現我抄人家的 code 又不求甚解,才會炸這種問題 [死] 雖然說現在還是不求甚解,不過總算是硬幹出一個符合需求的東西 https://github.com/PsMonkey/HatePhp/tree/master/socket 關鍵點在於 socket_select() 會幫你找出哪個 socket 有變化 原先思考的盲點在於... server A 跟 server B 各自獨立 那其實只要再用一個陣列把 server A 跟 server B 的 所有 socket 都收集起來,一起作 socket_select() 挑出來的 socket 再判斷是 server A/B 的 (po 這篇的時候才想到,socket_select() 如果不會有 pause 效果 那好像也不用這麼麻煩? 阿阿阿阿... 算了不管了... [遮臉]) 然後很彆扭地花了一點功夫蓋 OO 違章建築... 當然目前這種寫法,各個 socket server 彼此都得 reference / couple 在一起 不過我實在沒力氣再去 decouple 了 程式敢拿去用的就用吧 要詰譙程式寫法也絕對歡迎... 我跟 PHP 的感情真的不太好 [死] : 推 alpe:改完了, 可以作 05/18 22:55 alpe 大提供的解法我就沒有看了 只能說我對 PHP 沒那麼有愛,有弄出解法就好... [死] -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.2.112
johnny1972:有幫助就好,我這幾天比較忙沒辦法提供實例 05/19 11:11