函式名:EventBufferEvent::sslGetProtocol() 適用版本:libevent 2.0.2-alpha 及以上版本
函式用法:該方法用於獲取建立SSL/TLS連線所使用的協議版本。
示例:
// 建立一個新的EventBufferEvent物件
$base = new EventBase();
$socket = stream_socket_client('ssl://example.com:443', $errno, $errstr, 30);
$buffer = new EventBufferEvent($base, $socket, EventBufferEvent::OPT_CLOSE_ON_FREE | EventBufferEvent::OPT_DEFER_CALLBACKS, 'ssl');
// 建立SSL連線
$buffer->sslFilter($base, $ctx, EventBufferEvent::SSL_CONNECTING, EventBufferEvent::SSLv23_CLIENT_METHOD);
// 獲取SSL/TLS協議版本
$protocol = $buffer->sslGetProtocol();
echo "SSL/TLS Protocol: " . $protocol . PHP_EOL;
// 關閉連線並釋放資源
$buffer->free();
在上面的示例中,我們首先建立了一個新的EventBufferEvent物件,然後使用sslFilter()方法建立了一個SSL連線。接下來,我們呼叫sslGetProtocol()方法來獲取建立的SSL連線所使用的協議版本。最後,我們關閉連線並釋放資源。
注意:在使用該方法之前,必須先為EventBufferEvent物件設定了一個有效的SSL過濾器(透過sslFilter()方法)。否則,該方法將返回一個空字串。