Coroutine\Socket->send
最后更新于:2022-04-02 06:28:19
# Coroutine\\Socket->send
[TOC]
向对端发送数据。
~~~
function Coroutine\Socket->send(string $data, double $timeout = -1) : int | false;
~~~
## 参数
* `$data`:要发送的数据内容,可以为文本或二进制数据
* `$timeout`:设置超时时间,默认为`-1`表示永不超时
`send`方法会立即执行`send`系统调用发送数据,当`send`系统调用返回错误`EAGAIN`时,底层将自动监听可写事件,并挂起当前协程,等待可写事件触发时,重新执行`send`系统调用发送数据。并唤醒该协程。
## 返回值
* 发送成功返回写入的字节数,**请注意实际写入的数据可能小于`$data`参数的长度**,应用层代码需要对比返回值与`strlen($data)`是否相等来判断是否发送完成
* 发送失败返回`false`,并设置`errCode`属性
';