P°φkaz WaitFor


Syntaxe:
WaitFor End
WaitFor EmptyLine
WaitFor LineStarting
╪et∞zec
WaitFor ExactMatch ╪et∞zec

Program p°ijφmß od partnerskΘho subjektu spojenφ opakovan∞ °et∞zce znak∙ ukonΦenΘ prvnφm (nejbli₧Üφm) v²skytem znaku nl (newline, ASCII hodnota 10). Pokud ji₧ spojenφ ukonΦil n∞kter² z p°edchozφch p°φkaz∙, bylo ztraceno Φi ukonΦeno partnersk²m subjektem nebo nebylo v∙bec navßzßno, p°φkaz zahlßsφ chybu a ukonΦφ vÜechny rozpracovanΘ scripty. K hlßÜenφ chyby a ukonΦenφ script∙ vede p°φkaz rovn∞₧ v p°φpad∞, ₧e ke ztrßt∞ spojenφ Φi ukonΦenφ spojenφ partnersk²m subjektem dojde d°φve, ne₧ n∞kter² z p°ijat²ch °et∞zc∙ splnφ po₧adovanou podmφnku (net²kß se varianty WaitFor End). P°φkaz naΦte ka₧d² °et∞zec vΦetn∞ znaku nl (dalÜφ event. p°φkazy pro Φtenφ pokraΦujφ za tφmto znakem). DΘlka ka₧dΘho °et∞zce je omezena poΦtem 4096 - pokud do tohoto poΦtu nenφ p°ijat znak nl, p°φkaz zahlßsφ chybu a ukonΦφ vÜechny rozpracovanΘ scripty.
JednotlivΘ varianty se navzßjem liÜφ koncovou podmφnkou, kterou musφ naposledy naΦten² °et∞zec spl≥ovat, aby se p°φkaz ·sp∞Φn∞ ukonΦil a pokraΦovalo se dalÜφm p°φkazem interpretovanΘho scriptu. NaΦφtßnφ skonΦφ v p°φpad∞, ₧e naposledy naΦten² °et∞zec:
  • End - ... se nepoda°ilo ·sp∞Ün∞ naΦφst, typicky partnersk² subjekt ukonΦil spojenφ nebo bylo spojenφ p°eruÜeno. VedlejÜφm efektem tΘto varianty p°φkazu je uzav°enφ spojenφ (nenφ ji₧ t°eba provßd∞t Disconnect).
  • EmptyLine - ... je prßzdn² (s nulovou dΘlkou). K °et∞zci se nepoΦφtajφ znaky cr , kterΘ n∞kdy mohou bezprost°edn∞ p°edchßzet znak konce °ßdky nl (leckdy i ve vφce exemplß°φch).
  • LineStarting - ... zaΦφnß uveden²m °et∞zcem-parametrem.
  • ExactMatch - ... je p°esn∞ shodn² s uveden²m °et∞zcem-parametrem. K °et∞zci se nepoΦφtajφ znaky cr , kterΘ n∞kdy mohou bezprost°edn∞ p°edchßzet znak konce °ßdky nl (leckdy i ve vφce exemplß°φch).
    V obou poslednφch p°φkazech musφ b²t shoda vΦetn∞ velk²ch a mal²ch pφsmen a °et∞zec-argument musφ b²t alespo≥ jednoznakov².
    Pro ka₧dΘ jednotlivΘ Φtenφ °et∞zce platφ, ₧e p°φkaz v ideßlnφm p°φpad∞ nalezne znaky ji₧ p°ijatΘ ve vstupnφ front∞ spojenφ, tak₧e je pouze p°evezme a ihned se vrßtφ. Pokud partnersk² subjekt dosud neodeslal ₧ßdn² znak nl, Φekß p°φkaz nejprve na jeho p°ijetφ do vstupnφ fronty. Nikdy se netestujφ ΦßsteΦn∞ p°ijatΘ °et∞zce.
    Pokud je p°φkaz ·sp∞Ün∞ proveden, naplnφ Φistou hodnotou poslednφho °et∞zce (bez ukonΦovacφho znaku !) systΘmovou prom∞nnou line (po p°φkazu WaitFor LineStarting "220" a p°ijetφ libovolnΘho poΦtu °et∞zc∙ nezaΦφnajφch znaky "220" a °et∞zce "220 Ready\n" bude mφt line dΘlku 9 znak∙ a hodnotu "220 Ready"). Tato systΘmovß prom∞nnß pak m∙₧e b²t pou₧ita jako souΦßst °et∞zc∙ (viz takΘ).
    V p°φpad∞ ·sp∞ÜnΘho naΦtenφ ka₧dΘho p°ijatΘho °et∞zce, je-li souΦasn∞ aktivnφ n∞kter² p°φkaz OutputFile, je °et∞zec v ·plnΘ dΘlce (vΦetn∞ znaku nl) zapsßn do v²stupnφho souboru (v naÜem p°φklad∞ se do souboru zapφÜe vÜech p°ijat²ch 10 znak∙ "220 Ready\n").
    Typick²m pou₧itφm p°φkazu je naΦtenφ headeru e-mailovΘho dopisu nebo dokumentu ₧ßdanΘho a posφlanΘho protokolem http (ve tvaru WaitFor EmptyLine), Φekßnφ na odpov∞∩ ftp-serveru, kdy p°ed °ßdkou zaΦφnajφcφ "220 " m∙₧e b²t libovoln² poΦet °ßdek zaΦφnajφcφch "220-" apod. (ve tvaru WaitFor LineStarting "220 ") nebo Φekßnφ na konec t∞la dopisu v protokolu smtp (ve tvaru WaitFor ExactMatch ".").
    P°φklady:
    	WaitFor End
    	WaitFor EmptyLine
    	WaitFor LineStarting "Content-Type: "
    	WaitFor LineStarting "250 "
    	WaitFor ExactMatch "."