Coroutine\Socket->accept

接受客户端发起的连接。调用此方法会立即挂起当前协程,并加入EventLoop监听可读事件,当Socket可读有到来的连接时自动唤醒该协程。并返回对应客户端连接的Socket对象。

该方法必须在使用listen方法后使用,适用于Server端。

function Coroutine\Socket->accept(double $timeout = -1) : Coroutine\Socket | false;

参数

返回值

实例

$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);
		}
    }
});