Re: [請益] 兩個 socket server 之間的溝通?
※ 引述《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
→
05/18 00:47, , 1F
05/18 00:47, 1F
→
05/18 00:47, , 2F
05/18 00:47, 2F
→
05/18 23:31, , 3F
05/18 23:31, 3F
→
05/19 03:02, , 4F
05/19 03:02, 4F
推
05/19 10:17, , 5F
05/19 10:17, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 7 篇):