nocksapp / tivoka
通用的JSON-RPC客户端/服务器库。正确实现的JSON-RPC!
3.5.2
2016-10-20 15:30 UTC
Requires
- php: >=5.3
- textalk/websocket: 1.0.*
This package is auto-updated.
Last update: 2024-09-20 21:47:38 UTC
README
PHP 5.3+ 的 JSON-RPC 客户端和服务器
示例
这些只是快速示例。请查看 /doc/
中的文档。
通过 HTTP 发送请求...
<?php $connection = Tivoka\Client::connect('http://example.com/api') $request = $connection->sendRequest('substract', array(51, 9)); print $request->result;// 42 ?>
...或者纯TCP
<?php $connection = Tivoka\Client::connect(array('host' => 'example.com', 'port' => 1234)) $request = $connection->sendRequest('substract', array(51, 9)); print $request->result;// 42 ?>
...或者 WebSocket
<?php $connection = Tivoka\Client::connect('ws://example.com/api') $request = $connection->sendRequest('substract', array(51, 9)); print $request->result;// 42 ?>
创建服务器
<?php $methods = array( 'substract' => function($params) { list($num1, $num2) = $params return $num1 - $num2; } ); Tivoka\Server::provide($methods)->dispatch(); ?>
链接
- 查看
doc/
中的文档 - 将任何错误、建议或问题提交到 问题跟踪器
安装
安装 composer 包
- 在项目目录中设置
composer.json
{
"require":{"tivoka/tivoka":"*"}
}
- 运行 composer
$ php composer.phar install
现在,包含 include 'vendor/autoload.php'
许可
版权所有 2011-2012 由 Marcel Klehr MIT 许可。
变更日志
3.5.1
- 修复 Http 连接
3.5.0
- 如果安装了 curl,则支持 cookie(感谢 @oxan)
3.4.2
- 修复通过 curl 的 HTTP:不要为 http 头添加换行符(感谢 @oskarcafe)
3.4.1
- Http:如果可用,则使用 cURL(感谢 @hschletz)
3.4.0
- 添加在 WebSocket 中设置/覆盖请求头部的选项(感谢 @fiddur)
3.3.0
- 添加 WebSocket 传输(感谢 @fiddur)
3.2.1
- 修复 #41:修复 Tivoka\Server\Server::process 中的异常捕获(感谢 @ikulis)
3.2.0
- 功能:纯 TCP 连接(在此过程中大幅重写了我们的内部结构!感谢 @rafalwrzeszcz)
- 功能:可配置的连接超时
3.1.0
- 修复 #27:json-rpc 响应 [result] 可能为
null
(感谢 @vaab) - 功能:允许设置请求头并公开响应头(感谢 @vaab)
- 修复客户端通知的 bug
- 在
doc/
中添加文档
3.0.1
- 修复一个在抛出异常时会导致问题的错别字(感谢 @gahr)
3.0.0
- 使用命名空间(不再支持 php5.2)
- 新的工厂类(每个服务器/客户端)
- 请求不再需要 $id 参数
- 大幅简化了服务器端的使用
- 流畅的规范版本设置器
- 现在可作为 composer 包提供
2.0.3
- 添加了 HTTPS 支持
- 目标方案现在不区分大小写处理
2.0.2
- 引入了新的目录结构
- 修复 #10
- 一些异常消息略有变化,以更具体
2.0.1
- 修复 http 方法拼写(变为大写,以便所有服务器都接受它)
2.0.0
- 完整代码库重构
- 主要 API 变更
- 移除 Response 类
- 添加了若干快捷方式
- 实现了本机远程接口