pzverr / websocket
基于morozovsk/websocket的简单PHP WebSocket服务器
该软件包的官方仓库似乎已不存在,因此该软件包已被冻结。
dev-master
2017-11-29 15:02 UTC
Requires
- php: >=5.3.0
- ext-mbstring: *
This package is not auto-updated.
Last update: 2023-06-28 13:26:32 UTC
README
基于 morozovsk/websocket 的分支。
在守护进程类中添加自定义选项。
安装
{
"require": {
"pzverr/websocket": "dev-master",
}
}
Symfony2 示例
AppBundle\Console\Command\WebSocketServerCommand.php
class WebSocketServerCommand extends ContainerAwareCommand { ... protected function execute(InputInterface $input, OutputInterface $output) { $em = $this->getContainer()->get('doctrine')->getManager(); $servers = [ 'default' => [ 'class' => 'AppBundle\WebSocket\DefaultDaemonHandler', 'pid' => '/tmp/websocket_default.pid', 'websocket' => 'tcp://:5001', 'options' => [ 'em' => $em, ] ] ]; $action = $input->getArgument('action'); $server = $input->getArgument('server'); $WebSocketServer = new Server($servers[$server]); call_user_func(array($WebSocketServer, $action)); } }
AppBundle\Services\DefaultDaemonHandler.php
use pzverr\websocket\Daemon; ... class DefaultDaemonHandler extends Daemon { protected function onOpen($connectionId, $info) { $entity = $this->em->getRepository('FooBundle:Entity')->find(1); //etc } } ...