2016-07-22 21 views
-5

我想在php symfony項目中將服務器通知發送到瀏覽器。 有沒有一種簡單的方法可以在symfony中做到這一點?symfony項目中的Websocket通信

+0

Symfony是一個PHP後端框架。它不支持websocket連接。你將需要一些websocket代理。由於asyc的要求,這可以基於React PHP或Node.js。 – mblaettermann

回答

1

在過去,我試圖用扳手庫,其中有一個Symfony的包:

https://github.com/varspool/WebsocketBundle

這是扳手庫,它允許你創建的WebSocket應用的包裝。

這似乎是配置相當簡單:

# app/config/config.yml 
varspool_websocket: 
    servers: 
     default: # Server name 
      listen: ws://192.168.1.103:8000 # default: ws://localhost:8000 

      # Applications this server will allow 
      applications: 
       - echo 
       - multiplex 

      # Origin control 
      check_origin: true 
      allow_origin: # default: just localhost (not useful!) 
       - "example.com" 
       - "development.localdomain" 

      # Other defaults 
      max_clients:    30 
      max_connections_per_ip: 5 
      max_requests_per_minute: 50 

然後你聲明的WS應用程序作爲服務。

<!-- Application\ChatBundle\Resources\config\services.xml --> 
<service id="chat_service" class="Application\ChatBundle\Services\ChatService"> 
    <tag name="varspool_websocket.application" key="chat" /> 
</service> 

要安裝它,使用作曲:

composer require wrench/wrench 
composer require varspool/websocket-bundle 

的設置文檔的其餘部分寫在倉庫!

我沒有嘗試它,但也許有你的解決方案:)