https://github.com/walkor/workerman-jsonrpc
workerman作为进程管理器,json作为协议的远程服务调用的框架
https://github.com/walkor/workerman-jsonrpc
Last synced: about 16 hours ago
JSON representation
workerman作为进程管理器,json作为协议的远程服务调用的框架
- Host: GitHub
- URL: https://github.com/walkor/workerman-jsonrpc
- Owner: walkor
- License: mit
- Created: 2014-01-05T13:53:07.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2022-05-16T03:41:58.000Z (almost 3 years ago)
- Last Synced: 2024-10-29T10:26:56.689Z (4 months ago)
- Language: PHP
- Size: 639 KB
- Stars: 252
- Watchers: 18
- Forks: 80
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: MIT-LICENSE.txt
Awesome Lists containing this project
README
workerman
=========workerman 是一个高性能的PHP socket服务框架,开发者可以在这个框架下开发各种网络应用,例如Rpc服务、聊天室、游戏等。
workerman 具有以下特性
* 多进程
* 支持TCP/UDP
* 支持各种应用层协议
* 使用libevent事件轮询库,支持高并发
* 支持文件更新检测及自动加载
* 支持服务平滑重启
* 支持telnet远程控制及监控
* 支持异常监控及告警
* 支持长连接
* 支持以指定用户运行worker进程所需环境
========workerman需要PHP版本不低于5.3,只需要安装PHP的Cli即可,无需安装PHP-FPM、nginx、apache
workerman不能运行在Window平台
安装
=========1、下载 或者 git clone ```https://github.com/walkor/workerman-JsonRpc```
2、运行 ```composer install```
启动停止
=========启动
`php start.php start -d`重启启动
`php start.php restart`平滑重启/重新加载配置
`php start.php reload`查看服务状态
`php start.php status`停止
`php start.php stop`Rpc应用使用方法
=========### 客户端同步调用:
```php
getInfoByUid($uid);```
### 客户端异步调用:
RpcClient支持异步远程调用```php
asend_getInfoByUid($uid);
// 异步调用User::getEmail方法
$user_client->asend_getEmail($uid);这里是其它的业务代码
....................
....................// 需要数据的时候异步接收数据
$ret_async1 = $user_client->arecv_getEmail($uid);
$ret_async2 = $user_client->arecv_getInfoByUid($uid);这里是其他业务逻辑
```
### 服务端:
服务端每个类提供一组服务,类文件默认放在Applications/JsonRpc/Services目录下。
客户端实际上是远程调用这些类的静态方法。
例如:
```php
getInfoByUid($uid);
```
调用的是Applications/JsonRpc/Services/User.php 中 User类的getInfoByUid方法。
User.php文件类似这样
```php