Swoole\Client
和Swoole\Http\Client
可以使用set
方法设置一些选项,启用某些特性。
$client->set(array(
'open_eof_check' => true,
'package_eof' => "\r\n\r\n",
'package_max_length' => 1024 * 1024 * 2,
))
$client->set(array(
'open_length_check' => 1,
'package_length_type' => 'N',
'package_length_offset' => 0, //第N个字节是包长度的值
'package_body_offset' => 4, //第几个字节开始计算长度
'package_max_length' => 2000000, //协议最大长度
));
启用MQTT
协议解析,onReceive
回调将收到完整的MQTT
数据包。
$client->set(array(
'open_mqtt_protocol' => true,
));
$client->set(array(
'socket_buffer_size' => 1024*1024*2, //2M缓存区
));
包括socket底层操作系统缓存区、应用层接收数据内存缓存区、应用层发送数据内存缓冲区
$client->set(array(
'open_tcp_nodelay' => true,
));
$client->set(array(
'ssl_cert_file' => $your_ssl_cert_file_path,
'ssl_key_file' => $your_ssl_key_file_path,
));
swoole-1.7.21或更高版本可用
bind_address
参数可以强制客户端Socket绑定某个网络地址。bind_port
可以使客户端Socket使用固定的端口连接到外网服务器$client->set(array(
'bind_address' => '192.168.1.100',
'bind_port' => 36002,
));
swoole-1.8.5或更高版本可用
$client->set(array(
'socks5_host' => '192.168.1.100',
'socks5_port' => 1080,
'socks5_username' => 'username',
'socks5_password' => 'password',
));
socks5_username
、socks5_password
为可选参数$client->set(array(
'http_proxy_host' => '192.168.1.100',
'http_proxy_port' => 1080,
));