• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 套接字上下文选项

    套接字上下文选项列表

    说明

    套接字上下文选项可用于所有工作在套接字上的封装协议,像tcp,httpftp.

    可选项

    $bindto

    用户PHP访问网络的指定的IP地址(IPv4或IPv6其中的一个)和/或端口号,这个语法是ip:port. Setting the IP or the port to0will let the system choose the IP and/or port.

    Note:

    As FTP creates two socket connections during normal operation, the port number cannot be specified using this option.

    $backlog

    Used to limit the number of outstanding connections in the socket's listen queue.

    Note:

    This is only applicable to stream_socket_server().

    更新日志

    版本说明
    5.1.0 Addedbindto.
    5.3.3 Addedbacklog.

    范例

    Example #1 Basic$bindtousage example

    <?php
    // connect to the internet using the '192.168.0.100' IP
    $opts = array(
        'socket' => array(
            'bindto' => '192.168.0.100:0',
        ),
    );
    // connect to the internet using the '192.168.0.100' IP and port '7000'
    $opts = array(
        'socket' => array(
            'bindto' => '192.168.0.100:7000',
        ),
    );
    // connect to the internet using port '7000'
    $opts = array(
        'socket' => array(
            'bindto' => '0:7000',
        ),
    );
    // create the context...
    $context = stream_context_create($opts);
    // ...and use it to fetch the data
    echo file_get_contents('http://www.example.com', false, $context);
    ?>
    
    You can set "bindto" to "0:0" to force use IPv4 instead of IPv6. And probably "[0]:0" to force use IPv6, thou this I couldn't test.
    The right way for forcing IPv6 is 'bindto' => '[::]:0'