套接字上下文选项
套接字上下文选项列表
说明
套接字上下文选项可用于所有工作在套接字上的封装协议,像tcp,http和ftp.
可选项
- $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'