Swoole Client 异步回调

onConnect

function onConnect(swoole_client $client)

客户端连接服务器成功后会回调onConnect函数

  • TCP客户端必须设置onConnect回调
  • UDP客户端可选设置onConnect回调,socket创建成功后会立即回调onConnect

onClose

function onClose(swoole_client $client)

连接被关闭时回调onClose函数,服务器或客户端主动关闭时都会触发onClose事件。

onError

function onError(swoole_client $client)

连接服务器失败时回调onError函数,UDP客户端没有此回调函数。

onReceive

function onReceive(swoole_client $client, string $data)

客户端接收到来自服务器端的数据时会回调onReceive函数。

  • $data是服务器发送的数据,可以为字符串文本或二进制内容。
  • swoole_client启用了eof/length检测后,onReceive一定会收到一个完整的数据包。

onBufferEmpty

function onBufferEmpty(Swoole\Client $client)

当缓存区低于最低水位线时会触发onBufferEmpty事件

  • 设置$client->buffer_low_watermark来控制缓冲区低水位线
  • 触发onBufferEmpty事件后表明当前发送队列中的数据已经被发出,可以继续向服务器发送数据。

例如:客户端发送4MB的数据,实际传输可能需要一段时间,此时如果立即close关闭操作,可能只有小部分数据传输成功,大部分数据在发送队列中排队等待发送,close关闭时会丢失这些数据。可配合使用onBufferEmpty等待发送队列为空时进行close操作来解决这种问题。

onBufferFull

function onBufferFull(Swoole\Client $client)

当缓冲区达到最高水位时触发此事件

  • 设置$client->buffer_high_watermark选项来控制缓存区高水位线
  • 触发onBufferFull表明发送队列已触顶即将塞满,不能再向服务器发送数据。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值