Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simon28082/client
Http Tcp Websocket client
https://github.com/simon28082/client
Last synced: 3 days ago
JSON representation
Http Tcp Websocket client
- Host: GitHub
- URL: https://github.com/simon28082/client
- Owner: simon28082
- License: mit
- Created: 2018-09-29T08:53:35.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2019-01-14T07:50:49.000Z (almost 6 years ago)
- Last Synced: 2024-07-13T05:23:44.321Z (4 months ago)
- Language: PHP
- Size: 22.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 远程调用的统一客户端
## 使用方法
### 加载引入
> 如果您的Larvel版本>5.5可忽略此设置
在`config/app.php`中增加
```
'providers' => [
CrCms\Foundation\ConnectionPool\PoolServiceProvider::class,
CrCms\Foundation\Client\ClientServiceProvider::class,
]
```### 增加配置
在`config/client.php`的`connections`中增加如下测试配置
```
'http' => [
'driver' => 'http',
'host' => 'blog.crcms.cn',
'port' => 80,
//资源连接器的配置,请参考guzzlehttp
'settings' => [
'timeout' => 1,
],
],
```### 调用方法
```
//实例化并设置连接
$client = $this->app->make('client.manager')->connection('http');
//发送请求
$client = $client->request('/',[]);
//获取当前连接
dump(get_class($client->getConnection()));
//获取连接池管理器
dump(get_class($client->getConnectionPoolManager()));
//获取当前的连接资源的响应
dump(get_class($client->getResponse()));
//获取资源响应内容
dd($client->getContent());
```### 动态化配置
```
$client = $this->app->make('client.manager')->connection([
'name' => 'http',
'driver' => 'http',
'host' => '192.168.1.12',
'port' => 8500,
'settings' => [
'timeout' => 1,
],
]);
```### 使用连接池
在`config/pool.php`的`connections`中增加配置(可选增加)
```
'client' => [
'max_idle_number' => 50,//最大空闲数
'min_idle_number' => 15,//最小空闲数
'max_connection_number' => 20,//最大连接数
'max_connection_time' => 3,//最大连接时间(s)
],
```> **使用连接池时,以当前连接名称做为连接池名称**
## 支持的类型
- Http## 后期增加
- Tcp
- WebSocket