Annotation of embedaddon/php/ext/sockets/tests/unixloop.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Unix domain socket Loopback test
        !             3: --SKIPIF--
        !             4: <?php
        !             5:        if (!extension_loaded('sockets')) {
        !             6:                die('skip sockets extension not available.');
        !             7:        }
        !             8: ?>
        !             9: --FILE--
        !            10: <?php
        !            11:        $sock_path = sprintf("/tmp/%s.sock", uniqid());
        !            12: 
        !            13:        if (file_exists($sock_path))
        !            14:                die('Temporary socket already exists.');
        !            15: 
        !            16:        /* Setup socket server */
        !            17:        $server = socket_create(AF_UNIX, SOCK_STREAM, 0);
        !            18:        if (!$server) {
        !            19:                die('Unable to create AF_UNIX socket [server]');
        !            20:        }
        !            21:        if (!socket_bind($server,  $sock_path)) {
        !            22:                die("Unable to bind to $sock_path");
        !            23:        }
        !            24:        if (!socket_listen($server, 2)) {
        !            25:                die('Unable to listen on socket');
        !            26:        }
        !            27:        
        !            28:        /* Connect to it */
        !            29:        $client = socket_create(AF_UNIX, SOCK_STREAM, 0);
        !            30:        if (!$client) {
        !            31:                die('Unable to create AF_UNIX socket [client]');
        !            32:        }
        !            33:        if (!socket_connect($client, $sock_path)) {
        !            34:                die('Unable to connect to server socket');
        !            35:        }
        !            36: 
        !            37:        /* Accept that connection */
        !            38:        $socket = socket_accept($server);
        !            39:        if (!$socket) {
        !            40:                die('Unable to accept connection');
        !            41:        }
        !            42: 
        !            43:        socket_write($client, "ABCdef123\n");
        !            44: 
        !            45:        $data = socket_read($socket, 10, PHP_BINARY_READ);
        !            46:        var_dump($data);
        !            47: 
        !            48:        socket_close($client);
        !            49:        socket_close($socket);
        !            50:        socket_close($server);
        !            51:        @unlink($sock_path);
        !            52: ?>
        !            53: --EXPECT--
        !            54: string(10) "ABCdef123
        !            55: "

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>