【发布时间】:2016-11-26 07:35:58
【问题描述】:
我想在 php symfony 项目中从服务器向浏览器发送通知。 在 symfony 中是否有一种简单的方法可以做到这一点?
【问题讨论】:
-
Symfony 是一个 PHP 后端框架。它不支持 websocket 连接。您将需要一些 websocket 代理。由于 asyc 要求,这可以基于 React PHP 或 Node.js。
我想在 php symfony 项目中从服务器向浏览器发送通知。 在 symfony 中是否有一种简单的方法可以做到这一点?
【问题讨论】:
过去我尝试使用 Wrench 库,它有一个 Symfony 包:
https://github.com/varspool/WebsocketBundle
这是 Wrench 库的包装器,可让您创建 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 :
composer require wrench/wrench
composer require varspool/websocket-bundle
其余的设置文档写在存储库中!
我没试过,但也许有你的解决方案:)
【讨论】: