Tha an teachdaiche deiseil a' cur, chì an seach-fhrithealaiche EOF, agus tha am freagairt a' dol à bith. Ma dhùineas tu an dà shocaid seach-fhrithealaiche sa bhad, dh'fhaodadh sin an t-sreath cheart a thoirt gu buil. Ann an seala TCP, chan eil crìoch òrdail ann an aon rath a' ciallachadh gu bheil an rath eile deiseil.

Smaoinich air teachdaiche a chuireas iarrtas, a dhùineas a thaobh cur agus a dh'fhuiricheas airson na freagairt:

client -- request, then FIN --> proxy --> service
client <-------- reply ------- proxy <-- service

Tha dà cheangal TCP aig an seach-fhrithealaiche agus dà shruth bheataichean a ghluaiseas gu neo-eisimeileach. Feumaidh e an comharra gu bheil an t-inntrigeadh seachad a ghiùlan air adhart, às dèidh dha na beataichean a thig roimhe a ghiùlan.

Drèan a' chiudha mus cuirear EOF air adhart

Ann an glacadh de mheud nach eil neoni air sruth TCP, tha tilleadh neoni a' comharrachadh crìoch òrdail air an t-sruth a tha a' tighinn a-steach sin. Comharraich an rath leughaidh sin mar chrìochnaichte. Sguir a bhith a' feitheamh ri barrachd inntrigidh bhuaithe, ach cùm na beataichean a tha mar-thà sa chiudha airson an socaid mu choinneamh.

Nuair a bhios a' chiudha bho theachdaiche gu seirbheis air a drèanadh, gairm shutdown(service_socket, SHUT_WR) air socaid POSIX. Cuiridh sin crìoch air tuilleadh sgaoilidh a dh'ionnsaigh na seirbheis fhad 's a tha an rath bho sheirbheis gu teachdaiche fhathast ri fhaighinn. Nuair a chrìochnaicheas an t-seirbheis a freagairt, cuir an obrachadh sgàthan an sàs às dèidh a' chiudha fhreagairt a dhrèanadh.

Buineas dùnadh nan tuairisgeulan ris a' phuing far a bheil an dà rath agus na bufaran a tha a' feitheamh aca crìochnaichte, no far a bheil mearachd no cur-à-bhàil a' feumachadh crìche. Cùm ùine-chrìochnachaidh cuibhrichte airson co-aois nach crìochnaich a leth a tha air fhàgail a-riamh.

Tha ullamhachd na chuireadh gu leughadh

Faodaidh dàta no suidheachadh EOF a bhith ann an socaid a ghabhas leughadh. Gairm recv agus mìnich an toradh. 'S e beataichean ri cur air adhart a th' ann an cunntasan dearbhach; 's e neoni crìoch an rath. Air socaid nach eil a' bacadh, tha EAGAIN no EWOULDBLOCK a' ciallachadh nach eil tuilleadh inntrigidh ann an-dràsta, fhad 's a dh'fhaodadh EINTR feuchainn a-rithist iarraidh. Chan eil aon dhiubh mar an aon tachartas ri EOF.

Na lorg bratach FIN anns a' bhufer bheataichean a thillear. Bheir TCP sruth beataichean òrdail don API seo; chan e uallach àbhaisteach na h-aplacaid a th' ann an crìochan phacaidean no an earrann FIN.

Seo cearcall-beatha tunail bheataichean amh. Feumaidh seach-fhrithealaiche HTTP a nì parsadh air teachdaireachdan urram a thoirt do fhrèam HTTP fhathast, agus tha protocol dùnaidh TLS aig seach-fhrithealaiche a chuireas crìoch air TLS cuideachd. Cùm na co-dhùnaidhean protocol sin os cionn an t-seala TCP a tha stiùirichte le rath.

Artaigilean co-cheangailte