Coroutine\Socket->recv
最后更新于:2022-04-02 06:28:23
# Coroutine\\Socket->recv
[TOC]
接收数据。
~~~
function Coroutine\Socket->recv(int length = 65535, double $timeout = -1) : string | false;
~~~
## 参数
* `$timeout`:设置超时时间,默认为`-1`表示永不超时
`recv`方法会立即挂起当前协程并监听可读事件,等待对端发送数据后,可读事件触发时,执行`recv`系统调用获取`socket`缓存区中的数据,并唤醒该协程。
## 返回值
* 接收成功返回实际数据
* 接收失败返回`false`,并设置`errCode`属性
* 接收超时,错误码为`ETIMEDOUT`
## 注意
* 返回值不一定等于预期长度, 需要自行检查该次调用接收数据的长度, 如需要保证单次调用获取到指定长度的数据, 请使用recvAll方法或自行循环获取
';