1--TEST--
2swoole_socket_coro: accept
3--SKIPIF--
4<?php require __DIR__ . '/../include/skipif.inc'; ?>
5--FILE--
6<?php
7require __DIR__ . '/../include/bootstrap.php';
8
9go(function () {
10    $sock = new Swoole\Coroutine\Socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
11    Assert::assert($sock->bind('127.0.0.1', 9601));
12    Assert::assert($sock->listen(512));
13    $conn = $sock->accept();
14    Assert::assert($conn);
15    Assert::isInstanceOf($conn, Swoole\Coroutine\Socket::class);
16
17    $data = $conn->recv();
18    $json = json_decode($data, true);
19    Assert::same($json['data'] ?? '', 'hello');
20    $conn->send("world\n");
21    $conn->close();
22});
23
24go(function ()  {
25    $conn = new Swoole\Coroutine\Socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
26    Assert::assert($conn->connect('127.0.0.1', 9601));
27    $conn->send(json_encode(['data' => 'hello']));
28    echo $conn->recv();
29});
30?>
31--EXPECT--
32world
33