[perl] timeout van io::socket

Pagina: 1
Acties:

  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 17-05 10:33
Ik heb een whois scriptje geschreven in Perl met het socket object. Nu is er soms nogal eens een whois server die wat langzaam is en natuurlijk is dit naar klanten toe niet echt interessant als ze moeten wachten op hun resultaat. Ze gaan dan veronderstellen dat ons bestelsysteem slecht is, enzovoort.

Dus wou ik een timeout inbouwen. Nu maak ik gebruik van het io::socket object omdat daar een timeout in zit, maar nu was ik aan het twijfelen. Gaat deze timeout ook z'n werking wel doen? M.a.w. wanneer gaat ie getriggerd worden?
(1) als na x seconden nog geen connectie op het object is gelegd of
(2) als er x seconden lang geen data binnenkomt van het object?
Aangezien natuurlijk de whois servers allemaal vlot werken nu kan ik het niet testen, vandaar dat ik het hier even vraag.

  • Marc
  • Registratie: November 2001
  • Laatst online: 01-12-2021
ik weet de oplossing niet, maar je zou het kunnen testen door de timeout op een absurd kleine waarde te zetten zodat hij altijd timeout.
als je dan in je code zet dat hij een echo moet geven na het connecten, weet je of de timeout na het connecten of na het data ontvangen is: als hij wel de echo na het connecten geeft, timed hij dus niet uit op het connecten. geeft hij geen echo doet hij dat dus wel.