\Swoole\Coroutine\Http2Client

Class Client

Summary

Methods
Properties
Constants
__construct()
set()
connect()
send()
write()
recv()
close()
No public properties found
No constants found
No protected methods found
No protected properties found
N/A
No private methods found
No private properties found
N/A

Methods

__construct()

__construct(string  $host, integer  $port, boolean  $ssl = false) 

$host 目标主机的IP地址,$host如果为域名底层需要进行一次DNS查询 $port 目标端口,Http一般为80端口,Https一般为443端口 $ssl 是否开启TLS/SSL隧道加密,https网站必须设置为true 默认超时时间为500ms,如果你需要请求外网URL请修改timeout为更大的数值 $ssl需要依赖openssl,必须在编译swoole时启用--enable-openssl

Parameters

string $host
integer $port
boolean $ssl

set()

set(array  $options) 

设置客户端参数

Parameters

array $options

connect()

connect() : boolean

连接到目标服务器。此方法没有任何参数。 发起connect后,底层会自动进行协程调度,当连接成功或失败时connect会返回。 连接建立后可以调用send方法向服务器发送请求。

连接成功,返回true 连接失败,返回false,请检查errCode属性获取错误码

Returns

boolean

send()

send(\Swoole\Coroutine\Http2\Request  $request) : integer|false

向服务器发送请求,底层会自动建立一个Http2的stream。可以同时发起多个请求。

接受Swoole\Coroutine\Http2\Request类的对象作为参数 成功返回流的编号,编号为从1开始自增的奇数 失败返回false

Parameters

\Swoole\Coroutine\Http2\Request $request

Returns

integer|false

write()

write(integer  $streamId, mixed  $data, boolean  $end = false) 

向服务器发送更多数据帧,可以多次调用write向同一个stream写入数据帧。

$streamId 流编号,由send方法返回 $data数据帧的内容,可以为字符串或数组 $end 是否关闭流

注意事项 如果要使用write分段发送数据帧,必须在send请求时将$request->pipeline设置为true 当发送end为true的数据帧之后,流将关闭。之后不能再调用write向此stream发送数据

Parameters

integer $streamId
mixed $data
boolean $end

recv()

recv() : \Swoole\Coroutine\Http2\Response

接受请求,调用此方法时会yield让出协程控制权,服务器返回响应内容后resume当前协程。

成功后返回 Http2\Response 对象。

Returns

\Swoole\Coroutine\Http2\Response

close()

close() 

关闭连接