推 johnny1972:有幫助就好,我這幾天比較忙沒辦法提供實例 05/19 11:11
※ 引述《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