Coroutine\Http\Client->push
最后更新于:2022-04-02 06:27:20
# Coroutine\\Http\\Client->push
[TOC]
向`WebSocket`服务器推送消息。
~~~
function Coroutine\Http\Client->push(mixed $data, int $opcode = WEBSOCKET_OPCODE_TEXT,
bool $finish = true): bool
~~~
* `push`方法必须在`upgrade`成功之后才能执行
* `push`方法不会产生协程调度,写入发送缓存区后会立即返回
## 参数模式1
* `$data`要发送的数据内容,默认为`UTF-8`文本格式,如果为其他格式编码或二进制数据,请使用`WEBSOCKET_OPCODE_BINARY`
* `$opcode`操作类型,默认为`WEBSOCKET_OPCODE_TEXT`表示发送文本
* `$opcode`必须为合法的`WebSocket OPCODE`,否则会返回失败,并打印错误信息`opcode max 10`
## 参数模式2
> 需要`4.2.0`及以上版本
* `$data`可以使用[**Swoole\\WebSocket\\Frame**](WebSocketFrame.md)对象, 支持发送各种帧类型
## 返回值
* 发送成功,返回`true`
* 连接不存在、已关闭、未完成`WebSocket`,发送失败返回`false`
## 错误码
* `8502`:错误的`OPCODE`
* `8503`:未连接到服务器或连接已被关闭
* `8504`:握手失败
';