Coroutine\Socket->sendto

最后更新于:2022-04-02 06:28:28

# Coroutine\\Socket->sendto [TOC] 向指定的地址和端口发送数据。用于`SOCK_DGRAM`类型的`socket`。 ~~~ Coroutine\Socket->sendto(string $address, int $port, string $data) : int | false; ~~~ 此方法没有协程调度,底层会立即调用`sendto`向目标主机发送数据。此方法不会监听可写,`sendto`可能会因为缓存区已满而返会`false`,需要自行处理。或者使用`send`方法 ## 参数 * `$address`:目标主机的`IP`地址或`UnixSocket`路径,`sendto`不支持域名,使用`AF_INET`或`AF_INET6`时,必须传入合法的`IP`地址,否则发送会返回失败 * `$port`:目标主机的端口,发送广播时可以为`0` * `$data`:发送的数据,可以为文本或二进制内容,请注意`SOCK_DGRAM`发送包的最大长度为`64K` ## 返回值 * 发送成功返回发送的字节数 * 发送失败返回`false`,并设置`errCode`属性 ## 实例 ~~~ $socket = new Co\Socket(AF_INET, SOCK_DGRAM, 0); $socket->sendto('127.0.0.1', 9601, "HELO"); ~~~
';