Coroutine\Http\Client->upgrade
最后更新于:2022-04-02 06:27:18
# Coroutine\\Http\\Client->upgrade
[TOC]
升级为`WebSocket`连接。
~~~
function Coroutine\Http\Client->upgrade(string $path);
~~~
* 请求失败返回`false`,成功返回`true`
* 某些情况下请求虽然是成功的,`upgrade`返回了`true`,但服务器并未设置`HTTP`状态码为`101`,而是`200`或`403`,这说明服务器拒绝了握手请求
* `WebSocket`握手成功后可以使用`push`方法向服务器端推送消息,也可以调用`recv`接收消息
* `upgrade`会产生一次协程调度
## 使用实例
~~~
go(function () {
$cli = new Co\http\Client("127.0.0.1", 9501);
$ret = $cli->upgrade("/");
if ($ret) {
while(true) {
$cli->push("hello");
var_dump($cli->recv());
co::sleep(0.1);
}
}
});
~~~
';