Properties

$host

$host : string

主机名

Type

string

$port

$port : integer

端口

Type

integer

$ssl

$ssl : boolean

是否使用 ssl

Type

boolean

$http2Client

$http2Client : \Swoole\Coroutine\Http2\Client

Swoole http2 客户端

Type

\Swoole\Coroutine\Http2\Client

$recvChannels

$recvChannels : array<mixed,\Swoole\Coroutine\Channel>

接收的频道集合

Type

array<mixed,\Swoole\Coroutine\Channel>

$serverPushQueueLength

$serverPushQueueLength : integer

服务端推送数据队列长度

Type

integer

$timeout

$timeout : float

超时时间,单位:秒

Type

float

$recvCo

$recvCo : integer|boolean

接收协程ID

Type

integer|boolean

Methods

__construct()

__construct(string  $host, integer  $port, boolean  $ssl, \Yurun\Util\YurunHttp\Handler\Swoole  $handler = null) 

Parameters

string $host
integer $port
boolean $ssl
\Yurun\Util\YurunHttp\Handler\Swoole $handler

connect()

connect() : boolean

连接

Returns

boolean

close()

close() : void

关闭连接

send()

send(\Yurun\Util\YurunHttp\Http\Request  $request, boolean  $pipeline = false, boolean  $dropRecvResponse = false) : integer|boolean

发送数据 成功返回streamId,失败返回false

Parameters

\Yurun\Util\YurunHttp\Http\Request $request
boolean $pipeline

默认send方法在发送请求之后,会结束当前的Http2 Stream,启用PIPELINE后,底层会保持stream流,可以多次调用write方法,向服务器发送数据帧,请参考write方法。

boolean $dropRecvResponse

丢弃接收到的响应数据

Returns

integer|boolean

write()

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

向一个流写入数据帧

Parameters

integer $streamId
string $data
boolean $end

是否关闭流

Returns

boolean

end()

end(integer  $streamId) : boolean

关闭一个流

Parameters

integer $streamId

Returns

boolean

recv()

recv(integer|null  $streamId = -1, double|null  $timeout = null) : \Yurun\Util\YurunHttp\Http\Response|boolean

接收数据

Parameters

integer|null $streamId

默认不传为 -1 时则监听服务端推送

double|null $timeout

超时时间,单位:秒。默认为 null 不限制

Returns

\Yurun\Util\YurunHttp\Http\Response|boolean

isConnected()

isConnected() : boolean

是否已连接

Returns

boolean

getHost()

getHost() : string

Get 主机名

Returns

string

getPort()

getPort() : integer

Get 端口

Returns

integer

isSSL()

isSSL() : boolean

Get 是否使用 ssl

Returns

boolean

getRecvingCount()

getRecvingCount() : integer

获取正在接收的流数量

Returns

integer

getServerPushQueueLength()

getServerPushQueueLength() : integer

Get 服务端推送数据队列长度

Returns

integer

setServerPushQueueLength()

setServerPushQueueLength(integer  $serverPushQueueLength) : self

Set 服务端推送数据队列长度

Parameters

integer $serverPushQueueLength

服务端推送数据队列长度

Returns

self

setTimeout()

setTimeout(float|null  $timeout) : void

设置超时时间,单位:秒

Parameters

float|null $timeout

getTimeout()

getTimeout() : float|null

获取超时时间,单位:秒

Returns

float|null

startRecvCo()

startRecvCo() : integer|boolean

开始接收协程 成功返回协程ID

Returns

integer|boolean