💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# Coroutine\Socket->accept 接受客户端发起的连接。调用此方法会立即挂起当前协程,并加入`EventLoop`监听可读事件,当`Socket`可读有到来的连接时自动唤醒该协程。并返回对应客户端连接的`Socket`对象。 该方法必须在使用`listen`方法后使用,适用于`Server`端。 ```php function Coroutine\Socket->accept(double $timeout = -1) : Coroutine\Socket | false; ``` 参数 ---- * `$timeout`:设置超时,默认为`-1`表示永不超时。设置超时参数后,底层会设置定时器,在规定的时间没有客户端连接到来,`accept`方法将返回`false` 返回值 ---- * 超时或`accept`系统调用报错时返回`false`,可使用`errCode`属性获取错误码,其中超时错误码为`ETIMEDOUT` * 成功返回客户端连接的`socket`,类型同样为`Swoole\Coroutine\Socket`对象。可对其执行`send`、`recv`、`close`等操作 实例 ---- ```php $socket = new Co\Socket(AF_INET, SOCK_STREAM, 0); $socket->bind('127.0.0.1', 9601); $socket->listen(128); go(function () use ($socket) { while(true) { echo "Accept: \n"; $client = $socket->accept(); if ($client === false) { var_dump($socket->errCode); } else { var_dump($client); } } }); ```