qxsch / multi-process-server
运行一个多线程服务器。
v1.0.1
2017-03-23 00:39 UTC
Requires
- php: >=5.3.2
- ext-pcntl: *
- ext-posix: *
- ext-sockets: *
Requires (Dev)
- phpunit/phpunit: >=4.0.0
Suggests
- php: >=5.5.0
This package is not auto-updated.
Last update: 2024-09-22 20:14:55 UTC
README
PHP的多线程服务器
TCPServer 类提供了一个非常简单的接口与客户端通信。您可以控制应该允许多少个进程同时运行。TCPServer 可以被完全观察。
TCPClient 类提供了一个非常简单的接口与服务器通信。
您可以在客户端和服务器之间发送任何可以被 序列化 的数据。
支持使用服务器和客户端证书进行 TLS 加密(双向认证)。
一个简单的例子
服务器代码
<?php $server = new \QXS\MultiProcessServer\TCPServer(12345); // setup the server for 127.0.0.1 on port 12345 // UNCOMMENT THE NEXT LINE TO ADD IMPERSONATION //$server->runAsUser("nobody"); $server->attach(new \QXS\MultiProcessServer\Observers\EchoObserver()); $server->create(new \QXS\MultiProcessServer\ClosureServerWorker( /** * @param \QXS\MultiProcessServer\SimpleSocket $serverSocket the socket to communicate with the client */ function(\QXS\MultiProcessServer\SimpleSocket $serverSocket) { // receive data and send it back $data=$serverSocket->receive(); echo "$data\n"; $serverSocket->send($data); } ));
客户端代码
<?php $client = new \QXS\MultiProcessServer\TCPClient(12345); // connect to 127.0.0.1 on port 12345 $client->send("hi"); echo $client->receive() ."\n";