udgloop.phpt 936 B

12345678910111213141516171819202122232425262728293031323334353637
  1. --TEST--
  2. Streams Based Unix Domain Datagram Loopback test
  3. --SKIPIF--
  4. <?php
  5. if (array_search("udg",stream_get_transports()) === false)
  6. die('SKIP No support for UNIX domain sockets.');
  7. ?>
  8. --FILE--
  9. <?php
  10. $uniqid = uniqid();
  11. if (file_exists("/tmp/$uniqid.sock"))
  12. die('Temporary socket /tmp/$uniqid.sock already exists.');
  13. /* Setup socket server */
  14. $server = stream_socket_server("udg:///tmp/$uniqid.sock", $errno, $errstr, STREAM_SERVER_BIND);
  15. if (!$server) {
  16. die('Unable to create AF_UNIX socket [server]');
  17. }
  18. /* Connect to it */
  19. $client = stream_socket_client("udg:///tmp/$uniqid.sock");
  20. if (!$client) {
  21. die('Unable to create AF_UNIX socket [client]');
  22. }
  23. fwrite($client, "ABCdef123\n");
  24. $data = fread($server, 10);
  25. var_dump($data);
  26. fclose($client);
  27. fclose($server);
  28. unlink("/tmp/$uniqid.sock");
  29. ?>
  30. --EXPECT--
  31. string(10) "ABCdef123
  32. "