thuộc tính transport
Yêu cầu (workerman >= 3.3.4)
Thiết lập thuộc tính truyền tải, các giá trị có thể là tcp và ssl, mặc định là tcp.
Khi transport là ssl, yêu cầu PHP phải cài đặt mở rộng openssl.
Khi sử dụng Workerman làm khách để khởi động kết nối mã hóa ssl với máy chủ (kết nối https, kết nối wss, v.v.), hãy đặt tùy chọn này thành ssl, ví dụ dưới đây.
Ví dụ (kết nối https)
use Workerman\Worker;
use Workerman\Connection\AsyncTcpConnection;
use Workerman\Connection\TcpConnection;
require_once __DIR__ . '/vendor/autoload.php';
$task = new Worker();
// Khi tiến trình khởi động, tạo một đối tượng kết nối bất đồng bộ đến www.baidu.com và gửi dữ liệu để nhận dữ liệu
$task->onWorkerStart = function($task)
{
$connection_to_baidu = new AsyncTcpConnection('tcp://www.baidu.com:443');
// Đặt làm kết nối mã hóa ssl
$connection_to_baidu->transport = 'ssl';
$connection_to_baidu->onConnect = function(AsyncTcpConnection $connection_to_baidu)
{
echo "kết nối thành công\n";
$connection_to_baidu->send("GET / HTTP/1.1\r\nHost: www.baidu.com\r\nConnection: keep-alive\r\n\r\n");
};
$connection_to_baidu->onMessage = function(AsyncTcpConnection $connection_to_baidu, $http_buffer)
{
echo $http_buffer;
};
$connection_to_baidu->onClose = function(AsyncTcpConnection $connection_to_baidu)
{
echo "kết nối đã đóng\n";
};
$connection_to_baidu->onError = function(AsyncTcpConnection $connection_to_baidu, $code, $msg)
{
echo "Mã lỗi:$code msg:$msg\n";
};
$connection_to_baidu->connect();
};
// Chạy worker
Worker::runAll();