Tolláin Java Socket HTTP CONNECT in OpenJDK 25
Úsáid conair an tsoicéid trí sheachfhreastalaí HTTP in OpenJDK 25 chun teacht ar sheirbhís TCP cheadaithe, agus an seachfhreastalaí agus an ceann scríbe á gcoinneáil ar leithligh.
Is féidir le prótacal TCP saincheaptha taisteal trí sheachfhreastalaí HTTP nuair a cheadaíonn an seachfhreastalaí sin CONNECT chuig an gceann scríbe. Ní gá don phrótacal feidhmchláir éirí ina HTTP: socraíonn HTTP an tollán, agus ansin malartaíonn an feidhmchlár a bhearta féin istigh ann.
Soláthraíonn OpenJDK 25 conair trí sheachfhreastalaí HTTP in Socket(Proxy). Déanann a chur i bhfeidhm an malartú CONNECT agus filleann sé soicéad nasctha don fheidhmchlár.
Proxy route = new Proxy(
Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
try (Socket socket = new Socket(route)) {
socket.setSoTimeout(10000);
socket.connect(
InetSocketAddress.createUnresolved("tcp-service.example", 8443),
5000);
InputStream input = socket.getInputStream();
OutputStream output = socket.getOutputStream();
}Úsáideann an sliocht seo aicmí ó java.net agus ó java.io. Cuir an dá cheann scríbe in ionad a chéile agus déan malartú an phrótacail sula bhfágann tú an bloc try. Le haghaidh sprioc TCP phoiblí cheadaithe, roghnaigh iarrthóirí HTTP ó liosta na seachfhreastalaithe HTTP ach amháin tar éis cead CONNECT a sheiceáil do phort na sprice sin. Is é seoladh an tseachfhreastalaí an áit a nascann Java ar dtús; aithníonn an seoladh a chuirtear chuig connect an tseirbhís a chaithfidh an seachfhreastalaí a bhaint amach.
Coinníonn an ceann scríbe neamhréitithe a óstainm don iarratas CONNECT sa chur i bhfeidhm seo. Cuireann InetSocketAddress réitithe a sheoladh IP réitithe ar fáil don iarratas sin ina ionad. Tá tábhacht leis an idirdhealú sin nuair a chaithfidh an seachfhreastalaí ainm na seirbhíse a réiteach nó beartas bunaithe ar óstainm a chur i bhfeidhm.
Cad a fhágtar agat tar éis nasc rathúil
Iompraíonn na sruthanna a thagann as sonraí na seirbhíse tollánaithe. Ní nochtann siad freagra HTTP ar leith ar cheart do d’fheidhmchlár é a léamh agus a chaitheamh amach. Chuirfeadh dara malartú CONNECT téacs HTTP chuig an tseirbhís tar éis don JDK an tollán a bhunú cheana féin.
Socraíonn an sampla teorainn ama naisc agus teorainn ama léitheoireachta soicéid; rialuithe ar leithligh iad sin, ní aon spriocdháta iomlán don seisiún feidhmchláir.
Baineann cead CONNECT leis an seachfhreastalaí fós. Féadfaidh ceann scríbe a sheolann gnáthiarrachtaí gréasáin ar aghaidh port na seirbhíse a dhiúltú nó fíordheimhniú a éileamh sula n-osclaítear tollán. Coinnigh na teipeanna sin ar leithligh ó fhreastalaí a ghlacann leis an tollán ach a dhiúltaíonn do phrótacal feidhmchláir níos déanaí.
Más gá TLS don phrótacal sin, déan TLS a chaibidliú tríd an soicéad nasctha le hóstainm beartaithe na seirbhíse agus le gnáthsheiceálacha teastais. Ní chriptíonn CONNECT ann féin an sruth. Le haghaidh fíor-API HTTP, is é cliant HTTP an comhéadan is áisiúla fós mar go láimhseálann sé teachtaireachtaí HTTP freisin.