buf_size.php 596 B

12345678910111213141516171819202122
  1. <?php
  2. $fds = [];
  3. socket_create_pair(AF_UNIX, SOCK_DGRAM, 0, $fds);
  4. $socket = $fds[0];
  5. socket_set_option($socket, SOL_SOCKET, SO_SNDBUF, 8 * 1024 * 1024);
  6. $send_buf_size = socket_get_option($socket, SOL_SOCKET, SO_SNDBUF);
  7. echo "send_buf_size=$send_buf_size\n";
  8. socket_set_option($socket, SOL_SOCKET, SO_RCVBUF, 8 * 1024);
  9. $recv_buf_size = socket_get_option($socket, SOL_SOCKET, SO_RCVBUF);
  10. echo "recv_buf_size=$recv_buf_size\n";
  11. $n = $send_buf_size - 32;
  12. $ret_n = socket_write($socket, str_repeat('A', $n), $n);
  13. var_dump($ret_n);
  14. $data = socket_read($fds[1], $n);
  15. var_dump(strlen($data));