看板 PHP 關於我們 聯絡資訊
※ 引述《PsMonkey (痞子軍團團長)》之銘言: : 標題好難下...... Orz : 故事是這樣的,我需要用 PHP 建立起兩個 socket server : 一個是標準的 socket server : 另一個是 websocket server(其實也是 socket server) : 然後它們彼此之間要溝通,因為我要做的事情是... : hardware ←→ socket server ←→ websocket server ←→ browser : 最原始的需求是 : 當 hardware 有了某些變化時要能夠在 browser 上做出反應 : 而 browser 上的某些操作要能反應在 hardware 上 : 所以我現在的作法是 browser 跟 web server 之間就用 websocket 解決 : (不用考慮 cross-browser 真是開心) : websocket server 也用 PHP 弄出來了 : https://github.com/PsMonkey/HatePhp/tree/master/WebSocket : 但是一旦 service.php 開始執行 : $server->run() 之後的指令就都不會執行 : (謎之聲:廢話,因為裡頭有個無窮迴圈) : 我原本幻想在 service.php 當中同時有兩個 server 的 instance : 這樣它們彼此之間就可以透過參數傳遞的方法溝通 : 但是現在看起來... 真的是幻想...... Orz : 所以,想請教的是 : 1. 在 PHP 當中實作一個 socket server : 只能用一個無窮迴圈這個方法嗎? : 2. 有沒有辦法在一個 PHP 當中運作兩個 socket server? : 3. 還是以我的需求來說,在 PHP 當中有正確的解法? : (我承認我的想法很 Java,實在改不過來 Orz) : 懇請各位幫忙突破盲點 [淚目] 這一段拆去用 nodejs / socket.io 解會方便非常多, 聽起來猴大你 long polling(client <-> server)的地方已經處理好了, 反而是 server <-> server 遇到狀況是嗎? 如果你的 long polling 在 PHP 裡已是跑無窮迴圈來解的話, 那其實就讓兩個檔案互相溝通就好了, 或著如果你的環境可以的話,也可以考慮裝 ZMQ (應該會有幫助) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.172.160.74
PsMonkey:囧> 就是想問怎麼讓兩個(PHP)檔案互相溝通.... 05/18 00:47
PsMonkey:ZMQ 之前的討論有看過,但是不敢用...... 05/18 00:47
alpe:提問 ZMQ 是? google一下是 ZeroMQ 嗎? 05/18 23:31
gpmm:是的,就是 zeromq 05/19 03:02
Wush978:看完也第1時間想到ZMQ... XD 05/19 10:17