Tóg bufaer CONNECT Beast isteach sa handshake TLS
Cuir na bearta a choinnítear tar éis freagra CONNECT chuig handshake TLS bufáilte Asio, agus ansin ídigh go beacht an méid a d’úsáid sé.
Tar éis do Beast ceanntásc freagra CONNECT seachfhreastalaí a léamh, scrúdaigh stádas an fhreagra agus an bufaer dinimiciúil araon. Féadfaidh an oibríocht léithe bearta thar chríochló an cheanntáisc a fháil agus iad a choinneáil sa bufaer a sholáthraítear. Má thosaíonn tú TLS le hiolrach nach léann ach an soicéad, fanann na bearta coinnithe sin lasmuigh de chonair ionchuir TLS.
Le haghaidh sruth WebSocket arb é an sruth SSL an chéad chiseal eile de, úsáid an hiolrach handshake bufáilte. I seisiún yield_context atá ann cheana, agus buffer á choinneáil beo i rith na n-oibríochtaí go léir:
http::response_parser<http::empty_body> response;
http::async_read_header(
beast::get_lowest_layer(ws), buffer, response, yield[ec]);
if (ec) return;
auto status = response.get().result_int();
if (status < 200 || status >= 300) return;
std::size_t used = ws.next_layer().async_handshake(
ssl::stream_base::client, buffer.data(), yield[ec]);
if (ec) return;
buffer.consume(used);
Is iad na luathfhillteáin na bealaí amach teipe den seisiún; ceangail an ghnáth-thuairisciú earráidí agus an ghlantachán ann. Ní chruthaíonn ach freagra CONNECT rathúil an tollán. Ní féidir le leathanach diúltaithe éirí ina ionchur TLS.
Críochnaíonn an t-iollrach bufáilte le cód earráide agus le líon beart. Insíonn an líon sin cé mhéad beart a d’ídigh sé ó na bufaer a soláthraíodh. Tar éis an chríochnaithe, bain an réimír sin go beacht le consume(used). Ná glan an bufaer sula dtosaíonn an oibríocht, ná athraigh a stóras agus an handshake ar feitheamh, agus ná glac leis gur ídigh an oibríocht gach beart a soláthraíodh.
Le gnáth-TLS a thosaíonn an cliant díreach tar éis CONNECT, féadfaidh an bufaer a bheith folamh. Láimhseálann an t-iollrach an cás sin freisin. Is é a chuspóir teorainneacha srutha a chaomhnú; ní dhéanann sé TLS bailí de shonraí seachfhreastalaí treallach. Coinnigh fíorú ainm an óstaigh cinn scríbe agus cumraíocht SNI ar an gciseal SSL roimh an handshake, agus ná tosaigh uasghrádú WebSocket go dtí go n-éireoidh le TLS.