Ṣàyẹ̀wò àkójọ proxy pẹ̀lú ààlà ìgbà kan náà
Fi ààlà sí àwọn ìṣàyẹ̀wò proxy tí ó ń ṣiṣẹ́ lẹ́ẹ̀kan náà kí o sì kọ ohun tí ìṣàyẹ̀wò kọ̀ọ̀kan fi hàn fún ojú-ìwé àfojúsùn.
var options = new ParallelOptions
{
MaxDegreeOfParallelism = 8,
CancellationToken = cancellationToken
};
await Parallel.ForEachAsync(endpoints, options,
async (endpoint, token) =>
{
var result = await ProbeAsync(endpoint, target, token);
observations.Add(result);
});Lo ẹgbẹ́ òṣìṣẹ́ tí ó ní ààlà dípò kíkó iṣẹ́ kan bẹ̀rẹ̀ fún gbogbo ibi ìparí. Fún àwọn ìṣàyẹ̀wò sí àwọn àfojúsùn gbogbo ènìyàn tí a gbà láyè, àkójọ proxy ọ̀fẹ́ ń pèsè àwọn ìlà olùdíje; pa ìlànà (protocol) gbogbo ẹ̀kọ́ mọ́ nígbà tí o ń kọ́ ìdánwò náà. Ẹ̀ka ìṣètò .NET yìí gbà pé ProbeAsync mọ̀ nípa proxy àti pé olùkójọ observations ní ààbò fún ìlẹ̀. Mẹ́jọ jẹ́ ààlà àpẹẹrẹ, kì í ṣe iye tí ó dára jù tí a fi wọ̀n. Ìdánwò náà ṣì nílò ààlà fún ìgbìyànjú kọ̀ọ̀kan àti fífagilé gbogbo iṣẹ́ náà.
Pa gbogbo àbájáde tí ó ti parí mọ́ pẹ̀lú ohun tí ó wọlé, bí ó tilẹ̀ jẹ́ pé ìtòlẹ́sẹẹsẹ ìparí yàtọ̀. Kọ protocol, ibi ìparí, àfojúsùn, ọ̀nà, àkókò tí ó kọjá àti àbájáde. Ìkùnà ìsopọ̀, kíkọ ìwọlé proxy, CONNECT tí a kọ̀ àti ìdáhùn tí a gbà láti ojú-ìwé jẹ́ àwọn àkíyèsí ọ̀tọ̀ọ̀tọ̀.
Ṣíṣí ibùdókọ̀ TCP kò fi ìdúnàdúrà pẹ̀lú proxy hàn. Gbígbé àdírẹ́sì proxy gẹ́gẹ́ bí ojú-ìwé yàtọ̀ sí lílo rẹ̀ láti béèrè àfojúsùn.
Yan àfojúsùn àti ọ̀nà gẹ́gẹ́ bí agbára tí a nílò. HEAD lè dá àwọn ìwé-ìròyìn tí ara dúró, ṣùgbọ́n kò fi hàn pé GET ń dá àwọn àkóónú tí ó wúlò padà; ojú-ìwé lè kọ ọ̀kan kí ó sì gbà òmíràn láyè. HTTPS ń fi CONNECT àti TLS ibi-àfojúsùn kún tí kò sí nínú HTTP lásán. Àdírẹ́sì ìjáde jẹ́ àkíyèsí mìíràn ní ẹ̀gbẹ́ ibi-àfojúsùn, yàtọ̀ sí ẹnu-ọ̀nà tí a ṣètò.
Iṣẹ́ tí ó ní ààlà ń dá àwọn olùṣàyẹ̀wò dúró láti lo gbogbo àwọn socket, ìrántí tàbí olùṣètò àkókò rẹ̀ kí ó tó lè ṣàyẹ̀wò ọ̀nà náà. Àbájáde ìpele-ìpele ń wúlò fún ìlànà yíyan láìṣe bí ẹni pé àfojúsùn kan tí ó ṣàṣeyọrí ń jẹ́ kí ibi ìparí dára ní gbogbo ààyè.