simple-ipc / php-symplib
PHP的同步消息传递框架
v1.0.1
2024-08-03 14:02 UTC
Requires
- php: >=7.1
- ext-sockets: *
README
用户友好的面向对象API,用于PHP进程间的消息传递。
使用流套接字作为消息传递通道。单个服务器可以监听和处理多个通道上的消息,包括任何Unix域套接字和TCP/IP(v4和v6)的混合。
协议
消息使用简单的链路协议,其中消息的前8个字节指定其余消息的长度(无符号,大端)。
消息的有效负载由用户提供。序列化格式等留给用户选择。
入门指南
查看test/
目录中的完整工作示例。
简单服务器
class MyMessageHandler implements MessageHandler { public function handleMessage(string $msg): string { return "Hello, client, I received: $msg"; } } $handler = new MyMessageHandler(); $address = new InetSocketAddress('127.0.0.1', 1389, AF_INET); $server = new SocketStreamsServer([ new SocketData($address, $handler) ]); $server->listen(); while (true) $server->checkMessages(1);
简单客户端
$address = new InetSocketAddress('127.0.0.1', 1389); $client = new SocketStreamClient($address); $client->connect(); $client->sendMessage("Hello, server!"); $response = $client->receiveMessage(); echo $response . PHP_EOL; $client->disconnect();