作者PsMonkey (痞子军团团长)
看板PHP
标题Re: [请益] 两个 socket server 之间的沟通?
时间Sun May 19 03:11:30 2013
※ 引述《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
1F:推 johnny1972:有帮助就好,我这几天比较忙没办法提供实例 05/19 11:11