เด‡เด‚เด—เตเดฒเต€เดทเตเดซเตเดฐเดžเตเดšเตเดธเตเดชเดพเดจเดฟเดทเต

Ad


OnWorks เดซเต†เดตเดฟเด•เตเด•เต‹เตบ

haproxy-lua - เด•เตเดฒเต—เดกเดฟเตฝ เด“เตบเดฒเตˆเดจเดฟเตฝ

เด‰เดฌเตเดฃเตเดŸเต เด“เตบเดฒเตˆเตป, เดซเต†เดกเต‹เดฑ เด“เตบเดฒเตˆเตป, เดตเดฟเตปเดกเต‹เดธเต เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต‚เดŸเต† OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเตฝ haproxy-lua เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

Ubuntu Online, Fedora Online, Windows online emulator เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ MAC OS เด“เตบเดฒเตˆเตป เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดŽเดจเตเดจเดฟเด™เตเด™เดจเต†เดฏเตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดธเต—เดœเดจเตเดฏ เด“เตบเดฒเตˆเตป เดตเตผเด•เตเด•เตโ€Œเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต OnWorks เดธเต—เดœเดจเตเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดฆเดพเดคเดพเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เดนเดพเดชเตเดฐเต‹เด•เตโ€Œเดธเดฟ-เดฒเตเดต เด•เดฎเดพเตปเดกเต เด†เดฃเดฟเดคเต.

เด‰เดฌเตเดฃเตเดŸเตเดตเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดซเต†เดกเต‹เดฑเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• เดตเดฟเตปเดกเต‹เดธเต เดธเดฟเดฎเตเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด• MACOS เดธเดฟเดฎเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเด•

เดชเดŸเตเดŸเดฟเด•:

NAME


haproxy-lua - haproxy-lua เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป

เดนเดพเดชเตเดฐเต‹เด•เตเดธเดฟ เดฒเตเด… เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดธเดจเตเดฆเตผเดญเด™เตเด™เตพ


HAProxy-เดฏเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏ Lua เด•เต‹เดกเต 2 เดชเตเดฐเดงเดพเดจ เดฎเต‹เดกเตเด•เดณเดฟเตฝ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต
เดชเตเดฐเดพเดฐเด‚เดญเด‚ เดฎเต‡เดพเดกเต, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เดฑเตบเดŸเตˆเด‚ เดฎเต‡เดพเดกเต.

ยท เด‡เดคเดฟเตฝ เดชเตเดฐเดพเดฐเด‚เดญเด‚ เดฎเต‡เดพเดกเต, เดžเด™เตเด™เตพเด•เตเด•เต DNS เดธเต‹เตพเดตเตเด•เตพ เดจเดŸเดคเตเดคเดพเตป เด•เดดเดฟเดฏเตเด‚, เดŽเดจเตเดจเดพเตฝ เดธเต‹เด•เตเด•เดฑเตเดฑเต I/O เดšเต†เดฏเตเดฏเดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดฏเดฟเดฒเตเดฒ.
เดˆ เด‡เดจเต€เดทเตเดฏเดฒเตˆเดธเต‡เดทเตป เดฎเต‹เดกเดฟเตฝ, เดฒเตเดตเดพเดฏเตเดŸเต† เดจเดฟเตผเดตเตเดตเดนเดฃ เดตเต‡เดณเดฏเดฟเตฝ HAProxy เด‡เดชเตเดชเต‹เดดเตเด‚ เดคเดŸเดžเตเดžเต
เดชเตเดฐเต‡เดพเด—เตเดฐเดพเด‚.

ยท เด‡เดคเดฟเตฝ เดฑเตบเดŸเตˆเด‚ เดฎเต‡เดพเดกเต, เดžเด™เตเด™เตพเด•เตเด•เต DNS เดธเต‹เตพเดตเตเด•เตพ เดจเดŸเดคเตเดคเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดจเดฎเตเด•เตเด•เต เดธเต‹เด•เตเด•เดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เดฆเดฟ
เดฒเตเดตเดพ เด•เต‹เดกเดฟเดจเตเดฑเต† เดจเดฟเตผเดตเตเดตเดนเดฃเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตŠเดชเตเดชเด‚ เดฎเตพเดŸเตเดŸเดฟเดชเตเดฒเด•เตเดธเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดฒเตเดตเดพ เด•เต‹เดกเต
เดคเดŸเดฏเตเดจเตเดจเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด…เดคเต เด…เด™เตเด™เดจเต†เดฏเดฒเตเดฒ.

Lua เด•เต‹เดกเต เด’เดจเตเดจเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดฒเต‹เดกเต เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดชเตเดฐเดงเดพเดจ เด•เต‹เดกเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
เดฒเตเดตเดฏเตเด•เตเด•เต 6 เดจเดฟเตผเดตเตเดตเดนเดฃ เดธเดจเตเดฆเตผเดญเดฎเตเดฃเตเดŸเต.

1. เดฒเตเดตเดพ เดซเดฏเตฝ เดถเดฐเต€เดฐเด‚ เดธเดจเตเดฆเตผเดญเด‚. เดฒเตเดตเดพ เดซเดฏเดฒเดฟเดจเตเดฑเต† เดฒเต‹เดกเต เดธเดฎเดฏเดคเตเดคเต เด‡เดคเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต
HAProxy [เด†เด—เต‹เดณ] เดจเดฟเตผเดฆเตเดฆเต‡เดถเด‚ เด‰เดณเตเดณ เดตเดฟเดญเดพเด—เด‚ lua-เดฒเต‹เดกเต. เด‡เดจเต€เดทเตเดฏเดฒเต‡เดทเดจเดฟเตฝ เด‡เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต
เดฎเต‹เดกเต. HAProxy-เดฏเดฟเตฝ Lua เดฌเตˆเตปเดกเดฟเด‚เด—เตเด•เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดˆ เดตเดฟเดญเดพเด—เด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

2. เดฒเตเดตเดพ เด‡เดตเดฏเต† เดธเดจเตเดฆเตผเดญเด‚. HAProxy เดจเต เดคเตŠเดŸเตเดŸเตเดชเดฟเดจเตเดจเดพเดฒเต† เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏ เด’เดฐเต Lua เดซเด‚เด—เตโ€Œเดทเดจเดพเดฃเดฟเดคเต
เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเดพเดดเตโ€Œเดธเดฟเด‚เด—เต. เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เด‡เดจเต€เดทเตเดฏเดฒเตˆเดธเต‡เดทเตป เดฎเต‹เดกเดฟเดฒเดพเดฃเต. เดˆ เดชเดถเตเดšเดพเดคเตเดคเดฒเดคเตเดคเดฟเตฝ เดฆเดฟ
HAProxy เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเต เด‡เดคเดฟเดจเด•เด‚ เด†เดฐเด‚เดญเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ
เดธเต‹เด•เตเด•เดฑเตเดฑเต เด•เดฃเด•เตเดทเดจเตเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŸเดพเดธเตเด•เตเด•เตเด•เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดถเดฐเต€เดฐเดคเตเดคเดฟเตฝ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต
Lua เดซเด‚เด—เตโ€Œเดทเดจเตเดฎเดพเดฏเตเดณเตเดณ เดธเดจเตเดฆเตผเดญเด‚ core.register_init(). เดซเด‚เด—เตเดทเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต a เด†เดฃเต
เดฑเดฟเดŸเตเดŸเต‡เตบ เดฎเต‚เดฒเตเดฏเด‚ เด•เต‚เดŸเดพเดคเต† เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด‡เดฒเตเดฒเดพเดคเต† เดฒเดณเดฟเดคเดฎเดพเดฏ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚, เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ: เดซเด‚เด—เตเดทเตป fcn().

3. เดฒเตเดตเดพ เดŸเดพเดธเตเด•เต เดธเดจเตเดฆเตผเดญเด‚. HAProxy เด†เดฐเด‚เดญเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏ เด’เดฐเต Lua เดซเด‚เด—เตโ€Œเดทเดจเดพเดฃเดฟเดคเต
เดทเต†เดกเตเดฏเต‚เดณเตผ, เด•เต‚เดŸเดพเดคเต† เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเดจเต‹เดŸเตเด•เต‚เดŸเดฟเดฏ เดŸเดพเดธเตโ€Œเด•เต เดชเตเดฐเด–เตเดฏเดพเดชเดจเดคเตเดคเดฟเดจเต เดคเตŠเดŸเตเดŸเตเดชเดฟเดจเตเดจเดพเดฒเต†
core.register_task(). เดˆ เดธเดจเตเดฆเตผเดญเด‚ เดŸเตเดฐเดพเดซเดฟเด•เต เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เตเดฎเดพเดฏเดฟ เดธเดฎเดพเดจเตเดคเดฐเดฎเดพเด•เดพเด‚. เด…เดคเต
เดฑเตบเดŸเตˆเด‚ เดฎเต‹เดกเดฟเตฝ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดคเต. เดซเด‚เด—เตโ€Œเดทเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด‡เดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดซเด‚เด—เตโ€Œเดทเดจเดพเดฃเต
เดฑเดฟเดŸเตเดŸเต‡เตบ เดฎเต‚เดฒเตเดฏเดตเตเด‚ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด‡เดฒเตเดฒเดพเดคเต†เดฏเตเด‚, เด‡เดคเตเดชเต‹เดฒเต†: เดซเด‚เด—เตเดทเตป fcn().

4. เดŽเดธเต เดจเดŸเดชเดŸเดฟ เดธเดจเตเดฆเตผเดญเด‚. เดธเต‹เดชเดพเดงเดฟเด•เดฎเดพเดฏเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏ เด’เดฐเต เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเดจเดพเดฃเดฟเดคเต. เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ
Lua เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดชเตเดฐเด•เดพเดฐเด‚ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดคเต "core.register_action()". เดฒเตเดตเดฏเตเดŸเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต
เดซเด‚เด—เตโ€Œเดทเตป เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด’เดจเตเดจเตเด‚ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดพเดคเตเดคเดคเตเด‚ เด’เดฐเต เดตเดธเตเดคเตเดตเดฟเดจเต† เดŽเดŸเตเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฏ เด’เดฐเต เดซเด‚เด—เตโ€Œเดทเดจเดพเดฃเต
เดŽเตปเดŸเตเดฐเดฟเดฏเดพเดฏเดฟ เด•เตเดฒเดพเดธเต TXN. เดซเด‚เด—เตเดทเตป fcn(txn).

5. เดŽเดธเต เดธเดพเดฎเตเดชเดฟเตพ-เดŽเดŸเตเด•เตเด•เตเด• เดธเดจเตเดฆเตผเดญเด‚. เดˆ เดซเด‚เด—เตโ€Œเดทเตป เด’เดฐเต TXN เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเต เดŽเตปเดŸเตเดฐเดฟ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเดพเดฏเดฟ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเต
เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเต. เด‡เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพเด•เตเด•เต เด’เดฐเต เดฌเตเดฒเต‹เด•เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจ เดซเด‚เด—เตโ€Œเดทเดจเตเด‚ เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เด…เดตเตผ
เด’เดฑเดฟเดœเดฟเดจเตฝ HAProxy เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเตเด•เดณเดฟเตฝ เดšเดฟเดฒเดคเต เดธเด‚เด—เตเดฐเดนเดฟเด•เตเด•เดพเดจเตเด‚ เดซเดฒเด‚ เดจเตฝเด•เดพเดจเตเด‚ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต.
เดซเด‚เด—เตเดทเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด†เดฃเต เดซเด‚เด—เตเดทเตป เดธเตเดŸเตเดฐเดฟเด‚เด—เต fcn(txn). เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด†เด•เดพเด‚
Lua เดซเด‚เด—เตเดทเดจเดฟเตฝ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดคเต core.register_fetches(). เด“เดฐเต‹ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดค เดธเดพเดฎเตเดชเดฟเตพ-เดชเดฟเดŸเดฟเด•เตเด•เดฒเตเด‚ เด†เดฃเต
"lua" เดŽเดจเตเดจ เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเดจเตเดฑเต† เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต.

เด•เตเดฑเดฟเดชเตเดชเต: เดˆ เดซเด‚เด—เตโ€Œเดทเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑ เด’เดฑเดฟเดœเดฟเดจเดฒเดฟเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ
HAProxy เดธเดพเดฎเตเดชเดฟเตพ-เดซเต€เดšเตเดšเตเด•เตพ, เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด‡เดคเดฟเดจเต เดซเดฒเด‚ เดจเตฝเด•เดพเดจเดพเดตเดฟเดฒเตเดฒ. เดˆ เด•เต‡เดธเต เด‡เดคเตเดตเดฐเต† เด‰เดฃเตเดŸเดพเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ
เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต

6. เดŽเดธเต เด•เตบเดตเต†เตผเดŸเตเดŸเตผ เดธเดจเตเดฆเตผเดญเด‚. เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด‡เตปเดชเตเดŸเตเดŸเดพเดฏเดฟ เดŽเดŸเตเดคเตเดคเต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจ เด’เดฐเต เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเดจเดพเดฃเดฟเดคเต
เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเดพเดฏเดฟ เดฎเดฑเตเดฑเตŠเดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต. เด‡เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพ เดธเตโ€Œเดฑเตเดฑเต‡เดฑเตเดฑเตโ€Œเดฒเต†เดธเต เด†เดฃเต, เด…เดคเดฟเดจเต เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ
เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเดจเตเดฆเตผเดญเด‚. เด…เดตเตผ เด’เดฐเต เดคเดŸเดฏเตฝ เดซเด‚เด—เตโ€Œเดทเดจเตเด‚ เดจเดฟเตผเดตเตเดตเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด•เต‹เตพ เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด†เดฃเต เดซเด‚เด—เตเดทเตป
เดธเตเดŸเตเดฐเดฟเด‚เด—เต fcn(เดธเตเดŸเตเดฐเดฟเด‚เด—เต). เดˆ เดซเด‚เด—เตโ€Œเดทเตป Lua เดซเด‚เด—เตโ€Œเดทเดจเดฟเตฝ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเดพเด‚
core.register_converters(). เด“เดฐเต‹ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดค เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดฟเดจเตเด‚ "lua" เดŽเดจเตเดจ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดนเดพเดชเตเดฐเต‹เด•เตเดธเดฟ เดฒเตเด… เดนเดฒเต‡เดพ เดฒเต‡เดพเด•เด‚


HAProxy เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเตฝ (hello_world.conf):

เด—เตเดฒเต‡เดพเดฌเตฝ
lua-load hello_world.lua

เดชเตเดฐเต‹เด•เตเดธเดฟ เด•เต‡เตพเด•เตเด•เตเด•
เดฌเตˆเตปเดกเต 127.0.0.1:10001
tcp-เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเดฐเดฟเดถเต‹เดงเดจ-เด•เดพเดฒเดคเดพเดฎเดธเด‚ 1s
tcp-เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด‰เดณเตเดณเดŸเด•เตเด• เด‰เดชเดฏเต‹เด—เด‚-เดธเต‡เดตเดจเด‚ lua.hello_world

HAProxy Lua เดซเดฏเตฝ (hello_world.lua):

core.register_service("hello_world", "tcp", function(applet)
applet:send("เดนเดฒเต‹ เดตเต‡เตพเดกเต\n")
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต)

เดˆ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ HAProxy เดŽเด™เตเด™เดจเต† เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚:

./haproxy -f hello_world.conf

เดฎเดฑเตเดฑเต เดŸเต†เตผเดฎเดฟเดจเดฒเดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŸเต†เตฝเดจเต†เดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚:

#:~ เดŸเต†เตฝเดจเต†เดฑเตเดฑเต 127.0.0.1 10001
เดนเดฒเต‡เดพ เดตเต‡เตพเดกเต

เด•เตเดฒเดพเดธเต เด•เต‹เตผ()
"เด•เต‹เตผ" เด•เตเดฒเดพเดธเดฟเตฝ เดŽเดฒเตเดฒเดพ HAProxy เด•เต‹เตผ เดซเด‚เด—เตเดทเดจเตเด•เดณเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต
เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดซเตเดฒเต‹ เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด•เตŠเดณเตเดคเตเดคเตเด•เตพ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เด†เด—เต‹เดณ เดญเต‚เดชเดŸเด™เตเด™เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚
เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ ACL,...

"core" เด•เตเดฒเดพเดธเต เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ HAProxy เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต. เด‡เดฒเตเดฒ เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต เดฒเตˆเตป เด†เดตเดถเตเดฏเดฎเดพเดฃเต
เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

"เด•เต‹เตผ" เด•เตเดฒเดพเดธเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด†เดฃเต, เดˆ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดชเตเดคเดฟเดฏ เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ.

core.emerg

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดพเดฃเต, เด…เดคเดฟเตฝ เดฒเต‹เด—เตโ€Œเดฒเต†เดตเตฝ "เด…เดŸเดฟเดฏเดจเตเดคเดฐเดพเดตเดธเตเดฅ" เดฏเตเดŸเต† เดฎเต‚เดฒเตเดฏเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
(0).

core.alert

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดพเดฃเต, เด…เดคเดฟเตฝ เดฒเต‹เด—เตโ€Œเดฒเต†เดตเตฝ "เด…เดฒเต‡เตผเดŸเตเดŸเต" (1) เดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

core.crit

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดพเดฃเต, เด…เดคเดฟเตฝ เดฒเต‹เด—เต เดฒเต†เดตเตฝ "เด•เตเดฐเดฟเดŸเตเดŸเดฟเด•เตเด•เตฝ" (2) เดฎเต‚เดฒเตเดฏเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

core.err

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดพเดฃเต, เด…เดคเดฟเตฝ เดฒเต‹เด—เตโ€Œเดฒเต†เดตเตฝ "เดชเดฟเดถเด•เต" (3) เดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เต‹เตผ.เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดพเดฃเต, เด…เดคเดฟเตฝ เดฒเต‹เด—เตโ€Œเดฒเต†เดตเตฝ "เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต" (4) เดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

core.notice

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดพเดฃเต, เด…เดคเดฟเตฝ เดฒเต‹เด—เตโ€Œเดฒเต†เดตเตฝ "เดจเต‹เดŸเตเดŸเต€เดธเต" (5) เดฎเต‚เดฒเตเดฏเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

core.info

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดพเดฃเต, เด…เดคเดฟเตฝ เดฒเต‹เด—เตโ€Œเดฒเต†เดตเตฝ "เด‡เตปเดซเต‹" (6) เดฎเต‚เดฒเตเดฏเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

core.debug

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดพเดฃเต, เด…เดคเดฟเตฝ เดฒเต‹เด—เต เดฒเต†เดตเตฝ "เดกเต€เดฌเด—เต" (7) เดฎเต‚เดฒเตเดฏเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

core.log(เดฒเต‹เด—เต เดฒเต†เดตเตฝ, เดธเดจเตเดฆเต‡เดถเด‚)
เดธเดจเตเดฆเตผเดญเด‚: เดฌเต‹เดกเดฟ, เด‡เดจเดฟเดฑเตเดฑเต, เดŸเดพเดธเตโ€Œเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เด’เดฐเต เดฒเต‹เด—เต เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต. HAProxy เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดฒเต‹เด—เต เด…เดฏเดšเตเดšเต
เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเตฝ, เด…เดคเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ syslog เดธเต†เตผเดตเดฑเดฟเตฝ
เด…เดคเต เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ stderr.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดฒเต‹เด—เต เดฒเต†เดตเตฝ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดฒเต‹เด—เต เดฒเต†เดตเตฝ เดธเดจเตเดฆเต‡เดถเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฃเต‹. เด‡เดคเต เดŽ
0 เดจเตเด‚ 7 เดจเตเด‚ เด‡เดŸเดฏเดฟเดฒเตเดณเตเดณ เดธเด‚เด–เตเดฏ.

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• core.emerg, core.alert, core.crit, core.err, core.warning, core.notice,
core.info, core.debug (เดฒเต‹เด—เต เดฒเต†เดตเตฝ เดจเดฟเตผเดตเดšเดจเด™เตเด™เตพ)

เด•เดพเดฃเตเด• เด•เต‹เดกเต.เดกเต€เดฌเด—เต

เด•เดพเดฃเตเด• core.Info

เด•เดพเดฃเตเด• เด•เต‹เตผ.เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต

เด•เดพเดฃเตเด• เด•เต‹เตผ.เด…เดฒเต‡เตผเดŸเตเดŸเต

เด•เต‹เตผ.เดกเต€เดฌเด—เต(เดธเดจเตเดฆเต‡เดถเด‚)
เดธเดจเตเดฆเตผเดญเด‚: เดฌเต‹เดกเดฟ, เด‡เดจเดฟเดฑเตเดฑเต, เดŸเดพเดธเตโ€Œเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดตเดพเดฆเด™เตเด™เตพ

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• เดฒเต‹เด—เต

เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เด’เดฐเต‡ เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต:

เดซเด‚เด—เตเดทเตป เดกเต€เดฌเด—เต เดšเต†เดฏเตเดฏเตเด•(เดธเดจเตเดฆเต‡เดถเด‚)
core.log(core.debug, msg)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

core.Info(เดธเดจเตเดฆเต‡เดถเด‚)
เดธเดจเตเดฆเตผเดญเด‚: เดฌเต‹เดกเดฟ, เด‡เดจเดฟเดฑเตเดฑเต, เดŸเดพเดธเตโ€Œเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดตเดพเดฆเด™เตเด™เตพ

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• เดฒเต‹เด—เต

เดซเด‚เด—เตเดทเตป เดตเดฟเดตเดฐเด‚(เดธเดจเตเดฆเต‡เดถเด‚)
core.log(core.info, msg)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

เด•เต‹เตผ.เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต(เดธเดจเตเดฆเต‡เดถเด‚)
เดธเดจเตเดฆเตผเดญเด‚: เดฌเต‹เดกเดฟ, เด‡เดจเดฟเดฑเตเดฑเต, เดŸเดพเดธเตโ€Œเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดตเดพเดฆเด™เตเด™เตพ

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• เดฒเต‹เด—เต

เดซเด‚เด—เตเดทเตป เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต(เดธเดจเตเดฆเต‡เดถเด‚)
core.log(core.warning, msg)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

เด•เต‹เตผ.เด…เดฒเต‡เตผเดŸเตเดŸเต(เดธเดจเตเดฆเต‡เดถเด‚)
เดธเดจเตเดฆเตผเดญเด‚: เดฌเต‹เดกเดฟ, เด‡เดจเดฟเดฑเตเดฑเต, เดŸเดพเดธเตโ€Œเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดตเดพเดฆเด™เตเด™เตพ

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• เดฒเต‹เด—เต

เดซเด‚เด—เตเดทเตป เด…เดฒเต‡เตผเดŸเตเดŸเต(เดธเดจเตเดฆเต‡เดถเด‚)
core.log(core.alert, msg)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

core.add_acl(เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต, เด•เต€)
เดธเดจเตเดฆเตผเดญเด‚: init, เดŸเดพเดธเตเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

ACL เดšเต‡เตผเด•เตเด•เตเด• เด•เต€ เดซเดฏเตฝ เดฑเดซเดฑเตปเดธเต เดšเต†เดฏเตเดค ACLs เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- ACL เดŽเตปเดŸเตเดฐเดฟเด•เดณเต† เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเตฝ เดจเดพเดฎเด‚.

ยท เด•เต€ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดšเต‡เตผเด•เตเด•เตเดจเตเดจ เด•เต€.

core.del_acl(เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต, เด•เต€)
เดธเดจเตเดฆเตผเดญเด‚: init, เดŸเดพเดธเตเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เด•เต€ เดชเดฐเดพเดฎเตผเดถเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ ACL เดŽเตปเดŸเตเดฐเดฟ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด• เด•เต€ เดฑเดซเดฑเตปเดธเต เดšเต†เดฏเตเดค ACL-เด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ
เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- ACL เดŽเตปเดŸเตเดฐเดฟเด•เดณเต† เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเตฝ เดจเดพเดฎเด‚.

ยท เด•เต€ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เด•เต€.

core.del_map(เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต, เด•เต€)
เดธเดจเตเดฆเตผเดญเด‚: init, เดŸเดพเดธเตเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดฑเดซเดฑเตปเดธเต เดšเต†เดฏเตเดค เดฎเดพเดชเตเดชเตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเดฒเต† เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เด•เต€ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเด•เตเด•เดฟเดฏ เดฎเดพเดชเตเดชเต เดŽเตปเดŸเตเดฐเดฟ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด•
เด…เดตเดจเตเดฑเต† เดซเดฏเตฝ เดจเดพเดฎเดคเตเดคเดฟเตฝ.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฎเดพเดชเตเดชเต เดŽเตปเดŸเตเดฐเดฟเด•เดณเต† เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเตฝ เดจเดพเดฎเด‚.

ยท เด•เต€ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เด•เต€.

core.msleep(เดฎเดฟเดฒเตเดฒเดฟเดธเต†เด•เตเด•เตปเดกเต)
เดธเดจเตเดฆเตผเดญเด‚: เดถเดฐเต€เดฐเด‚, init, เดšเตเดฎเดคเดฒ, เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚

เดฆเดฟ core.msleep() เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดฎเดฟเดฒเตเดฒเดฟเดธเต†เด•เตเด•เตปเดกเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ Lua เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดจเดฟเตผเดคเตเดคเตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดฎเดฟเดฒเตเดฒเดฟเดธเต†เด•เตเด•เตปเดกเต (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฎเดฟเดฒเตเดฒเดฟเดธเต†เด•เตเด•เตปเดกเต.

core.register_action(เดชเต‡เดฐเต, เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ, เดซเด™เตเด•เต)
เดธเดจเตเดฆเตผเดญเด‚: เดถเดฐเต€เดฐเด‚

เดชเตเดฐเดตเตผเดคเตเดคเดจเดฎเดพเดฏเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏ เด’เดฐเต เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเตป เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเด•. เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เดŽเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
HAProxy-เตฝ "lua" เดŽเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต. เด’เดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต เด‡เตปเดชเตเดŸเตเดŸเดพเดฏเดฟ TXN เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด•เตเดฒเดพเดธเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดŽเดจเตเดจเดคเต เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเดพเดฃเต.

ยท เด“เดนเดฐเดฟ (เดฎเต‡เดถ) -- HAProxy เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเต† เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดชเดŸเตเดŸเดฟเด•เดฏเดพเดฃเต
เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ 'tcp-req', 'tcp-res' เดŽเดจเตเดจเดฟเดตเดฏเดพเดฃเต,
'http-req' เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ 'http-res'.

ยท เดซเด™เตเด•เต (เดซเด‚เด—เตเดทเตป) -- เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ Lua เดซเด‚เด—เตโ€Œเดทเตป เด†เดฃเต.

เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด‡เดคเดพเดฃเต:

เดซเด‚เด—เตโ€Œเดทเตป (txn)

ยท

txn (TXN เด•เตเดฒเดพเดธเต): เดˆ is a TXN เดตเดธเตเดคเต เด‰เดชเดฏเต‡เดพเด—เดฟเดšเตเดš เดตเต‡เดฃเตเดŸเดฟ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต The
เดจเดฟเดฒเดตเดฟเดฒเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ TCP เดธเตเดŸเตเดฐเต€เด‚.

เด‡เดตเดฟเดŸเต†, เดชเตเดฐเดตเตผเดคเตเดคเดจ เดฐเดœเดฟเดธเตเดŸเตเดฐเต‡เดทเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚. เด†เด•เตเดทเตป เดœเดธเตเดฑเตเดฑเต เด’เดฐเต 'เดนเดฒเต‹ เดตเต‡เตพเดกเต' เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต
เดฒเต‹เด—เตเด•เตพ.

core.register_action("เดนเดฒเต‹-เดตเต‡เตพเดกเต", { "tcp-req", "http-req"}, เดซเด‚เด—เตโ€Œเดทเตป(txn)
txn:Info("เดนเดฒเต‹ เดตเต‡เตพเดกเต")
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต)
เดˆ เด‰เดฆเดพเดนเดฐเดฃ เด•เต‹เดกเต เด‡เดคเตเดชเต‹เดฒเต†เดฏเตเดณเตเดณ HAproxy เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต:

เดฎเตเตปเดญเดพเด—เด‚ tcp_frt
เดฎเต‹เดกเต tcp
tcp-เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด‰เดณเตเดณเดŸเด•เตเด•เด‚ lua.hello-world

เดฎเตเตปเดญเดพเด—เด‚ http_frt
เดฎเต‹เดกเต http
http-request lua.hello-world

core.register_converters(เดชเต‡เดฐเต, เดซเด™เตเด•เต)
เดธเดจเตเดฆเตผเดญเด‚: เดถเดฐเต€เดฐเด‚

เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดพเดฏเดฟ เด’เดฐเต Lua เดซเด‚เด—เตโ€Œเดทเตป เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเด•. เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เดŽเดฒเตเดฒเดพ เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเตเด•เดณเตเด‚ เด†เด•เดพเด‚
"lua" เดŽเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเด•เตโ€ŒเดธเดฟเดจเตŠเดชเตเดชเด‚ HAProxy-เดฏเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดฟเดจเต เด‡เตปเดชเตเดŸเตเดŸเดพเดฏเดฟ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดฒเดญเดฟเด•เตเด•เตเด‚
เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเดพเดฏเดฟ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•. เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต 9 เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดตเดฐเต† เดŽเดŸเตเด•เตเด•เดพเด‚
เดชเดฐเดพเดฎเต€เดฑเตเดฑเตผ. เดŽเดฒเตเดฒเดพ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเด‚ เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เดณเดพเดฃเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดŽเดจเตเดจเดคเต เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเดพเดฃเต.

ยท เดซเด™เตเด•เต (เดซเด‚เด—เตเดทเตป) -- เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ Lua เดซเด‚เด—เตโ€Œเดทเตป เด†เดฃเต.

เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด‡เดคเดพเดฃเต:

เดซเด‚เด—เตโ€Œเดทเตป(str, [p1 [, p2 [, ... [, p5]]]])

ยท str (เดธเตเดŸเตเดฐเดฟเด‚เด—เต): เด‡เดคเต เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเตฝ เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจ เด‡เตปเดชเตเดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเดฎเดพเดฃเต.

ยท p1 .. p5 (เดธเตเดŸเตเดฐเดฟเด‚เด—เต): เด‡เดคเต เดนเดพเดฑเต‹เด•เตเดธเดฟเดฏเดฟเตฝ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดšเตเดš เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดชเดŸเตเดŸเดฟเด•เดฏเดพเดฃเต
เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเตฝ. เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ 5 เด•เดตเดฟเดฏเดฐเตเดคเต. เด•เตเดฐเดฎเดตเตเด‚
เด‡เดตเดฏเตเดŸเต† เดธเตเดตเดญเดพเดตเด‚ เดชเดฐเดฎเตเดชเดฐเดพเด—เดคเดฎเดพเดฏเดฟ เดกเต†เดตเดฒเดชเตเดชเตผ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต.

core.register_fetches(เดชเต‡เดฐเต, เดซเด™เตเด•เต)
เดธเดจเตเดฆเตผเดญเด‚: เดถเดฐเต€เดฐเด‚

เดธเดพเดฎเตเดชเดฟเตพ เดŽเดŸเตเด•เตเด•เตฝ เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ เด’เดฐเต เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเตป เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเด•. เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เดŽเดฒเตเดฒเดพ เดธเดพเดฎเตเดชเดฟเดณเตเด‚ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเต
"lua" เดŽเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเด•เตโ€ŒเดธเดฟเดจเตŠเดชเตเดชเด‚ HAProxy-เดฏเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เด’เดฐเต เดฒเตเดตเดพ เดธเดพเดฎเตเดชเดฟเตพ เดŽเดŸเตเด•เตเด•เตฝ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเต
เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เด†เดฏเดฟ. เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเต 9 เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดตเดฐเต† เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดพเดฏเดฟ เดŽเดŸเตเด•เตเด•เดพเด‚. เดŽเดฒเตเดฒเดพ
เดฎเต‚เดฒเตเดฏเด‚ เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เดณเดพเดฃเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดŽเดจเตเดจเดคเต เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเดพเดฃเต.

ยท เดซเด™เตเด•เต (เดซเด‚เด—เตเดทเตป) -- เดธเดพเดฎเตเดชเดฟเตพ เดŽเดŸเตเด•เตเด•เตฝ เด†เดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ Lua เดซเด‚เด—เตโ€Œเดทเตป เด†เดฃเต.

เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด‡เดคเดพเดฃเต:

เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดซเด‚เด—เตโ€Œเดทเตป(txn, [p1 [, p2 [, ... [, p5]]]])

ยท txn (TXN เด•เตเดฒเดพเดธเต): เดจเดฟเดฒเดตเดฟเดฒเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเดพเดฃเดฟเดคเต.

ยท p1 .. p5 (เดธเตเดŸเตเดฐเดฟเด‚เด—เต): เด‡เดคเต เดนเดพเดฑเต‹เด•เตเดธเดฟเดฏเดฟเตฝ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดšเตเดš เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดชเดŸเตเดŸเดฟเด•เดฏเดพเดฃเต
เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเตฝ. เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ 5 เด•เดตเดฟเดฏเดฐเตเดคเต. เด•เตเดฐเดฎเดตเตเด‚
เด‡เดตเดฏเตเดŸเต† เดธเตเดตเดญเดพเดตเด‚ เดชเดฐเดฎเตเดชเดฐเดพเด—เดคเดฎเดพเดฏเดฟ เดกเต†เดตเดฒเดชเตเดชเตผ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดจเตเดจเต.

ยท เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต: เดšเดฟเดฒ เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต, เดฎเต‚เดฒเตเดฏเด‚ เด‡เดชเตเดชเต‹เตพ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดŸเตเดŸเดฟ เด‡เดฒเตเดฒ.

lua เด‰เดฆเดพเดนเดฐเดฃ เด•เต‹เดกเต:

core.register_fetches("เดนเดฒเต‹", เดซเด‚เด—เตโ€Œเดทเตป(txn)
"เดนเดฒเต‹" เดคเดฟเดฐเดฟเด•เต†
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต)
HAProxy เด‰เดฆเดพเดนเดฐเดฃ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป:

เดฎเตเตปเดญเดพเด—เด‚ เด‰เดฆเดพเดนเดฐเดฃเด‚
http-request redirect location /%[lua.hello]

core.register_service(เดชเต‡เดฐเต, เดฎเต‹เดกเต, เดซเด™เตเด•เต)
เดธเดจเตเดฆเตผเดญเด‚: เดถเดฐเต€เดฐเด‚

เด’เดฐเต เดธเต‡เดตเดจเดฎเดพเดฏเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏ เด’เดฐเต Lua เดซเด‚เด—เตโ€Œเดทเตป เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเด•. เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เดŽเดฒเตเดฒเดพ เดธเต‡เดตเดจเด™เตเด™เดณเตเด‚ เด†เด•เดพเด‚
"lua" เดŽเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเด•เตโ€ŒเดธเดฟเดจเตŠเดชเตเดชเด‚ HAProxy-เดฏเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดธเต‡เดตเดจเดคเตเดคเดฟเดจเต เด‡เตปเดชเตเดŸเตเดŸเดพเดฏเดฟ เด’เดฐเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด•เตเดฒเดพเดธเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต
เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฎเต‹เดกเต เด…เดจเตเดธเดฐเดฟเดšเตเดšเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดŽเดจเตเดจเดคเต เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดฟเดจเตเดฑเต† เดชเต‡เดฐเดพเดฃเต.

ยท เดฎเต‡เดพเดกเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฎเต‹เดกเต เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด†เดฃเต. 'tcp' เดฎเดพเดคเตเดฐเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ
'http' เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต.

ยท เดซเด™เตเด•เต (เดซเด‚เด—เตเดทเตป) -- เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ Lua เดซเด‚เด—เตโ€Œเดทเตป เด†เดฃเต.

เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด‡เดคเดพเดฃเต:

เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ (เด†เดชเตเดฒเต†เดฑเตเดฑเต)

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต เด†เดชเตเดฒเต†เดฑเตเดฑเต เด’เดฐเต เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ AppletTCP เด•เตเดฒเดพเดธเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ AppletHTTP เด•เตเดฒเดพเดธเต. เด‡เดคเต เดคเดฐเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เด†เดชเตเดฒเต†เดฑเตเดฑเดฟเดจเตเดฑเต†. เดŽเดจเตเดจเดคเดฟเดจเดพเดฏเตเดณเตเดณ 'http' เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเตฝ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เด’เดฐเต เด†เดชเตโ€Œเดฒเต†เดฑเตเดฑเต เดฎเต‡เดพเดกเต
เดชเดฐเดพเดฎเต€เดฑเตเดฑเตผ a เดฒเดญเดฟเด•เตเด•เตเด‚ AppletHTTP เด•เตเดฒเดพเดธเต. เด†เดฃเต†เด™เตเด•เดฟเตฝ เดฎเต‡เดพเดกเต เดฎเต‚เดฒเตเดฏเด‚ 'tcp' เด†เดฃเต, เด†เดชเตเดฒเต†เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด‚
เด’เดฐเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต AppletTCP เด•เตเดฒเดพเดธเต.

เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต: 'http' เดŽเดจเตเดจ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด†เดชเตเดฒเต†เดฑเตเดฑเตเด•เตพ 'tcp- เตฝ เดจเดฟเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ' เดจเดฟเดฏเดฎเด™เตเด™เตพ. เดฎเดพเดคเตเดฐเด‚ The 'http-'
เดฑเต‚เตพเดธเต†เดฑเตเดฑเตเด•เตพ เด…เด‚เด—เต€เด•เตƒเดคเดฎเดพเดฃเต, เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ a เดŽเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต HTTP เด†เดชเตโ€Œเดฒเต†เดฑเตเดฑเดฟเดจเต† เดตเดฟเดณเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ เดŽเดจเตเดจเดพเดฃเต
tcp เดฎเต‹เดกเดฟเตฝ เดชเตเดฐเต‹เด•เตเดธเดฟ. 'tcp' เดŽเดจเตเดจ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด†เดชเตโ€Œเดฒเต†เดฑเตเดฑเตเด•เตพ เดŽเดตเดฟเดŸเต† เดจเดฟเดจเตเดจเตเด‚ เดตเดฟเดณเดฟเด•เตเด•เดพเด‚.

เด‡เดตเดฟเดŸเต†, เดธเต‡เดตเดจ เดฐเดœเดฟเดธเตเดŸเตเดฐเต‡เดทเดจเตเดฑเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚. เดˆ เดธเต‡เดตเดจเด‚ เด’เดฐเต 'เดนเดฒเต‹ เดตเต‡เตพเดกเต' เด†เดฏเดฟ เด…เดฏเดฏเตเด•เตเด•เตเด•
http เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚.

core.register_service("เดนเดฒเต‹-เดตเต‡เตพเดกเต", "http", เดซเด‚เด—เตโ€Œเดทเตป(เด†เดชเตโ€Œเดฒเต†เดฑเตเดฑเต)
เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ = "เดนเดฒเต‹ เดตเต‡เตพเดกเต!"
เด†เดชเตเดฒเต†เดฑเตเดฑเต:เดธเต†เดฑเตเดฑเต_เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต(200)
applet:add_header("content-length", string.len(response))
applet:add_header("content-type", "text/plain")
applet:start_response()
applet:เด…เดฏเดฏเตเด•เตเด•เตเด•(เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต)
เดˆ เด‰เดฆเดพเดนเดฐเดฃ เด•เต‹เดกเต เด‡เดคเตเดชเต‹เดฒเต†เดฏเตเดณเตเดณ HAproxy เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต:

เดฎเตเตปเดญเดพเด—เด‚ เด‰เดฆเดพเดนเดฐเดฃเด‚
http-request use-service lua.hello-world

core.register_init(func)
เดธเดจเตเดฆเตผเดญเด‚: เดถเดฐเต€เดฐเด‚

เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเดพเดดเตเดธเดฟเด‚เด—เดฟเดจเต เดถเต‡เดทเด‚ เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดค เด’เดฐเต เดซเด‚เด—เตเดทเตป เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเด•. เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต
เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดซเด™เตเด•เต (เดซเด‚เด—เตเดทเตป) -- เด‡เดจเต€เดทเตเดฏเดฒเตˆเดธเดฑเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ Lua เดซเด‚เด—เตโ€Œเดทเตป เด†เดฃเต.

เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด‡เดคเดพเดฃเต:

เดซเด‚เด—เตเดทเตป()
เด‡เดคเดฟเดจเต เด‡เตปเดชเตเดŸเตเดŸเต เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเตŠเดจเตเดจเตเด‚ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

core.register_task(func)
เดธเดจเตเดฆเตผเดญเด‚: เดฌเต‹เดกเดฟ, เด‡เดจเดฟเดฑเตเดฑเต, เดŸเดพเดธเตโ€Œเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดคเต เดธเตเดตเดคเดจเตเดคเตเดฐ เดšเตเดฎเดคเดฒ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•. HAProxy เดฎเต†เดฏเดฟเตป เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดŸเดพเดธเตเด•เต เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต
เดทเต†เดกเตเดฏเต‚เดณเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‡เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดœเต‹เดฒเดฟเด•เตพ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดจเดฟเตผเดตเดนเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚
เด†เดฐเต‹เด—เตเดฏ เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดซเด™เตเด•เต (เดซเด‚เด—เตเดทเตป) -- เด‡เดจเต€เดทเตเดฏเดฒเตˆเดธเดฑเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ Lua เดซเด‚เด—เตโ€Œเดทเตป เด†เดฃเต.

เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดฒเตเดตเดพ เดซเด‚เด—เตโ€Œเดทเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เด‡เดคเดพเดฃเต:

เดซเด‚เด—เตเดทเตป()
เด‡เดคเดฟเดจเต เด‡เตปเดชเตเดŸเตเดŸเต เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเตŠเดจเตเดจเตเด‚ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

core.set_nice(เดจเดฒเตเดฒเดคเต)
เดธเดจเตเดฆเตผเดญเด‚: เดŸเดพเดธเตเด•เต, เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดจเดฟเดฒเดตเดฟเดฒเต† เดŸเดพเดธเตโ€Œเด•เตเด•เดฟเดจเตเดฑเต† เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเต† เดธเต†เดทเดจเตเดฑเต† เดญเด‚เด—เดฟ เดฎเดพเดฑเตเดฑเตเด•.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดจเตˆเดธเต (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดจเดฒเตเดฒ เดฎเต‚เดฒเตเดฏเด‚, เด…เดคเต -1024 เดจเตเด‚ 1024 เดจเตเด‚ เด‡เดŸเดฏเดฟเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚.

core.set_map(เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต, เด•เต€, เดฎเต‚เดฒเตเดฏเด‚)
เดธเดจเตเดฆเตผเดญเด‚: init, เดŸเดพเดธเตเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดฎเต‚เดฒเตเดฏเด‚ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด• เดฎเต‚เดฒเตเดฏเด‚ เด•เต€เดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เด•เต€ เดชเดฐเดพเดฎเตผเดถเดฟเดšเตเดš เดญเต‚เดชเดŸเดคเตเดคเดฟเตฝ เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฎเดพเดชเตเดชเต เดฑเดซเดฑเตปเดธเต

ยท เด•เต€ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเดจเต‹ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเดจเต‹ เด‰เดณเตเดณ เด•เต€

ยท เดฎเต‚เดฒเตเดฏเด‚ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดฎเต‚เดฒเตเดฏเด‚

core.sleep(int เดธเต†เด•เตเด•เตปเดกเต)
เดธเดจเตเดฆเตผเดญเด‚: เดถเดฐเต€เดฐเด‚, init, เดšเตเดฎเดคเดฒ, เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚

เดฆเดฟ core.sleep() เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตโ€ŒเดŸ เดธเต†เด•เตเด•เตปเดกเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ Lua เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดทเตป เดจเดฟเตผเดคเตเดคเตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดจเดฟเดฎเดฟเดทเด™เตเด™เตพ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เด†เดตเดถเตเดฏเดฎเดพเดฏ เดธเต†เด•เตเด•เดจเตเดฑเตเด•เตพ.

core.tcp()
เดธเดจเตเดฆเตผเดญเด‚: init, เดšเตเดฎเดคเดฒ, เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚

เดˆ เดซเด‚เด—เตโ€Œเดทเตป a เดฏเตเดŸเต† เด’เดฐเต เดชเตเดคเดฟเดฏ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเต เดจเตฝเด•เตเดจเตเดจเต เดธเต‹เด•เตเด•เดฑเตเดฑเต เด•เตเดฒเดพเดธเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
A เดธเต‹เด•เตเด•เดฑเตเดฑเต เด•เตเดฒเดพเดธเต เดตเดธเตเดคเต

core.done(เดกเดพเดฑเตเดฑ)
เดธเดจเตเดฆเตผเดญเด‚: เดฌเต‹เดกเดฟ, เด‡เดจเดฟเดฑเตเดฑเต, เดŸเดพเดธเตโ€Œเด•เต, เด†เด•เตเดทเตป, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

เดตเดพเดฆเด™เตเด™เตพ

ยท เดกเดพเดฑเตเดฑ (เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚) -- เด•เต‹เดณเตผเด•เตเด•เดพเดฏเดฟ เด•เตเดฑเดšเตเดšเต เดกเดพเดฑเตเดฑ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•. เด•เต‚เดŸเต† เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต
เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเตเด•เดณเตเด‚ เดธเดพเดฎเตเดชเดฟเตพ-เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเตเด•เดณเตเด‚.

เดจเดฟเดฒเดตเดฟเดฒเต† เดฒเตเดตเดพ เดจเดฟเตผเดตเตเดตเดนเดฃเด‚ เด‰เดŸเดจเดŸเดฟ เดจเดฟเตผเดคเตเดคเตเด•เดฏเตเด‚ เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดฏเดพเดณเตเดŸเต† เด…เดŸเตเดคเตเดคเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต
เด’เดฐเต เดธเดพเดฎเตเดชเดฟเตพ เดŽเดŸเตเด•เตเด•เตฝ, เด’เดฐเต เด•เตบเดตเต†เตผเดŸเตเดŸเตผ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚, เด•เต‚เดŸเดพเดคเต† เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดฎเต‚เดฒเตเดฏเด‚ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจเต (เด…เดตเด—เดฃเดฟเดšเตเดšเต
เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ). LUA เดชเตเดฐเต‹เดธเดธเตเดธเต เด…เดคเดฟเดจเตเดฑเต† เดœเต‹เดฒเดฟ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟ เดจเตฝเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
เดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจ เด•เต‹เดกเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเดคเต† เดคเดจเตเดจเต† เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด‚ HAProxy-เดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•. เดŽเดจเตเดจเต เด•เดพเดฃเดพเด‚
เด’เดฐเต เดฎเตพเดŸเตเดŸเดฟ-เดฒเต†เดตเตฝ "เดฑเดฟเดŸเตเดŸเต‡เตบ".

core.yild()
เดธเดจเตเดฆเตผเดญเด‚: เดŸเดพเดธเตเด•เต, เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚, เดธเดพเดฎเตเดชเดฟเตพ-เดซเต†เดšเตเดšเต, เด•เตบเดตเต†เตผเดŸเตเดŸเตผ

HAProxy เดทเต†เดกเตเดฏเต‚เดณเดฑเดฟเตฝ เด•เตˆ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•. LUA เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เดธเดฎเดฏเด‚ เดšเต†เดฒเดตเดดเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เตเดฒเดพเดธเต เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต()
เดˆ เด•เตเดฒเดพเดธเดฟเตฝ เดงเดพเดฐเดพเดณเด‚ เด†เดจเตเดคเดฐเดฟเด• HAProxy เดธเดพเดฎเตเดชเดฟเตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เดฒเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. HAProxy เด•เดพเดฃเตเด•
เด…เดตเดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพเด•เตเด•เต "configuration.txt" เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป. เด…เดตเตผ
7.3.2 เดฎเตเดคเตฝ 7.3.6 เดตเดฐเต†เดฏเตเดณเตเดณ เด…เดงเตเดฏเดพเดฏเด™เตเด™เตพ.

เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต เดšเดฟเดฒ เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ เดšเดฟเดฒ เดธเดพเดฎเตเดชเดฟเตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เดฒเตเด•เตพ เดฒเดญเตเดฏเดฎเดฒเตเดฒ. เดˆ เดชเดฐเดฟเดฎเดฟเดคเดฟเด•เตพ
เด…เดต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเดฎเตเดชเต‹เตพ เดˆ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เดพเดฃเตเด• TXN.f

เด•เดพเดฃเตเด• TXN.sf

เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต:

ยท เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดฎเดฏเด‚ เดจเต‡เดŸเตเด•,

เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดจเต‡เดŸเตเด•,

ยท เด•เตเดฐเดฎเดฐเดนเดฟเดค เดธเด‚เด–เตเดฏเด•เตพ เดจเต‡เดŸเตเด•,

ยท เด•เตเดฏเต‚เดตเดฟเดฒเตเดณเตเดณ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเดฃเตเดฃเด‚ เดชเต‹เดฒเต† เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจ เดฌเดพเด•เตเด•เต†เตปเดกเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต
เดฌเดจเตเดงเด™เตเด™เตพ เดธเตเดฅเดพเดชเดฟเดšเตเดšเต,

IP เด‰เดฑเดตเดฟเดŸเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฒเด•เตเดทเตเดฏเดธเตเดฅเดพเดจเด‚ เดชเต‹เดฒเตเดณเตเดณ เด•เตเดฒเดฏเดจเตเดฑเต เดตเดฟเดตเดฐเด™เตเด™เตพ,

เดธเตเดฑเตเดฑเดฟเด•เตเด•เต เดŸเต‡เดฌเดฟเดณเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเด•,

ยท เดธเตเดฅเดพเดชเดฟเดคเดฎเดพเดฏ SSL เดตเดฟเดตเดฐเด™เตเด™เตพ,

เดนเต†เดกเดฑเตเด•เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฐเต€เดคเดฟ เดชเต‹เดฒเตเดณเตเดณ HTTP เดตเดฟเดตเดฐเด™เตเด™เตพ.

เดซเด‚เด—เตโ€Œเดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ (txn)
-- เด‰เดฑเดตเดฟเดŸ เดเดชเดฟ เดจเต‡เดŸเตเด•
เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เด•เตเดฒเดฏเดจเตเดฑเดฟเดชเตเดชเต = txn.f:src()
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

เด•เตเดฒเดพเดธเต เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเตเด•เตพ()
เดˆ เด•เตเดฒเดพเดธเดฟเตฝ เดงเดพเดฐเดพเดณเด‚ เด†เดจเตเดคเดฐเดฟเด• HAProxy เดธเดพเดฎเตเดชเดฟเตพ เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. HAProxy เด•เดพเดฃเตเด•
เด…เดตเดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพเด•เตเด•เต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป "configuration.txt". เด…เดคเตเดฐเดฏเต‡เดฏเตเดณเตเดณเต‚
เด…เดงเตเดฏเดพเดฏเด‚ 7.3.1.

เด•เดพเดฃเตเด• TXN.c

เด•เดพเดฃเตเด• TXN.sc

เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเตเด•เตพ เดธเด‚เดธเตเดฅเดพเดจ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดจเตฝเด•เตเดจเตเดจเต. เด…เดต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต:

เด‡เตปเดชเตเดŸเตเดŸเต เดฌเต‡เดธเต64 เดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต,

เด‡เตปเดชเตเดŸเตเดŸเต เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเตฝ เดนเดพเดทเต เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต (djb2, crc32, sdbm, wt6),

ยท เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดคเต€เดฏเดคเดฟ,

ยท json เดฐเด•เตเดทเดชเตเดชเต†เดŸเตฝ,

เดฐเดฃเตเดŸเต เดฒเดฟเดธเตโ€Œเดฑเตเดฑเตเด•เตพ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตโ€Œเดคเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดค เดญเดพเดท เดŽเด•เตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเต,

ยท เดคเดพเดดเตเดจเตเดจ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเตเด•เดณเดฟเดฒเต† เด…เด•เตเดทเดฐเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเดฏเตเด•,

ยท เดธเตเดฑเตเดฑเดฟเด•เตเด•เต เดŸเต‡เดฌเดฟเดณเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเด•.

เด•เตเดฒเดพเดธเต เดšเดพเดจเตฝ()
เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต HAProxy เดฐเดฃเตเดŸเต เดฌเดซเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดกเดพเดฑเตเดฑเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ (เด•เตเดฒเดฏเตปเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต) เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เด‡เดคเดฟเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดกเดพเดฑเตเดฑ (เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต).

เด“เดฐเต‹ เดฌเดซเดฑเดฟเดฒเตเด‚ เดฐเดฃเตเดŸเต เดคเดฐเด‚ เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด†เดฆเตเดฏ เดคเดฐเด‚ เด‡เตปเด•เดฎเดฟเด‚เด—เต เดกเดพเดฑเตเดฑ เดตเต†เดฏเตเดฑเตเดฑเดฟเด‚เด—เต เด†เดฃเต
เด’เดฐเต เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ. เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เด‚ เด‡เดคเดฟเดจเด•เด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดค เด”เดŸเตเดŸเตเด—เต‹เดฏเดฟเด‚เด—เต เดกเดพเดฑเตเดฑเดฏเดพเดฃเต. เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ,
เด‡เตปเด•เดฎเดฟเด‚เด—เต เดกเดพเดฑเตเดฑ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต, เด…เดคเต เด”เดŸเตเดŸเตเด—เต‹เดฏเดฟเด‚เด—เต เดกเดพเดฑเตเดฑเดฏเดพเดฏเดฟ เดŸเดพเด—เต เดšเต†เดฏเตเดค เดถเต‡เดทเด‚, เด’เดŸเตเดตเดฟเตฝ เด…เดคเต
เด…เดฏเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดกเดพเดฑเตเดฑ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดŸเต‚เดณเตเด•เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดซเด‚เด—เตเดทเดจเตเด•เตพ เดจเตฝเด•เตเดจเตเดจเต a
เดฌเดซเตผ.

เดšเดพเดจเตฝ เด•เตเดฒเดพเดธเต เดซเด‚เด—เตโ€Œเดทเตป เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดกเดฏเด—เตเดฐเด‚ เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต: เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดฒเต† เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ, เด…เดคเต เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต
เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเตฝ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดšเดพเดจเดฒเดฟเดจเดพเดฏเดฟ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ.
[เดšเดฟเดคเตเดฐเด‚]

Channel.dup(เดšเดพเดจเตฝ)
เดˆ เดซเด‚เด—เตเดทเตป เดฎเตเดดเตเดตเตป เดฌเดซเดฑเตเด‚ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต. เดกเดพเดฑเตเดฑ เด…เดฒเตเดฒ
เดฌเดซเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•, เดชเดฟเดจเตเดจเต€เดŸเต เดตเต€เดฃเตเดŸเตเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเดพเด‚.

เดฌเดซเดฑเดฟเดจเต เด•เต‚เดŸเตเดคเตฝ เดกเดพเดฑเตเดฑ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต 'เดชเต‚เดœเตเดฏเด‚' เดฎเต‚เดฒเตเดฏเด‚ เดจเตฝเด•เตเด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดšเดพเดจเตฝ (เด•เตเดฒเดพเดธเต_เดšเดพเดจเตฝ) -- เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏ เดšเดพเดจเตฝ.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดฒเดญเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดฏเตเด‚ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดฒเตเดฒ.

Channel.get(channel)
เดˆ เดซเด‚เด—เตเดทเตป เดฎเตเดดเตเดตเตป เดฌเดซเดฑเตเด‚ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต. เดกเดพเดฑเตเดฑ เด‰เดชเดญเต‹เด—เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต
เดฌเดซเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต.

เดฌเดซเดฑเดฟเดจเต เด•เต‚เดŸเตเดคเตฝ เดกเดพเดฑเตเดฑ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต 'เดชเต‚เดœเตเดฏเด‚' เดฎเต‚เดฒเตเดฏเด‚ เดจเตฝเด•เตเด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดšเดพเดจเตฝ (เด•เตเดฒเดพเดธเต_เดšเดพเดจเตฝ) -- เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏ เดšเดพเดจเตฝ.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดฒเดญเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดฏเตเด‚ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดฒเตเดฒ.

Channel.getline(เดšเดพเดจเตฝ)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดฌเดซเดฑเดฟเดจเตเดฑเต† เด†เดฆเตเดฏ เดตเดฐเดฟ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต. เดกเดพเดฑเตเดฑ
เดฆเดนเดฟเดชเตเดชเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต. เดจเตฝเด•เดฟเดฏ เดกเดพเดฑเตเดฑเดฏเดฟเตฝ เด…เดจเตเดคเดฟเดฎ 'n' เด…เดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเดจเต†เด•เตเด•เดพเตพ เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต
เดฌเดซเดฑเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฏ เด…เดตเดธเดพเดจเดคเตเดคเต† เดกเดพเดฑเตเดฑ.

เดฌเดซเดฑเดฟเดจเต เด•เต‚เดŸเตเดคเตฝ เดกเดพเดฑเตเดฑ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต 'เดชเต‚เดœเตเดฏเด‚' เดฎเต‚เดฒเตเดฏเด‚ เดจเตฝเด•เตเด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดšเดพเดจเตฝ (เด•เตเดฒเดพเดธเต_เดšเดพเดจเตฝ) -- เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏ เดšเดพเดจเตฝ.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดฒเดญเตเดฏเดฎเดพเดฏ เดฒเตˆเตป เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ nil เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต.

Channel.set(เดšเดพเดจเตฝ, เดธเตเดŸเตเดฐเดฟเด‚เด—เต)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดฌเดซเดฑเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเต† เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดซเด‚เด—เตเดทเตป เดฎเดŸเด™เตเด™เตเดจเตเดจเต
เดชเด•เตผเดคเตเดคเดฟเดฏ เดฆเตˆเตผเด˜เตเดฏเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเต -1 เดจเตฝเด•เตเดจเตเดจเต.

เดˆ เดซเด‚เด—เตโ€Œเดทเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดธเต†เดฑเตเดฑเต เด…เดฏเดฏเตโ€Œเด•เตเด•เดฟเดฒเตเดฒ. เด…เดตเตผ HAProxy เดฏเตเดŸเต† เด…เดตเดธเดพเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดฌเดซเตผ เดชเต‚เตผเดฃเตเดฃเดฎเดพเด•เตเด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดšเดพเดจเตฝ (เด•เตเดฒเดพเดธเต_เดšเดพเดจเตฝ) -- เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏ เดšเดพเดจเตฝ.

ยท เดธเตเดŸเตเดฐเดฟเด‚เด—เต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเด•เตผเดคเตเดคเดฟเดฏ เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด…เดณเดตเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ -1 เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ.

Channel.append(เดšเดพเดจเตฝ, เดธเตเดŸเตเดฐเดฟเด‚เด—เต)
เดˆ เดซเด‚เด—เตเดทเตป เดฌเดซเดฑเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเต เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเดจเตเดจเต. เดšเดŸเด™เตเด™เต
เดชเด•เตผเดคเตเดคเดฟเดฏ เดฆเตˆเตผเด˜เตเดฏเด‚ เดจเตฝเด•เตเดจเตเดจเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเต -1 เดจเตฝเด•เตเดจเตเดจเต.

เดˆ เดซเด‚เด—เตโ€Œเดทเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดธเต†เดฑเตเดฑเต เด…เดฏเดฏเตโ€Œเด•เตเด•เดฟเดฒเตเดฒ. เด…เดตเตผ HAProxy เดฏเตเดŸเต† เด…เดตเดธเดพเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดฌเดซเตผ เดชเต‚เตผเดฃเตเดฃเดฎเดพเด•เตเด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดšเดพเดจเตฝ (เด•เตเดฒเดพเดธเต_เดšเดพเดจเตฝ) -- เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏ เดšเดพเดจเตฝ.

ยท เดธเตเดŸเตเดฐเดฟเด‚เด—เต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเด•เตผเดคเตเดคเดฟเดฏ เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด…เดณเดตเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ -1 เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ.

Channel.send(เดšเดพเดจเตฝ, เดธเตเดŸเตเดฐเดฟเด‚เด—เต)
เดˆ เดซเด‚เด—เตโ€Œเดทเดจเต เดกเดพเดฑเตเดฑ เด‰เดŸเดจเดŸเดฟ เด…เดฏเดฏเตโ€Œเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด•เดฃเด•เตเดทเตป เด†เดฃเต†เด™เตเด•เดฟเตฝ เด’เดดเดฟเด•เต†
เด…เดŸเดฏเตเด•เตเด•เตเด•, เดฌเดซเตผ เดชเดคเดฟเดตเดพเดฏเดฟ เดซเตเดฒเดทเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เดŽเดฒเตเดฒเดพ เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด‚ เด…เดฏเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเดพเด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดšเดพเดจเตฝ (เด•เตเดฒเดพเดธเต_เดšเดพเดจเตฝ) -- เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏ เดšเดพเดจเตฝ.

ยท เดธเตเดŸเตเดฐเดฟเด‚เด—เต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเด•เตผเดคเตเดคเดฟเดฏ เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด…เดณเดตเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ -1 เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ.

Channel.get_in_length(เดšเดพเดจเตฝ)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดฌเดซเดฑเดฟเดจเตเดฑเต† เด‡เตปเดชเตเดŸเตเดŸเต เดญเดพเด—เดคเตเดคเดฟเดจเตเดฑเต† เดฆเตˆเตผเด˜เตเดฏเด‚ เดจเตฝเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดšเดพเดจเตฝ (เด•เตเดฒเดพเดธเต_เดšเดพเดจเตฝ) -- เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏ เดšเดพเดจเตฝ.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดฒเดญเตเดฏเดฎเดพเดฏ เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด…เดณเดตเต เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ.

Channel.get_out_length(เดšเดพเดจเตฝ)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดฌเดซเดฑเดฟเดจเตเดฑเต† เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดญเดพเด—เดคเตเดคเดฟเดจเตเดฑเต† เดฆเตˆเตผเด˜เตเดฏเด‚ เดจเตฝเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดšเดพเดจเตฝ (เด•เตเดฒเดพเดธเต_เดšเดพเดจเตฝ) -- เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏ เดšเดพเดจเตฝ.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดฒเดญเตเดฏเดฎเดพเดฏ เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด…เดณเดตเต เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ.

Channel.forward(เดšเดพเดจเตฝ, int)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดฌเดซเดฑเดฟเดจเตเดฑเต† เด‡เตปเดชเตเดŸเตเดŸเต เดญเดพเด—เดคเตเดคเต เดจเดฟเดจเตเดจเต เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดญเดพเด—เดคเตเดคเต‡เด•เตเด•เต เดฌเตˆเดฑเตเดฑเตเด•เตพ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดšเดพเดจเตฝ (เด•เตเดฒเดพเดธเต_เดšเดพเดจเตฝ) -- เด•เตƒเดคเตเดฐเดฟเดฎเดฎเดพเดฏ เดšเดพเดจเตฝ.

ยท int (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดซเต‹เตผเดตเต‡เดกเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจ เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เด…เดณเดตเต.

เด•เตเดฒเดพเดธเต HTTP()
เดˆ เด•เตเดฒเดพเดธเดฟเตฝ เดŽเดฒเตเดฒเดพ HTTP เด•เตƒเดคเตเดฐเดฟเดฎเดคเตเดต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

HTTP.req_get_headers(http)
เดŽเดฒเตเดฒเดพ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เดณเตเด‚ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เด…เดฑเต‡ เดจเตฝเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เดณเตเดŸเต† เดจเดฟเดฐ.

เด•เดพเดฃเตเด• HTTP.res_get_headers()

เดฎเดŸเด™เตเด™เดฟเดฏ เด…เดฑเต‡เดฏเตเดŸเต† เดฐเต‚เดชเดฎเดพเดฃเดฟเดคเต:

HTTP:req_get_headers()[' '][ ] = " "

เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• hdr = HTTP:req_get_headers()
hdr["host"][0] = "www.test.com"
hdr["เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•"][0] = "เด“เดกเดฟเดฏเต‹/เด…เดŸเดฟเดธเตเดฅเดพเดจ q=1"
hdr["เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•"][1] = "เด“เดกเดฟเดฏเต‹/*, q=0.2"
hdr["เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•"][2] = "*/*, q=0.1"

HTTP.res_get_headers(http)
เดŽเดฒเตเดฒเดพ เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เดณเตเด‚ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เด…เดฑเต‡ เดจเตฝเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เดณเตเดŸเต† เดจเดฟเดฐ.

เด•เดพเดฃเตเด• HTTP.req_get_headers()

เดฎเดŸเด™เตเด™เดฟเดฏ เด…เดฑเต‡เดฏเตเดŸเต† เดฐเต‚เดชเดฎเดพเดฃเดฟเดคเต:

HTTP:res_get_headers()[' '][ ] = " "

เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• hdr = HTTP:req_get_headers()
hdr["host"][0] = "www.test.com"
hdr["เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•"][0] = "เด“เดกเดฟเดฏเต‹/เด…เดŸเดฟเดธเตเดฅเดพเดจ q=1"
hdr["เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•"][1] = "เด“เดกเดฟเดฏเต‹/*, q=0.2"
hdr["เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•"][2] = "*.*, q=0.1"

HTTP.req_add_header(http, เดชเต‡เดฐเต, เดฎเต‚เดฒเตเดฏเด‚)
เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเตฝ เด’เดฐเต HTTP เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดซเต€เตฝเดกเต เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเตเดฑเต† เดชเต‡เดฐเต "เดชเต‡เดฐเต" เดŽเดจเตเดจเดคเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต
เด†เดฐเตเดŸเต† เดฎเต‚เดฒเตเดฏเด‚ "เดฎเต‚เดฒเตเดฏเด‚" เดŽเดจเตเดจเดคเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

ยท เดฎเต‚เดฒเตเดฏเด‚ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเด‚.

เด•เดพเดฃเตเด• HTTP.res_add_header()

HTTP.res_add_header(http, เดชเต‡เดฐเต, เดฎเต‚เดฒเตเดฏเด‚)
เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเตฝ เด’เดฐเต HTTP เดนเต†เดกเตผ เดซเต€เตฝเดกเต เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเตเดฑเต† เดชเต‡เดฐเต "เดชเต‡เดฐเต" เดŽเดจเตเดจเดคเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
เด†เดฐเตเดŸเต† เดฎเต‚เดฒเตเดฏเด‚ "เดฎเต‚เดฒเตเดฏเด‚" เดŽเดจเตเดจเดคเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

ยท เดฎเต‚เดฒเตเดฏเด‚ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเด‚.

เด•เดพเดฃเตเด• HTTP.req_add_header()

HTTP.req_del_header(http, เดชเต‡เดฐเต)
เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเดฒเต† เดŽเดฒเตเดฒเดพ HTTP เดนเต†เดกเตผ เดซเต€เตฝเดกเตเด•เดณเตเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเตเดฑเต† เดชเต‡เดฐเต "เดชเต‡เดฐเดฟเตฝ" เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

เด•เดพเดฃเตเด• HTTP.res_del_header()

HTTP.res_del_header(http, เดชเต‡เดฐเต)
เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเดฒเต† เดŽเดฒเตเดฒเดพ HTTP เดนเต†เดกเตผ เดซเต€เตฝเดกเตเด•เดณเตเด‚ เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเตเดฑเต† เดชเต‡เดฐเต "เดชเต‡เดฐเดฟเตฝ" เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

เด•เดพเดฃเตเด• HTTP.req_del_header()

HTTP.req_set_header(http, เดชเต‡เดฐเต, เดฎเต‚เดฒเตเดฏเด‚)
เดˆ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ "เดชเต‡เดฐเต" เดŽเดจเตเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดŽเดฒเตเดฒเดพ เดธเด‚เดญเดตเด™เตเด™เดณเต†เดฏเตเด‚ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเตฝ เด’เดจเตเดจเต เดฎเดพเดคเตเดฐเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
เดฎเต‚เดฒเตเดฏเด‚".

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

ยท เดฎเต‚เดฒเตเดฏเด‚ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเด‚.

เด•เดพเดฃเตเด• HTTP.res_set_header()

เดˆ เดซเด‚เด—เตโ€Œเดทเตป เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เต‹เดกเดฟเดจเตเดฑเต† เด…เดคเต‡ เดตเตผเด•เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจเต:

เดซเด‚เด—เตโ€Œเดทเตป fcn(txn)
TXN.http:req_del_header("เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต")
TXN.http:req_add_header("เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต", "เดฎเต‚เดฒเตเดฏเด‚")
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

HTTP.res_set_header(http, เดชเต‡เดฐเต, เดฎเต‚เดฒเตเดฏเด‚)
เดˆ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ "เดชเต‡เดฐเต" เดŽเดจเตเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดŽเดฒเตเดฒเดพ เดธเด‚เดญเดตเด™เตเด™เดณเต†เดฏเตเด‚ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเตฝ เด’เดจเตเดจเต เดฎเดพเดคเตเดฐเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
เดฎเต‚เดฒเตเดฏเด‚".

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

ยท เดฎเต‚เดฒเตเดฏเด‚ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเด‚.

เด•เดพเดฃเตเด• HTTP.req_rep_header()

HTTP.req_rep_header(http, เดชเต‡เดฐเต, เดฑเต€เดœเด•เตเดธเต, เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•)
"เดชเต‡เดฐเต" เดŽเดจเตเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดซเต€เตฝเดกเดฟเดจเตเดฑเต† เดŽเดฒเตเดฒเดพ เดธเด‚เดญเดตเด™เตเด™เดณเดฟเดฒเตเด‚ เดฑเต†เด—เตเดฒเตผ เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต
"regex" เดฒเต‡เดฏเตเด•เตเด•เต, เด…เดตเดฏเต† "replace" เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตฝ เดฎเต‚เดฒเตเดฏเด‚
1, 2, เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เดฌเดพเด•เตเด•เต เดฑเดซเดฑเตปเดธเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚... เดˆ เดซเด‚เด—เตโ€Œเดทเตป เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

ยท regex (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดชเตŠเดฐเตเดคเตเดคเด‚ เดฑเต†เด—เตเดฒเตผ เดŽเด•เตเดธเตเดชเตเดฐเดทเตป.

ยท เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตฝ เดฎเต‚เดฒเตเดฏเด‚.

เด•เดพเดฃเตเด• HTTP.res_rep_header()

HTTP.res_rep_header(http, เดชเต‡เดฐเต, เดฑเต€เดœเด•เตเดธเต, เดธเตเดŸเตเดฐเดฟเด‚เด—เต)
"เดชเต‡เดฐเต" เดŽเดจเตเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดซเต€เตฝเดกเดฟเดจเตเดฑเต† เดŽเดฒเตเดฒเดพ เดธเด‚เดญเดตเด™เตเด™เดณเดฟเดฒเตเด‚ เดฑเต†เด—เตเดฒเตผ เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต
"regex" เดฒเต‡เดฏเตเด•เตเด•เต, เด…เดตเดฏเต† "replace" เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตฝ เดฎเต‚เดฒเตเดฏเด‚
1, 2, เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เดฌเดพเด•เตเด•เต เดฑเดซเดฑเตปเดธเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚... เดˆ เดซเด‚เด—เตโ€Œเดทเตป เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

ยท regex (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดชเตŠเดฐเตเดคเตเดคเด‚ เดฑเต†เด—เตเดฒเตผ เดŽเด•เตเดธเตเดชเตเดฐเดทเตป.

ยท เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตฝ เดฎเต‚เดฒเตเดฏเด‚.

เด•เดพเดฃเตเด• HTTP.req_replace_header()

HTTP.req_replace_value(http, เดชเต‡เดฐเต, เดฑเต€เดœเด•เตเดธเต, เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•)
"HTTP.req_replace_header()" เดชเต‹เดฒเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดฑเดฟเดœเด•เตโ€Œเดธเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต เดŽเดจเตเดจเดคเตŠเดดเดฟเดšเตเดšเดพเตฝ
เดนเต†เดกเตผ เดซเต€เตฝเดกเดฟเดจเตเดฑเต† "เดชเต‡เดฐเต" เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดฎเตเดดเตเดตเตป เด•เต‹เดฎ-เดกเต€เดฒเดฟเดฎเดฟเดฑเตเดฑเดกเต เดฎเต‚เดฒเตเดฏเดตเตเด‚
เดถเต€เตผเดทเด•เด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

ยท regex (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดชเตŠเดฐเตเดคเตเดคเด‚ เดฑเต†เด—เตเดฒเตผ เดŽเด•เตเดธเตเดชเตเดฐเดทเตป.

ยท เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตฝ เดฎเต‚เดฒเตเดฏเด‚.

เด•เดพเดฃเตเด• HTTP.req_replace_header()

เด•เดพเดฃเตเด• HTTP.res_replace_value()

HTTP.res_replace_value(http, เดชเต‡เดฐเต, เดฑเต€เดœเด•เตเดธเต, เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•)
"HTTP.res_replace_header()" เดชเต‹เดฒเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดฑเดฟเดœเด•เตโ€Œเดธเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต เดŽเดจเตเดจเดคเตŠเดดเดฟเดšเตเดšเดพเตฝ
เดนเต†เดกเตผ เดซเต€เตฝเดกเดฟเดจเตเดฑเต† "เดชเต‡เดฐเต" เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดฎเตเดดเตเดตเตป เด•เต‹เดฎ-เดกเต€เดฒเดฟเดฎเดฟเดฑเตเดฑเดกเต เดฎเต‚เดฒเตเดฏเดตเตเด‚
เดถเต€เตผเดทเด•เด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต.

ยท regex (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดชเตŠเดฐเตเดคเตเดคเด‚ เดฑเต†เด—เตเดฒเตผ เดŽเด•เตเดธเตเดชเตเดฐเดทเตป.

ยท เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตฝ เดฎเต‚เดฒเตเดฏเด‚.

เด•เดพเดฃเตเด• HTTP.res_replace_header()

เด•เดพเดฃเตเด• HTTP.req_replace_value()

HTTP.req_set_method(http, เดฐเต€เดคเดฟ)
"เดฐเต€เดคเดฟ" เดŽเดจเตเดจ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฐเต€เดคเดฟ เดตเต€เดฃเตเดŸเตเด‚ เดŽเดดเตเดคเตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดฐเต€เดคเดฟ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดชเตเดคเดฟเดฏ เดฐเต€เดคเดฟ.

HTTP.req_set_path(http, เดชเดพเดค)
"เดชเดพเดคเตเดคเต" เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเดพเดค เดตเต€เดฃเตเดŸเตเด‚ เดŽเดดเตเดคเตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเดพเดค (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดชเตเดคเดฟเดฏ เดชเดพเดค.

HTTP.req_set_query(http, เดšเต‹เดฆเตเดฏเด‚)
เด†เดฆเตเดฏ เดšเต‹เดฆเตเดฏเดšเดฟเดนเตเดจเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเดจเตเดจ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เด…เดจเตเดตเต‡เดทเดฃ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดตเต€เดฃเตเดŸเตเด‚ เดŽเดดเตเดคเตเดจเตเดจเต
("?") "เด•เตเดตเดฑเดฟ" เดŽเดจเตเดจ เดชเดฐเดพเดฎเต€เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เด…เดจเตเดตเต‡เดทเดฃเด‚ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดชเตเดคเดฟเดฏ เดšเต‹เดฆเตเดฏเด‚.

HTTP.req_set_uri(http, เด‰เดฑเดฟ)
"uri" เดŽเดจเตเดจ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ URI เดตเต€เดฃเตเดŸเตเด‚ เดŽเดดเตเดคเตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท URI (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดชเตเดคเดฟเดฏ เด‰เดฑเดฟ.

HTTP.res_set_status(http, เดชเดฆเดตเดฟ)
"เด•เต‹เดกเต" เดŽเดจเตเดจ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เด•เต‹เดกเต เดตเต€เดฃเตเดŸเตเด‚ เดŽเดดเตเดคเตเดจเตเดจเต. เด•เดพเดฐเดฃเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เดชเตเดคเดฟเดฏ เด•เต‹เดกเดฟเดฒเต‡เด•เตเด•เต เดธเตเดตเดฏเดฎเต‡เดต เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท http: (เด•เตเดฒเดพเดธเต_http) -- เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ http เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดชเดฆเดตเดฟ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดชเตเดคเดฟเดฏ เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เด•เต‹เดกเต.

เด•เตเดฒเดพเดธเต TXN()
http เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ tcp เด‡เดŸเดชเดพเดŸเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดŽเดฒเตเดฒเดพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ txn เด•เตเดฒเดพเดธเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
(เดŸเดฟเดธเดฟเดชเดฟ เดธเตเดŸเตเดฐเต€เดฎเดฟเดจเต†เด•เตเด•เดพเตพ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•, เดŸเดฟเดธเดฟเดชเดฟ เด‡เดŸเดชเดพเดŸเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดŽเดšเตเดšเตเดŸเดฟเดŸเดฟเดชเดฟ เด‡เดŸเดชเดพเดŸเต
เด’เดฐเต tcp เดธเตเดŸเตเดฐเต€เดฎเดฟเดจเต เดธเดฎเดพเดจเดฎเดฒเตเดฒ).

เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เดพเดจเตเด‚ เด…เดคเดฟเตฝ เดฎเดพเดฑเตเดฑเด‚ เดตเดฐเตเดคเตเดคเดพเดจเตเด‚ เดˆ เด•เตเดฒเดพเดธเดฟเดจเตเดฑเต† เด‰เดชเดฏเต‹เด—เด‚ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต
เด…เดคเต เด•เตˆเดฎเดพเดฑเตเด•.

เดˆ เด•เตเดฒเดพเดธเต เดจเตฝเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เดณเตเด‚ เดธเดจเตเดฆเตผเดญเดคเตเดคเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต
เดธเดพเดฎเตเดชเดฟเตพ-เดชเดฟเดŸเตเดคเตเดคเด™เตเด™เตพ เด’เดชเตเดชเด‚ เด“เดนเดฐเดฟ.

TXN.c

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
An เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด•เตเดฒเดพเดธเต.

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเต‡เดดเตเดธเต เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

TXN.sc

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
An เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด•เตเดฒเดพเดธเต.

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเต‡เดดเตเดธเต เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดตเดธเตเดคเตเดตเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ
เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต.

TXN.f

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
An เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต เด•เตเดฒเดพเดธเต.

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด’เดฐเต Fetches เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

TXN.sf

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
An เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต เด•เตเดฒเดพเดธเต.

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด’เดฐเต Fetches เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดตเดธเตเดคเตเดตเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ
เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต.

TXN.req

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
An เดšเดพเดจเตฝ เด•เตเดฒเดพเดธเต.

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฌเดซเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดšเดพเดจเตฝ เด•เตเดฒเดพเดธเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

TXN.res

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
An เดšเดพเดจเตฝ เด•เตเดฒเดพเดธเต.

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดฌเดซเดฑเดฟเดจเดพเดฏเตเดณเตเดณ เด’เดฐเต เดšเดพเดจเตฝ เด•เตเดฒเดพเดธเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

TXN.http

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
An HTTP เด•เตเดฒเดพเดธเต.

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด’เดฐเต HTTP เด•เตเดฒเดพเดธเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเตเดฐเต‹เด•เตเดธเดฟ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เดคเต เดฒเดญเตเดฏเดฎเดพเด•เต‚
"เดฎเต‹เดกเต http" เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟ.

TXN.log(TXN, เดฒเต‹เด—เต เดฒเต†เดตเตฝ, เดธเดจเตเดฆเต‡เดถเด‚)
เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เด’เดฐเต เดฒเต‹เด—เต เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต. HAProxy เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดฒเต‹เด—เต เด…เดฏเดšเตเดšเต
เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเตฝ, เด…เดคเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ syslog เดธเต†เตผเดตเดฑเดฟเตฝ
เด…เดคเต เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ stderr.

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดฒเต‹เด—เต เดฒเต†เดตเตฝ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดฒเต‹เด—เต เดฒเต†เดตเตฝ เดธเดจเตเดฆเต‡เดถเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฃเต‹. เด‡เดคเต เดŽ
0 เดจเตเด‚ 7 เดจเตเด‚ เด‡เดŸเดฏเดฟเดฒเตเดณเตเดณ เดธเด‚เด–เตเดฏ.

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• core.emerg, core.alert, core.crit, core.err, core.warning, core.notice,
core.info, core.debug (เดฒเต‹เด—เต เดฒเต†เดตเตฝ เดจเดฟเตผเดตเดšเดจเด™เตเด™เตพ)

เด•เดพเดฃเตเด• TXN.deflog

เด•เดพเดฃเตเด• TXN.เดกเต€เดฌเด—เต

เด•เดพเดฃเตเด• TXN.Info

เด•เดพเดฃเตเด• TXN. เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต

เด•เดพเดฃเตเด• TXN.เด…เดฒเต‡เตผเดŸเตเดŸเต

TXN.deflog(TXN, เดธเดจเตเดฆเต‡เดถเด‚)
เดŽเดจเตเดจเดคเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเต‹เด•เตเดธเดฟเด•เตเด•เดพเดฏเดฟ เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดฒเต‹เด—เตโ€Œเดฒเต†เดตเตฝ เด‰เดณเตเดณ เด’เดฐเต เดฒเต‹เด—เต เดฒเตˆเตป เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต
เด‡เดŸเดชเดพเดŸเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• TXN.log

TXN.เดกเต€เดฌเด—เต(txn, เดธเดจเตเดฆเต‡เดถเด‚)

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• TXN.log

เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เด’เดฐเต‡ เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต:

เดซเด‚เด—เตโ€Œเดทเตป เดกเต€เดฌเด—เต (txn, msg)
TXN.log(txn, core.debug, msg)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

TXN.Info(txn, เดธเดจเตเดฆเต‡เดถเด‚)

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• TXN.log

เดซเด‚เด—เตโ€Œเดทเตป เดกเต€เดฌเด—เต (txn, msg)
TXN.log(txn, core.info, msg)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

TXN.เดฎเตเดจเตเดจเดฑเดฟเดฏเดฟเดชเตเดชเต(txn, เดธเดจเตเดฆเต‡เดถเด‚)

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• TXN.log

เดซเด‚เด—เตโ€Œเดทเตป เดกเต€เดฌเด—เต (txn, msg)
TXN.log(txn, core.warning, msg)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

TXN.Alert(txn, เดธเดจเตเดฆเต‡เดถเด‚)

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฒเต‹เด—เต เด‰เดณเตเดณเดŸเด•เตเด•เด‚.

เด•เดพเดฃเตเด• TXN.log

เดซเด‚เด—เตโ€Œเดทเตป เดกเต€เดฌเด—เต (txn, msg)
TXN.log(txn, core.alert, msg)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

TXN.get_priv(txn)
เดจเดฟเดฒเดตเดฟเดฒเต† เด‡เดŸเดชเดพเดŸเดฟเตฝ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ Lua เดกเดพเดฑเตเดฑ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด• (เด•เต‚เดŸเต† TXN.set_priv())
เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚. เดกเดพเดฑเตเดฑ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เด’เดฐเต เดชเต‚เดœเตเดฏ เดฎเต‚เดฒเตเดฏเด‚ เดจเตฝเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดฎเตเดฎเตเดชเต เดธเด‚เดญเดฐเดฟเดšเตเดš เด…เดคเดพเดฐเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดจเตเดจเตเด‚ เดฒเดญเตเดฏเดฎเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดฒเตเดฒ.

TXN.set_priv(txn, เดกเดพเดฑเตเดฑ)
เดจเดฟเดฒเดตเดฟเดฒเต† HAProxy เด‡เดŸเดชเดพเดŸเดฟเตฝ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดกเดพเดฑเตเดฑ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•. เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดชเดดเดฏเดคเดฟเดจเต เดชเด•เดฐเดฎเดพเดฃเต
เดธเด‚เดญเดฐเดฟเดšเตเดš เดกเดพเดฑเตเดฑ.

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดกเดพเดฑเตเดฑ (เด…เดคเดพเดฐเตเดฏเดฎเดพเดฃเต) -- เด‡เดŸเดชเดพเดŸเดฟเตฝ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ.

TXN.set_var(TXN, เด‡เดคเตเดฃเตเดŸเต, เดฎเต‚เดฒเตเดฏเด‚)
เด’เดฐเต เดฒเตเดตเดพ เดคเดฐเด‚ HAProxy เดคเดฐเดคเตเดคเดฟเตฝ เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด’เดฐเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต .

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- HAProxy เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตŠเดชเตเดชเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดจเดพเดฎเด‚
เดตเดพเด•เตเดฏเด˜เดŸเดจ.

ยท เดฎเต‚เดฒเตเดฏเด‚ (เด…เดคเดพเดฐเตเดฏเดฎเดพเดฃเต) -- เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ.

TXN.get_var(TXN, var)
เดฒเตเดตเดพ เดคเดฐเดคเตเดคเดฟเตฝ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เด•เตบเดตเต†เตผเดŸเตเดŸเดฑเดฟเตฝ เดธเด‚เดญเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ เดจเตฝเด•เตเดจเตเดจเต .

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- HAProxy เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตŠเดชเตเดชเด‚ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เดจเดพเดฎเด‚
เดตเดพเด•เตเดฏเด˜เดŸเดจ.

TXN.get_headers(txn)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เดณเตเดŸเต† เด’เดฐเต เดจเดฟเดฐ เดจเตฝเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เดณเตเดŸเต† เด’เดฐเต เดจเดฟเดฐ.

TXN.done(txn)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เด‡เดŸเดชเดพเดŸเดฟเดจเตเดฑเต†เดฏเตเด‚ เด…เดจเตเดฌเดจเตเดง เดธเต†เดทเดจเตเดฑเต†เดฏเตเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต.
เด’เดฐเต เดจเดฟเตผเดฃเดพเดฏเด• เดชเดฟเดถเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเตเดฎเตเดชเต‹เตพ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚
เดšเดฟเดฒ เดกเดพเดฑเตเดฑ เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดฟ (เด‰เดฆเดพ: เด’เดฐเต เดฑเต€เดกเดฏเดฑเด•เตโ€ŒเดŸเต).

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

TXN.set_loglevel(txn, เดฒเต‹เด—เต เดฒเต†เดตเตฝ)
เดจเดฟเดฒเดตเดฟเดฒเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดฒเต‹เด—เต เดฒเต†เดตเตฝ เดฎเดพเดฑเตเดฑเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. "เดฒเต‹เด—เต เดฒเต†เดตเตฝ" เด’เดฐเต เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚
0 เดจเตเด‚ 7 เดจเตเด‚ เด‡เดŸเดฏเดฟเดฒเตเดณเตเดณ เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ.

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดฒเต‹เด—เต เดฒเต†เดตเตฝ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฒเต‹เด—เต เดฒเต†เดตเตฝ. เดˆ เดตเต‡เดฐเดฟเดฏเดฌเดฟเตพ เด’เดจเตเดจเดพเด•เดพเด‚

เด•เดพเดฃเตเด• เด•เดพเดฎเตเดชเต.

TXN.set_tos(txn, เดŸเต‹เดธเต)
เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดšเตเดš เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเตเดŸเต† TOS เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ DSCP เดซเต€เตฝเดกเต เดฎเต‚เดฒเตเดฏเด‚ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
เด‡เดคเดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เดณเดฟเตฝ "เดŸเต‹เดธเต" เดŽเดจเตเดจเดคเดฟเตฝ เดฎเต‚เดฒเตเดฏเด‚ เด•เดŸเดจเตเดจเตเดชเต‹เดฏเดฟ.

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เดŸเต‹เตพเดธเต (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดชเตเดคเดฟเดฏ TOS os DSCP.

TXN.set_mark(txn, เด…เดŸเดฏเดพเดณเด‚)
เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดšเตเดš เดŽเดฒเตเดฒเดพ เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเดฒเตเด‚ เดจเต†เดฑเตเดฑเตเดซเดฟเตฝเดฑเตเดฑเตผ เดฎเดพเตผเด•เตเด•เต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
เด…เดคเดฟเดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เดฎเตเด•เดณเดฟเตฝ "เดฎเดพเตผเด•เตเด•เต" เด•เดŸเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท txn (class_txn) -- เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เตเดจเตเดจ เด•เตเดฒเดพเดธเต txn เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

ยท เด…เดŸเดฏเดพเดณเด‚ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดฎเดพเตผเด•เตเด•เต เดฎเต‚เดฒเตเดฏเด‚.

เด•เตเดฒเดพเดธเต เดธเต‹เด•เตเด•เดฑเตเดฑเต()
เดˆ เด•เตเดฒเดพเดธเต เดฒเตเดตเดพ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด•เตเดฒเดพเดธเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเดฃเด‚. 'เด‰เดชเดญเต‹เด•เตเดคเดพเดตเต' เดฎเดพเดคเตเดฐเด‚
เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดฒเดญเตเดฏเดฎเดพเดฃเต. Lua Socket เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เด•เดพเดฃเตเด•:

http://w3.impa.br/~diego/software/luasocket/tcp.html

Socket.close(เดธเต‹เด•เตเด•เดฑเตเดฑเต)
เด’เดฐเต TCP เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเต เด…เดŸเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต. เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด†เดจเตเดคเดฐเดฟเด• เดธเต‹เด•เตเด•เดฑเตเดฑเต เด…เดŸเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดฒเต‹เด•เตเด•เตฝ
เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดš เดตเดฟเดฒเดพเดธเด‚ เดฎเดฑเตเดฑเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพเด•เตเด•เต เดฒเดญเตเดฏเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เด‡เดฒเตเดฒ
เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ (เด•เตเดฒเต‹เดธเต เดฎเต†เดคเตเดคเต‡เดกเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด•เต‚เดŸเตเดคเตฝ เด•เต‹เดณเตเด•เตพ เด’เดดเดฟเด•เต†) a
เด…เดŸเดšเตเดš เดธเต‹เด•เตเด•เดฑเตเดฑเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดธเต‹เด•เตเด•เดฑเตเดฑเต (เด•เตเดฒเดพเดธเต_เดธเต‹เด•เตเด•เดฑเตเดฑเต) -- เด•เตƒเดคเตเดฐเดฟเดฎ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด†เดฃเต.

เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš เดŽเดฒเตเดฒเดพ เดธเต‹เด•เตเด•เดฑเตเดฑเตเด•เดณเตเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดชเตเดชเต‹เตพ เด…เดŸเดšเตเดšเดฟเดŸเต‡เดฃเตเดŸเดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚
เดชเดฒ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเดฟเดฒเตเด‚, เด“เดฐเต‹ เดธเต‹เด•เตเด•เดฑเตเดฑเตเด‚ เด’เดฐเต เดซเดฏเตฝ เดกเดฟเดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด…เดต เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด†เดฃเต
เดตเดฟเดญเดตเด™เตเด™เตพ. เดฎเดพเดฒเดฟเดจเตเดฏเด‚ เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจ เดตเดธเตเดคเตเด•เตเด•เตพ เดจเดถเดฟเดชเตเดชเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดธเตเดตเดฏเดฎเต‡เดต เด…เดŸเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเด‚.
เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚.

Socket.connect(เดธเต‹เด•เตเด•เดฑเตเดฑเต, เดตเดฟเดฒเดพเดธเด‚[, เดคเตเดฑเดฎเตเด–เด‚])
เด’เดฐเต เดธเต‹เด•เตเด•เดฑเตเดฑเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต เด’เดฐเต เดฑเดฟเดฎเต‹เดŸเตเดŸเต เดนเต‹เดธเตเดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เดถเตเดฐเดฎเด™เตเด™เตพ.

เดชเดฟเดถเด•เต เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ, เดฎเต†เดคเตเดคเต‡เดกเต nil เดจเตฝเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เดชเดฟเดถเด•เต เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต.
เดตเดฟเดœเดฏเดฟเดšเตเดšเดพเตฝ, เดฐเต€เดคเดฟ 1 เดจเตฝเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดธเต‹เด•เตเด•เดฑเตเดฑเต (เด•เตเดฒเดพเดธเต_เดธเต‹เด•เตเด•เดฑเตเดฑเต) -- เด•เตƒเดคเตเดฐเดฟเดฎ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด†เดฃเต.

ยท เดตเดฟเดฒเดพเดธเด‚ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด’เดฐเต IP เดตเดฟเดฒเดพเดธเดฎเต‹ เดนเต‹เดธเตเดฑเตเดฑเต เดจเดพเดฎเดฎเต‹ เด†เด•เดพเด‚. เด…เดคเดฟเดจเดพเดฏเดฟ เดคเดพเดดเต† เด•เดพเดฃเตเด•
เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดตเดฐเด™เตเด™เตพ.

ยท เดคเตเดฑเดฎเตเด–เด‚ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- [1..64K] เดถเตเดฐเต‡เดฃเดฟเดฏเดฟเดฒเต† เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
1 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเต‚เดœเตเดฏเด‚.

เด’เดฐเต เด…เดกเตเดฐเดธเต เดซเต€เตฝเดกเต เดŽเด•เตเดธเตเดฑเตเดฑเตปเดทเตป เด•เดฃเด•เตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เด•เดฃเด•เตเดŸเต() เดซเด‚เด—เตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต
TCP เด’เดดเดฟเด•เต†เดฏเตเดณเตเดณ เดฎเดฑเตเดฑเต เดธเตเดŸเตเดฐเต€เด‚. เด’เดฐเต simpleipv4 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ ipv6 เดตเดฟเดฒเดพเดธเด‚ เด…เดŸเด™เตเด™เดฟเดฏ เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเดพเดฃเต
เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจ เดซเต‹เตผเดฎเดพเดฑเตเดฑเต. เดˆ เดซเต‹เตผเดฎเดพเดฑเตเดฑเดฟเดจเต เดชเต‹เตผเดŸเตเดŸเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

"/เดธเต‹เด•เตเด•เดฑเตเดฑเต/เดชเดพเดคเตเดคเต" เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด’เดฐเต เดธเต‹เด•เตเด•เดฑเตเดฑเต เดชเดพเดคเดฏเดพเดฃเต เด…เด‚เด—เต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณ เดฎเดฑเตเดฑเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเต, เด‡เดคเต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต
เด’เดฐเต เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต. เด…เดฌเตโ€Œเดธเตโ€ŒเดŸเตเดฐเดพเด•เตเดฑเตเดฑเต เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเตเด•เตพ "abns@" เดŽเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเด•เตโ€ŒเดธเดฟเดจเตŠเดชเตเดชเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต, เด…เดตเดธเดพเดจเด‚
"fd@" เดŽเดจเตเดจ เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดซเดฏเตฝเดธเตโ€Œเด•เตเดฐเดฟเดฏเต‹เดฑเตเดฑเตผ เดจเตฝเด•เดพเด‚. เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต "ipv4@", "ipv6@"
"unix@" เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต. เดชเต‹เตผเดŸเตเดŸเต เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเดฒเต‚เดŸเต† เด•เดŸเดจเตเดจเตเดชเต‹เด•เดพเด‚. เดตเดพเด•เตเดฏเด˜เดŸเดจ
"127.0.0.1:1234" เดธเดพเดงเตเดตเดพเดฃเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดชเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดคเตเดฑเดฎเตเด–เด‚ เด…เดตเด—เดฃเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต.

Socket.connect_ssl(เดธเต‹เด•เตเด•เดฑเตเดฑเต, เดตเดฟเดฒเดพเดธเด‚, เดชเต‹เตผเดŸเตเดŸเต)
เดซเด‚เด—เตเดทเตป เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเดจเต‡เด•เตเด•เดพเตพ เดธเดฎเดพเดจ เดธเตเดตเดญเดพเดตเด‚:เด•เดฃเด•เตเดฑเตเดฑเต, เดŽเดจเตเดจเดพเตฝ SSL เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดธเต‹เด•เตเด•เดฑเตเดฑเต (เด•เตเดฒเดพเดธเต_เดธเต‹เด•เตเด•เดฑเตเดฑเต) -- เด•เตƒเดคเตเดฐเดฟเดฎ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด†เดฃเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
1 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเต‚เดœเตเดฏเด‚.

Socket.getpeername(socket)
เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เด•เตเดฒเดฏเดจเตเดฑเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เดตเดฟเดฆเต‚เดฐ เดตเดถเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต.

เดชเดฟเดฏเดฑเดฟเดจเตเดฑเต† เดเดชเดฟ เดตเดฟเดฒเดพเดธเดคเตเดคเต‹เดŸเตเด•เต‚เดŸเดฟเดฏ เด’เดฐเต เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เดชเต‹เตผเดŸเตเดŸเต เดจเดฎเตเดชเดฑเตเด‚
เดชเดฟเดฏเตผ เด•เดฃเด•เตเดทเดจเตเดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดชเดฟเดถเด•เต เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ, เดฐเต€เดคเดฟ เดชเต‚เดœเตเดฏเดฎเดพเดฏเดฟ เดจเตฝเด•เตเด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดธเต‹เด•เตเด•เดฑเตเดฑเต (เด•เตเดฒเดพเดธเต_เดธเต‹เด•เตเด•เดฑเตเดฑเต) -- เด•เตƒเดคเตเดฐเดฟเดฎ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด†เดฃเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดธเต†เตผเดตเตผ เดตเดฟเดตเดฐเด™เตเด™เตพ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต.

Socket.getsockname(เดธเต‹เด•เตเด•เดฑเตเดฑเต)
เดตเดธเตเดคเตเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดตเดฟเดฒเดพเดธ เดตเดฟเดตเดฐเด™เตเด™เตพ เดจเตฝเด•เตเดจเตเดจเต.

เดฒเต‹เด•เตเด•เตฝ เดเดชเดฟ เดตเดฟเดฒเดพเดธเดฎเตเดณเตเดณ เด’เดฐเต เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เตเด‚ เดชเต‹เตผเดŸเตเดŸเดฟเดจเตŠเดชเตเดชเด‚ เด’เดฐเต เดจเดฎเตเดชเดฑเตเด‚ เดˆ เดฐเต€เดคเดฟ เดจเตฝเด•เตเดจเตเดจเต. เด‡เตป
เดชเดฟเดถเด•เต เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ, เดฐเต€เดคเดฟ เดชเต‚เดœเตเดฏเดฎเดพเดฏเดฟ เดจเตฝเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดธเต‹เด•เตเด•เดฑเตเดฑเต (เด•เตเดฒเดพเดธเต_เดธเต‹เด•เตเด•เดฑเตเดฑเต) -- เด•เตƒเดคเตเดฐเดฟเดฎ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด†เดฃเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เด•เตเดฒเดฏเดจเตเดฑเต เดตเดฟเดตเดฐเด™เตเด™เตพ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต.

Socket.receive(เดธเต‹เด•เตเด•เดฑเตเดฑเต[, เดฎเดพเดคเตƒเด•[, เด‰เดชเดธเตผเด—เตเด—เด‚]])
เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดฑเต€เดกเต เดชเดพเดฑเตเดฑเต‡เตบ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต. เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เตพ
Lua เดซเดฏเตฝ I/O เดซเต‹เตผเดฎเดพเดฑเตเดฑเตเด‚ เดŽเดฒเตเดฒเดพเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดชเตเดฐเด•เดŸเดจเดคเตเดคเดฟเดฒเต† เดตเตเดฏเดคเตเดฏเดพเดธเดตเตเด‚ เดชเดฟเดจเตเดคเตเดŸเดฐเตเด•
เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เตพ เดจเดฟเดธเตเดธเดพเดฐเดฎเดพเดฃเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดธเต‹เด•เตเด•เดฑเตเดฑเต (เด•เตเดฒเดพเดธเต_เดธเต‹เด•เตเด•เดฑเตเดฑเต) -- เด•เตƒเดคเตเดฐเดฟเดฎ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด†เดฃเต.

ยท เดชเดพเดฑเตเดฑเต‡เตบ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต|เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดŽเดจเตเดคเดพเดฃเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต†เดจเตเดจเต เดตเดฟเดตเดฐเดฟเด•เตเด•เตเด• (เดšเตเดตเดŸเต† เด•เดพเดฃเตเด•).

ยท เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดจเตฝเด•เดฟเดฏ เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เด†เดฏ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เด†เดตเดถเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑ เด…เดŸเด™เตเด™เดฟเดฏ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ nil.

เดชเดพเดฑเตเดฑเต‡เตบ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดตเดฏเดฟเดฒเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด†เด•เดพเด‚:

ยท

`*a`: เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต เดจเดฟเดจเตเดจเต The เดธเต‹เด•เตเด•เดฑเตเดฑเต เดตเดฐเตเดตเต‡เดพเดณเด‚ The เด•เดฃเด•เตเดทเตป is เด…เดŸเดšเตเดšเต. เด‡เดฒเตเดฒ
เดŽเตปเดกเต-เด“เดซเต-เดฒเตˆเตป เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดจเดŸเดคเตเดคเตเดจเตเดจเต;

ยท

`*l`: เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต a เดตเดฐ of เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดจเดฟเดจเตเดจเต The เดธเต‹เด•เตเด•เดฑเตเดฑเต. เดฆเดฟ เดตเดฐ is เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดšเตเดšเต by a
LF เดชเตเดฐเดคเต€เด•เด‚ (ASCII 10), เด“เดชเตโ€Œเดทเดฃเดฒเดพเดฏเดฟ เด’เดฐเต CR เดชเตเดฐเดคเต€เด•เดคเตเดคเดฟเดจเต เดฎเตเดฎเตเดชเดพเดฏเดฟ (ASCII 13).
เดจเตฝเด•เดฟเดฏ เดตเดฐเดฟเดฏเดฟเตฝ CR, LF เดชเตเดฐเดคเต€เด•เด™เตเด™เตพ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เดธเดคเตเดฏเดคเตเดคเดฟเตฝ,
เดŽเดฒเตเดฒเดพ CR เดชเตเดฐเดคเต€เด•เด™เตเด™เดณเตเด‚ เดชเดพเดฑเตเดฑเต‡เตบ เด…เดตเด—เดฃเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเดพเดฃเต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดชเดพเดฑเตเดฑเต‡เตบ.

ยท

เดธเด‚เด–เตเดฏ: เด•เดพเดฐเดฃเด™เตเด™เตพ The เดฐเต€เดคเดฟ เดฒเต‡เด•เตเด•เต เดตเดพเดฏเดฟเด•เตเด•เตเด• a เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เด…เด•เตเด•เด‚ of เดฌเตˆเดฑเตเดฑเตเด•เตพ เดจเดฟเดจเตเดจเต The
เดธเต‹เด•เตเด•เดฑเตเดฑเต. เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เต‡เดฃเตเดŸ เด’เดฐเต เด“เดชเตโ€Œเดทเดฃเตฝ เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เดพเดฃเต
เดฎเดŸเด™เตเด™เดฟเดตเดฐเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดฒเดญเดฟเดšเตเดš เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดกเดพเดฑเตเดฑ.

ยท เดถเต‚เดจเตเดฏเดฎเดพเดฃเต: เดชเดพเดฑเตเดฑเต‡เตบ เดถเต‚เดจเตเดฏเดฎเดพเดฏเดฟ เดตเดฟเดŸเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เด“เดชเตเดทเตป เด‡เดคเดพเดฃเต *l.

เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดˆ เดฐเต€เดคเดฟ เดธเตเดตเต€เด•เดฐเดฟเดšเตเดš เดชเดพเดฑเตเดฑเต‡เตบ เดจเตฝเด•เตเดจเตเดจเต. เดคเต†เดฑเตเดฑเต เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ, เดฆเดฟ
เดฎเต†เดคเตเดคเต‡เดกเต nil เดจเตฝเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เด’เดฐเต เดชเดฟเดถเด•เต เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เดธเตเดŸเตเดฐเดฟเด‚เด—เต 'เด…เดŸเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต'
เดธเด‚เดชเตเดฐเต‡เดทเดฃเด‚ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด•เดฃเด•เตเดทเตป เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเดšเตเดš เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ
เด“เดชเตเดชเดฑเต‡เดทเตป เดธเดฎเดฏเดคเตเดคเต เดธเดฎเดฏเดชเดฐเดฟเดงเดฟ เด‰เดฃเตเดŸเดพเดฏเดพเตฝ 'เด•เดพเดฒเดพเดตเดงเดฟ'. เด•เต‚เดŸเดพเดคเต†, เดชเดฟเดถเด•เดฟเดจเต เดถเต‡เดทเด‚
เดธเดจเตเดฆเต‡เดถเด‚, เดซเด‚เด—เตเดทเตป เดŸเตเดฐเดพเตปเดธเตเดฎเดฟเดทเดจเตเดฑเต† เดญเดพเด—เดฟเด• เดซเดฒเด‚ เดจเตฝเด•เตเดจเตเดจเต.

เดชเตเดฐเดงเดพเดจ เด•เตเดฑเดฟเดชเตเดชเต: เดˆ เดซเด‚เด—เตโ€Œเดทเตป เด—เตเดฐเตเดคเดฐเดฎเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเดฟ. เด‡เดคเต เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต
เดชเดพเดฑเตเดฑเต‡เดฃเตเด•เตพ (เดชเด•เตเดทเต‡ เดˆ เดธเดตเดฟเดถเต‡เดทเดค เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดคเดพเดฏเดฟ เดžเดพเตป เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ เด•เดฃเตเดŸเดฟเดŸเตเดŸเดฟเดฒเตเดฒ) เด‡เดชเตเดชเต‹เตพ เด…เดคเต เด‡เดฒเตเดฒ.
เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏ เดซเดฒเด™เตเด™เตพ เดชเต‹เดฒเต† เดคเดจเตเดจเต† เดญเดพเด—เดฟเด• เดซเดฒเด™เตเด™เตพ เดจเตฝเด•เดพเดฑเตเดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดˆ
เด…เดตเดธเดพเดจเดคเตเดคเต† เดซเต€เดšเตเดšเตผ เดŽเดฒเตเดฒเดพ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เดณเตเด‚ เดชเดฟเดถเด•เดฟเดจเดพเตฝ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เดฃเดฎเต†เดจเตเดจ เด†เดถเดฏเด‚ เดฒเด‚เด˜เดฟเดšเตเดšเต. เด…เด™เตเด™เดจเต†
เด…เดคเตเด‚ เดฎเดพเดฑเตเดฑเดฟ.

Socket.send(เดธเต‹เด•เตเด•เดฑเตเดฑเต, เดกเดพเดฑเตเดฑ[, เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•[, เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต]])
เด•เตเดฒเดฏเดจเตเดฑเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เดตเดดเดฟ เดกเดพเดฑเตเดฑ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดธเต‹เด•เตเด•เดฑเตเดฑเต (เด•เตเดฒเดพเดธเต_เดธเต‹เด•เตเด•เดฑเตเดฑเต) -- เด•เตƒเดคเตเดฐเดฟเดฎ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด†เดฃเต.

ยท เดกเดพเดฑเตเดฑ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ เดกเดพเดฑเตเดฑ.

ยท เดคเตเดŸเด•เตเด•เด‚ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เดฌเดซเดฑเดฟเดฒเต† เด†เดฐเด‚เดญ เดธเตเดฅเดพเดจเด‚
เด…เดฏเด•เตเด•เดฃเด‚.

ยท เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เดฌเดซเดฑเดฟเดฒเต† เด…เดตเดธเดพเดจ เดธเตเดฅเดพเดจเด‚
เด…เดฏเดšเตเดšเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดคเดพเดดเต† เดจเต‡เดพเด•เตเด•เตเด•.

เด…เดฏเดฏเตโ€Œเด•เตเด•เต‡เดฃเตเดŸ เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เต เด†เดฃเต เดกเดพเดฑเตเดฑ. เด, เดœเต† เดŽเดจเตเดจเต€ เด“เดชเตเดทเดฃเตฝ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เตพ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต
เด’เดฐเต เดธเดฌเตโ€Œเดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เดฟเดจเตเดฑเต† เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดชเตเดชเต เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต string.sub Lua เดซเด‚เด—เตโ€Œเดทเตป.

เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, [เด†เดฐเด‚เดญเด‚, เด…เดตเดธเดพเดจเด‚] เด‰เดณเตเดณเดฟเดฒเต† เด…เดตเดธเดพเดจ เดฌเตˆเดฑเตเดฑเดฟเดจเตเดฑเต† เดธเต‚เดšเดฟเด• เดˆ เดฐเต€เดคเดฟ เดจเตฝเด•เตเดจเตเดจเต
เด…เดคเต เด…เดฏเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เด†เดฐเด‚เดญเด‚ 1 เด†เดฃเต†เด™เตเด•เดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด‡เดคเต เดซเดฒเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เด†เดฃเต
เด…เดฏเดšเตเดš เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด†เด•เต† เดŽเดฃเตเดฃเด‚. เดชเดฟเดถเด•เต เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ, เดฐเต€เดคเดฟ เดชเต‚เดœเตเดฏเดฎเดพเดฏเดฟ เดจเตฝเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต
เด’เดฐเต เดชเดฟเดถเด•เต เดธเดจเตเดฆเต‡เดถเด‚, เดคเตเดŸเตผเดจเตเดจเต [เด†เดฐเด‚เดญเด‚, เด…เดตเดธเดพเดจเด‚] เด…เดคเดฟเดจเตเดณเตเดณเดฟเดฒเต† เด…เดตเดธเดพเดจ เดฌเตˆเดฑเตเดฑเดฟเดจเตเดฑเต† เดธเต‚เดšเดฟเด•
เด…เดฏเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เด…เดคเต เดชเดฟเดจเตเดคเตเดŸเดฐเตเดจเตเดจ เดฌเตˆเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเต€เดฃเตเดŸเตเด‚ เดถเตเดฐเดฎเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚. เดชเดฟเดถเด•เต
เดชเตเดฐเด•เตเดทเต‡เดชเดฃเดคเตเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด•เดฃเด•เตเดทเตป เด•เตเดฒเต‹เดธเต เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดธเดจเตเดฆเต‡เดถเด‚ 'เด•เตเดฒเต‹เดธเต' เดšเต†เดฏเตเดฏเดพเด‚
เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฟเดšเตเดšเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดˆ เดธเดฎเดฏเดคเตเดคเต เดธเดฎเดฏเดชเดฐเดฟเดงเดฟ เด‰เดฃเตเดŸเดพเดฏเดพเตฝ เดธเตเดŸเตเดฐเดฟเด‚เด—เต 'เดŸเตˆเด‚เด”เดŸเตเดŸเต'
เด“เดชเตเดชเดฑเต‡เดทเตป.

เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดฌเดซเตผ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เดšเต†เดฑเดฟเดฏ เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เตพเด•เตเด•เต, เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต
เด…เดต เดฒเตเดตเดพเดฏเดฟเตฝ ('..' เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฑเดฟเดจเตŠเดชเตเดชเด‚) เดชเด•เดฐเด‚ เด’เดฐเต เด•เต‹เดณเดฟเตฝ เดซเดฒเด‚ เด…เดฏเดฏเตเด•เตเด•เตเด•
เดฐเต€เดคเดฟ เดชเดฒ เดคเดตเดฃ เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเต.

Socket.setoption(เดธเต‹เด•เตเด•เดฑเตเดฑเต, เด“เดชเตเดทเตป[, เดฎเต‚เดฒเตเดฏเด‚])
เด…เดจเตเดฏเต‹เดœเตเดฏเดคเดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏเดคเดพเดฃเต, เดˆ เด•เดพเตพ เด’เดจเตเดจเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ.

Socket.settimeout(เดธเต‹เด•เตเด•เดฑเตเดฑเต, เดฎเต‚เดฒเตเดฏเด‚[, เดฎเต‹เดกเต])
เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดฎเดพเดฑเตเดฑเตเดจเตเดจเต. เดŽเดฒเตเดฒเดพ I/O เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เดคเดŸเดฏเตเดจเตเดจเต. เด…เดคเต
เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ, เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ, เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดฐเต€เดคเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดเดคเต เด•เต‹เดณเตเด‚ เด…เดจเดฟเดถเตเดšเดฟเดคเดฎเดพเดฏเดฟ เดคเดŸเดฏเตเด‚,
เด“เดชเตเดชเดฑเต‡เดทเตป เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเดจเตเดจเดคเตเดตเดฐเต†. เดธเต†เดฑเตเดฑเต เดŸเตˆเด‚เด”เดŸเตเดŸเต เดฐเต€เดคเดฟ เดคเตเด•เดฏเตเดŸเต† เดชเดฐเดฟเดงเดฟ เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต
I/O เดฐเต€เดคเดฟเด•เตพ เดคเดŸเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดธเดฎเดฏเด‚. เด’เดฐเต เดธเดฎเดฏเดชเดฐเดฟเดงเดฟ เด•เดดเดฟเดžเตเดžเดพเตฝ, เดฌเดพเดงเดฟเดšเตเดšเต
เด’เดฐเต เดชเดฟเดถเด•เต เด•เต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฐเต€เดคเดฟเด•เตพ เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸ เดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด…เดณเดตเต เดธเต†เด•เตเด•เดจเตเดฑเตเด•เตพเด•เตเด•เตเดณเตเดณเดฟเตฝ เดฎเต‚เดฒเตเดฏ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเดพเดฏเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตฝ เดฎเต‹เดกเตเด•เตพ เดฌเต‹เดŸเตเดŸเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ, เดจเดฟเดทเตเด•เตเดฐเดฟเดฏเดคเตเดตเดฎเดพเดฃเต เดเด•เต€เด•เดฐเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เดธเดฎเดฏเดชเดฐเดฟเดงเดฟ
เด‡เดจเตเดฑเต‡เดฃเตฝ เดฌเดซเตผ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‹ เดกเดพเดฑเตเดฑ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต‹ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเดฎเดฏเด‚.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดธเต‹เด•เตเด•เดฑเตเดฑเต (เด•เตเดฒเดพเดธเต_เดธเต‹เด•เตเด•เดฑเตเดฑเต) -- เด•เตƒเดคเตเดฐเดฟเดฎ เดธเต‹เด•เตเด•เดฑเตเดฑเต เด†เดฃเต.

ยท เดฎเต‚เดฒเตเดฏเด‚ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเตเดŸ เดฎเต‚เดฒเตเดฏเด‚.

เด•เตเดฒเดพเดธเต เดฎเดพเดชเตเดชเต()
HAProxy เดฎเดพเดชเตเดชเตเด•เดณเดฟเตฝ เด•เตเดฑเดšเตเดšเต เดคเดฟเดฐเดฏเดพเตป เดˆ เด•เตเดฒเดพเดธเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดค เดฎเดพเดชเตเดชเตเด•เตพ เด†เด•เดพเด‚
HAProxy เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต เดธเต‹เด•เตเด•เดฑเตเดฑเต เดตเดดเดฟ เดฑเตบเดŸเตˆเดฎเดฟเตฝ เดชเดฐเดฟเดทเตเด•เตเด•เดฐเดฟเดšเตเดšเต.

เดกเดฟเดซเต‹เตพเดŸเตเดŸเต = "เดฏเตเดŽเดธเตเดŽ"

-- เดฎเดพเดชเตเดชเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•
เดœเดฟเดฏเต‹ = Map.new("geo.map", Map.ip);

-- เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดฐเดพเดœเตเดฏเด‚ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเดจเตเดจ เดชเตเดคเดฟเดฏ เด•เดฃเตเดŸเต†เดคเตเดคเตฝ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•
core.register_fetches("country", function(txn)
เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดŽเดธเตเด†เตผเดธเดฟ;
เดฒเต‹เด•เตเด•เตฝ เดฒเต‹เด•เตเด•เต;

src = txn.f:fhdr ("x-forwarded-for");
เดŽเด™เตเด•เดฟเตฝ (src == nil) เด…เดชเตเดชเต‹เตพ
src = txn.f:src()
เดŽเด™เตเด•เดฟเตฝ (src == nil) เด…เดชเตเดชเต‹เตพ
เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดฎเดŸเด™เตเด™เตเด•;
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

-- เดฒเตเด•เตเด•เตเด…เดชเตเดชเต เดจเดŸเดคเตเดคเตเด•
เดฒเต‹เด•เตเด•เต = เดœเดฟเดฏเต‹: เดฒเตเด•เตเด•เตเด…เดชเตเดชเต (เดŽเดธเตเด†เตผเดธเดฟ);

เดŽเด™เตเด•เดฟเตฝ (loc == nil) เด…เดชเตเดชเต‹เตพ
เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดฎเดŸเด™เตเด™เตเด•;
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

เดฑเดฟเดŸเตเดŸเต‡เตบ เดฒเต‹เด•เตเด•เต;
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต);

Map.int
HAProxy configuration.txt เดซเดฏเตฝ เด•เดพเดฃเตเด•, "ACL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต"
เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป ans เด‰เดชเดตเดฟเดญเดพเด—เด‚ "ACL เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ".

Map.ip HAProxy configuration.txt เดซเดฏเตฝ เด•เดพเดฃเตเด•, "ACL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต"
เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป ans เด‰เดชเดตเดฟเดญเดพเด—เด‚ "ACL เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ".

Map.str
HAProxy configuration.txt เดซเดฏเตฝ เด•เดพเดฃเตเด•, "ACL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต"
เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป ans เด‰เดชเดตเดฟเดญเดพเด—เด‚ "ACL เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ".

เดฎเดพเดชเตเดชเต.เดฌเต†เด—เต
HAProxy configuration.txt เดซเดฏเตฝ เด•เดพเดฃเตเด•, "ACL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต"
เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป ans เด‰เดชเดตเดฟเดญเดพเด—เด‚ "ACL เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ".

Map.sub
HAProxy configuration.txt เดซเดฏเตฝ เด•เดพเดฃเตเด•, "ACL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต"
เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป ans เด‰เดชเดตเดฟเดญเดพเด—เด‚ "ACL เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ".

Map.dir
HAProxy configuration.txt เดซเดฏเตฝ เด•เดพเดฃเตเด•, "ACL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต"
เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป ans เด‰เดชเดตเดฟเดญเดพเด—เด‚ "ACL เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ".

Map.dom
HAProxy configuration.txt เดซเดฏเตฝ เด•เดพเดฃเตเด•, "ACL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต"
เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป ans เด‰เดชเดตเดฟเดญเดพเด—เด‚ "ACL เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ".

Map.end
HAProxy configuration.txt เดซเดฏเตฝ เด•เดพเดฃเตเด•, "ACL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต"
เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป ans เด‰เดชเดตเดฟเดญเดพเด—เด‚ "ACL เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ".

Map.reg
HAProxy configuration.txt เดซเดฏเตฝ เด•เดพเดฃเตเด•, "ACL-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดพเดฎเตเดชเดฟเดณเตเด•เตพ เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต"
เดˆ เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป ans เด‰เดชเดตเดฟเดญเดพเด—เด‚ "ACL เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ".

Map.new(เดซเดฏเตฝ, เดฐเต€เดคเดฟ)
เด’เดฐเต เดฎเดพเดชเตเดชเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดซเดฏเดฒเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดฎเดพเดชเตเดชเต เด…เดŸเด™เตเด™เตเดจเตเดจ เดซเดฏเดฒเดพเดฃเต‹.

ยท เดฐเต€เดคเดฟ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดฎเดพเดชเตเดชเต เดชเดพเดฑเตเดฑเต‡เตบ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตฝ เดฐเต€เดคเดฟเดฏเดพเดฃเต. เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเตเด•เตพ เด•เดพเดฃเตเด•
เดฎเดพเดชเตเดชเต เด•เตเดฒเดพเดธเดฟเดจเตเดฑเต†.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เด’เดฐเต เด•เตเดฒเดพเดธเต เดฎเดพเดชเตเดชเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต.

เด•เดพเดฃเตเด• เดฎเดพเดชเตเดชเต เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเตเด•เตพ.

Map.lookup(เดฎเดพเดชเตเดชเต, str)
เด’เดฐเต เดฎเดพเดชเตเดชเดฟเตฝ เด’เดฐเต เดฒเตเด•เตเด•เตเด…เดชเตเดชเต เดจเดŸเดคเตเดคเตเด•.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดญเต‚เดชเดŸเด‚ (เด•เตเดฒเดพเดธเต_เดฎเดพเดชเตเดชเต) -- เด•เตเดฒเดพเดธเต เดฎเดพเดชเตเดชเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด†เดฃเต.

ยท str (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด•เต€ เด†เดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด†เดฃเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดซเดฒเด‚ เด…เดŸเด™เตเด™เดฟเดฏ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตŠเดฐเตเดคเตเดคเดฎเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ.

Map.slookup(เดฎเดพเดชเตเดชเต, str)
เด’เดฐเต เดฎเดพเดชเตเดชเดฟเตฝ เด’เดฐเต เดฒเตเด•เตเด•เตเด…เดชเตเดชเต เดจเดŸเดคเตเดคเตเด•.

เดตเดพเดฆเด™เตเด™เตพ

ยท เดญเต‚เดชเดŸเด‚ (เด•เตเดฒเดพเดธเต_เดฎเดพเดชเตเดชเต) -- เด•เตเดฒเดพเดธเต เดฎเดพเดชเตเดชเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด†เดฃเต.

ยท str (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด•เต€ เด†เดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด†เดฃเต.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดซเดฒเด‚ เด…เดŸเด™เตเด™เดฟเดฏ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตŠเดฐเตเดคเตเดคเดฎเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดธเตเดŸเตเดฐเดฟเด‚เด—เต.

เด•เตเดฒเดพเดธเต AppletHTTP()
'http' เดฎเต‹เดกเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด†เดชเตเดฒเต†เดฑเตเดฑเตเด•เตพเด•เตเด•เตŠเดชเตเดชเดฎเดพเดฃเต เดˆ เด•เตเดฒเดพเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต. http เด†เดชเตเดฒเต†เดฑเตเดฑเดฟเดจเต เด•เดดเดฟเดฏเตเด‚
เดŽเดจเตเดจเดคเดฟเตฝ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเดฃเด‚ core.register_service() เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚. เด…เดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
HAProxy-เดฏเตเดŸเต† เดชเตเดฑเด•เดฟเดฒเตเดณเตเดณ เดธเต†เตผเดตเตผ เดชเต‹เดฒเต† เด’เดฐเต http เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด‡เดคเตŠเดฐเต เดนเดฒเต‹ เดตเต‡เตพเดกเต เดธเดพเดฎเตเดชเดฟเตพ เด•เต‹เดกเดพเดฃเต:

core.register_service("เดนเดฒเต‹-เดตเต‡เตพเดกเต", "http", เดซเด‚เด—เตโ€Œเดทเตป(เด†เดชเตโ€Œเดฒเต†เดฑเตเดฑเต)
เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ = "เดนเดฒเต‹ เดตเต‡เตพเดกเต!"
เด†เดชเตเดฒเต†เดฑเตเดฑเต:เดธเต†เดฑเตเดฑเต_เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต(200)
applet:add_header("content-length", string.len(response))
applet:add_header("content-type", "text/plain")
applet:start_response()
applet:เด…เดฏเดฏเตเด•เตเด•เตเด•(เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚)
เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต)

AppletHTTP.c

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
A เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด•เตเดฒเดพเดธเต

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเต‡เดดเตเดธเต เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

AppletHTTP.sc

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
A เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด•เตเดฒเดพเดธเต

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเต‡เดดเตเดธเต เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดตเดธเตเดคเตเดตเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ
เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต.

AppletHTTP.f

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
A เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต เด•เตเดฒเดพเดธเต

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด’เดฐเต Fetches เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด†เดชเตเดฒเต†เดฑเตเดฑเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เดธเตเดฅเดฒเดคเตเดคเดฟเดจเต เดธเดพเดงเตเดตเดพเดฏ เด’เดฐเต HAProxy เด•เต‹เตผ HTTP เด‡เดŸเดชเดพเดŸเดฟเดฒเต‡เด•เตเด•เต เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเดพเตฝ เด•เตเดฑเดšเตเดšเต เดธเดพเดฎเตเดชเดฟเตพ
HTTP เด†เดถเตเดฐเดฟเดค เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดฎเดพเดฏเดฟ (hdr, เดชเดพเดคเตเดคเต, ...) เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดŽเดซเด•เตเดฑเตเดฑเตเด•เตพ เดฒเดญเตเดฏเดฎเดฒเตเดฒ.

AppletHTTP.sf

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
A เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต เด•เตเดฒเดพเดธเต

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด’เดฐเต Fetches เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดตเดธเตเดคเตเดตเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ
เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต. เด†เดชเตโ€Œเดฒเต†เดฑเตเดฑเต เดŽเด•เตโ€Œเดธเดฟเด•เตเดฏเต‚เดทเตป เดธเตเดฅเดฒเดคเตเดคเดฟเดจเต a-เดฒเต‡เด•เตเด•เต เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เดธเดพเดงเตเดตเดพเดฏ HAProxy เด•เต‹เตผ HTTP เด‡เดŸเดชเดพเดŸเต, เด…เดคเดฟเดจเดพเตฝ HTTP-เดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดšเดฟเดฒ เดธเดพเดฎเตเดชเดฟเตพ เดซเต†เด•เตโ€Œเดคเตเด•เตพ
เด†เดถเตเดฐเดฟเดค เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ (hdr, เดชเดพเดคเตเดคเต, ...) เดฒเดญเตเดฏเดฎเดฒเตเดฒ.

AppletHTTP. เดฐเต€เดคเดฟ

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดธเตเดŸเตเดฐเดฟเด‚เด—เต

เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดฐเต€เดคเดฟ HTTP เดฐเต€เดคเดฟ เด…เดŸเด™เตเด™เดฟเดฏ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต.

AppletHTTP.version

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดธเตเดŸเตเดฐเดฟเด‚เด—เต

เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดชเดคเดฟเดชเตเดชเต, HTTP เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเดคเดฟเดชเตเดชเต เด…เดŸเด™เตเด™เดฟเดฏ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต.

AppletHTTP.path

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดธเตเดŸเตเดฐเดฟเด‚เด—เต

เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดชเดพเดคเตเดคเต HTTP เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเดพเดคเตเดคเต เด…เดŸเด™เตเด™เดฟเดฏ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต.

AppletHTTP.qs

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดธเตเดŸเตเดฐเดฟเด‚เด—เต

qs เดŽเดจเตเดจ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต HTTP เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด…เดŸเด™เตเด™เดฟเดฏ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต.

AppletHTTP.length

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ

เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดฆเตˆเตผเด˜เตเดฏเด‚ HTTP เดฌเต‹เดกเดฟ เดฒเต†เด™เตเดคเต เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ เดจเตฝเด•เตเดจเตเดจเต.

AppletHTTP.headers

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดถเตเดฐเต‡เดฃเดฟ

เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดนเต†เดกเดฑเตเด•เตพ HTTP เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏ เด’เดฐเต เด…เดฑเต‡ เดจเตฝเด•เตเดจเตเดจเต. เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต
เดชเต‡เดฐเตเด•เตพ เดŽเดชเตเดชเต‹เดดเตเด‚ เดšเต†เดฑเดฟเดฏ เด…เด•เตเดทเดฐเดคเตเดคเดฟเดฒเดพเดฃเต. เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดชเต‡เดฐเต เด•เต‚เดŸเตเดคเตฝ เดจเต‡เดฐเดฟเดŸเดพเด‚ เดชเต‹เดฒเต†
เด“เดฐเต‹ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเดฒเตเด‚ เด’เดฐเดฟเด•เตเด•เตฝ, เดฎเต‚เดฒเตเดฏเด‚ เด†เดฆเตเดฏ เดธเต‚เดšเดฟเด• เดฎเต‚เดฒเตเดฏเดฎเดพเดฏเดฟ 0 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเต‚เดšเดฟเด•เดฏเดฟเดฒเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดฑเต‡
เดˆ เดซเต‹เด‚ เด‰เดฃเตเดŸเต:

AppletHTTP.headers[' '][ ] = " "

AppletHTTP.headers["host"][0] = "www.test.com"
AppletHTTP.headers["เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•"][0] = "เด“เดกเดฟเดฏเต‹/เด…เดŸเดฟเดธเตเดฅเดพเดจ q=1"
AppletHTTP.headers["เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•"][1] = "เด“เดกเดฟเดฏเต‹/*, q=0.2"
AppletHTTP.headers["เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•"][2] = "*/*, q=0.1"

AppletHTTP.headers
เดŽเดฒเตเดฒเดพ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เดณเตเด‚ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เด…เดฑเต‡ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

AppletHTTP.set_status(applet, เด•เต‡เดพเดกเต)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ HTTP เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เด•เต‹เดกเต เดธเดœเตเดœเดฎเดพเด•เตเด•เตเดจเตเดจเต. เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฏ เด•เต‹เดกเต เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต
XNUM เดฎเตเดคเตฝ XNUM เดตเดฐเต†.

เดตเดพเดฆเด™เตเด™เตพ

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต (class_ApletHTTP) -- เดŽ AppletHTTP เด•เตเดฒเดพเดธเต

ยท เด•เต‡เดพเดกเต (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เด•เต‹เดกเต เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เดฟ.

AppletHTTP.add_header(applet, เดชเต‡เดฐเต, เดฎเต‚เดฒเตเดฏเด‚)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเตฝ เด’เดฐเต เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต. เดคเดจเดฟเดชเตเดชเด•เตผเดชเตเดชเดพเดฏ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ เดคเด•เตผเดจเตเดจเดฟเดŸเตเดŸเดฟเดฒเตเดฒ.
เดชเตเดฐเดคเตเดฏเต‡เด• เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เด‰เดณเตเดณเดŸเด•เตเด• เดฆเตˆเตผเด˜เตเดฏเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดฆเตˆเตผเด˜เตเดฏเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดŽเด™เตเด•เดฟเตฝ
เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒ, เดŽ เดŸเตเดฐเดพเตปเดธเตเดซเตผ-เดŽเตปเด•เต‹เดกเดฟเด‚เด—เต: เดšเด™เตเด•เต เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดซเด‚เด—เตเดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดŽเดดเตเดคเตเดคเตเด•เดณเตเด‚
AppletHTTP:send() เด’เดฐเต เดšเด™เตเด•เต เด†เด•เตเด•.

เดตเดพเดฆเด™เตเด™เตพ

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต (class_ApletHTTP) -- เดŽ AppletHTTP เด•เตเดฒเดพเดธเต

ยท เดชเต‡เดฐเต (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเดฟเดจเตเดฑเต† เดชเต‡เดฐเต

ยท เดฎเต‚เดฒเตเดฏเด‚ (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเด‚

AppletHTTP.start_response(applet)
HTTP เดŽเดžเตเดšเดฟเดจเต เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด…เดฏเดฏเตเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเต เดˆ เดซเด‚เด—เตเดทเตป เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต
เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ. เด‡เดคเต เดตเดฟเดณเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เตพ เดšเต‡เตผเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดฏเดฟเดฒเตเดฒ; เดžเด™เตเด™เตพ
เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ AppletHTTP:send() เดซเด‚เด—เตเดทเตป เดŽเด™เตเด•เดฟเตฝ AppletHTTP:start_response() เด…เดฒเตเดฒ
เดตเดฟเดณเดฟเดšเตเดšเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต (class_ApletHTTP) -- เดŽ AppletHTTP เด•เตเดฒเดพเดธเต

AppletHTTP.getline(applet)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป http เดฌเต‹เดกเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดฒเตˆเตป เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต. เดกเดพเดฑเตเดฑ เดŽเด™เตเด•เดฟเตฝ
เดฑเดฟเดŸเตเดŸเต‡เตบ เดŽเดจเตเดจเดคเดฟเตฝ เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ เดฒเดญเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑเดฏเต‡เด•เตเด•เดพเตพ เด’เดฐเต เด…เดจเตเดคเดฟเดฎ '\n' เด…เดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ
เดธเตเดŸเตเดฐเต€เด‚ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต (class_ApletHTTP) -- เดŽ AppletHTTP เด•เตเดฒเดพเดธเต

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เด’เดฐเต เดšเดฐเดŸเต. เดธเตเดŸเตเดฐเต€เดฎเดฟเดจเตเดฑเต† เด…เดฑเตเดฑเดคเตเดคเต เดŽเดคเตเดคเดฟเดฏเดพเตฝ เดšเดฐเดŸเต เดถเต‚เดจเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚.

AppletHTTP.receive(applet[, เดตเดฒเดฟเดชเตเดชเด‚])
เดŽเดšเตเดšเตเดŸเดฟเดŸเดฟเดชเดฟ เดฌเต‹เดกเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ, เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดฑเต€เดกเดฟเดจเต เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต เดตเดฒเตเดชเตเดชเด‚. เด†เดฃเต†เด™เตเด•เดฟเตฝ เดตเดฒเตเดชเตเดชเด‚ is
เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ, เดซเด‚เด—เตเดทเตป เดธเตเดŸเตเดฐเต€เดฎเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด‰เดณเตเดณเดŸเด•เตเด•เดตเตเด‚ เด…เดตเดธเดพเดจเด‚ เดตเดฐเต† เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเด™เตเด•เดฟเตฝ
The เดตเดฒเตเดชเตเดชเด‚ http เดฌเต‹เดกเดฟเดฏเต†เด•เตเด•เดพเตพ เดตเดฒเตเดคเดพเดฃเต, เด…เดคเต เดฒเดญเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เด…เดณเดตเต เดจเตฝเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต (class_ApletHTTP) -- เดŽ AppletHTTP เด•เตเดฒเดพเดธเต

ยท เดตเดฒเตเดชเตเดชเด‚ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เด†เดตเดถเตเดฏเดฎเดพเดฏ เดตเดพเดฏเดจ เดตเดฒเตเดชเตเดชเด‚.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดŽเดฒเตเดฒเดพเดฏเตโ€Œเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•, เด•เดฃเด•เตเดทเตป เด…เดŸเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เต เดถเต‚เดจเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚.

AppletHTTP.send(applet, เดธเดจเตเดฆเต‡เดถเด‚)
เดธเดจเตเดฆเต‡เดถเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเด• msg http เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฌเต‹เดกเดฟเดฏเดฟเตฝ.

เดตเดพเดฆเด™เตเด™เตพ

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต (class_ApletHTTP) -- เดŽ AppletHTTP เด•เตเดฒเดพเดธเต

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด…เดฏเด•เตเด•เต‡เดฃเตเดŸ เดธเดจเตเดฆเต‡เดถเด‚.

เด•เตเดฒเดพเดธเต AppletTCP()
'tcp' เดฎเต‹เดกเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด†เดชเตโ€Œเดฒเต†เดฑเตเดฑเตเด•เตพเด•เตเด•เตŠเดชเตเดชเดฎเดพเดฃเต เดˆ เด•เตเดฒเดพเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต. tcp เด†เดชเตโ€Œเดฒเต†เดฑเตเดฑเต เด†เด•เดพเด‚
เตฝ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดคเต core.register_service() เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚. เด…เดต เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต
HAProxy-เดฏเตเดŸเต† เดชเตเดฑเด•เดฟเดฒเตเดณเตเดณ เดธเต†เตผเดตเตผ เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด’เดฐเต tcp เดธเตเดŸเตเดฐเต€เด‚.

AppletTCP.c

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
A เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด•เตเดฒเดพเดธเต

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเต‡เดดเตเดธเต เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

AppletTCP.sc

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
A เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด•เตเดฒเดพเดธเต

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด•เตบเดตเต†เตผเดŸเตเดŸเต‡เดดเตเดธเต เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดตเดธเตเดคเตเดตเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ
เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต.

AppletTCP.f

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
A เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต เด•เตเดฒเดพเดธเต

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด’เดฐเต Fetches เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

AppletTCP.sf

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
A เดฒเดญเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต เด•เตเดฒเดพเดธเต

เดˆ เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดฟเตฝ เด’เดฐเต Fetches เด•เตเดฒเดพเดธเต เด’เดฌเตเดœเด•เตเดฑเตเดฑเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

AppletTCP.getline(applet)
เดˆ เดซเด‚เด—เตโ€Œเดทเตป เดธเตเดŸเตเดฐเต€เดฎเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดฒเตˆเตป เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดจเตฝเด•เตเดจเตเดจเต. เดกเดพเดฑเตเดฑ เดŽเด™เตเด•เดฟเตฝ
เดฑเดฟเดŸเตเดŸเต‡เตบ เดŽเดจเตเดจเดคเดฟเตฝ เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ เดฒเดญเตเดฏเดฎเดพเดฏ เดกเดพเดฑเตเดฑเดฏเต‡เด•เตเด•เดพเตพ เด’เดฐเต เด…เดจเตเดคเดฟเดฎ '\n' เด…เดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ
เดธเตเดŸเตเดฐเต€เด‚ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต (class_AppletTCP) -- เดŽ AppletTCP เด•เตเดฒเดพเดธเต

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เด’เดฐเต เดšเดฐเดŸเต. เดธเตเดŸเตเดฐเต€เดฎเดฟเดจเตเดฑเต† เด…เดฑเตเดฑเดคเตเดคเต เดŽเดคเตเดคเดฟเดฏเดพเตฝ เดšเดฐเดŸเต เดถเต‚เดจเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚.

AppletTCP.receive(applet[, เดตเดฒเดฟเดชเตเดชเด‚])
เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดฑเต€เดกเดฟเดจเต เด…เดจเตเดธเดฐเดฟเดšเตเดšเต TCP เดธเตเดŸเตเดฐเต€เดฎเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต เดตเดฒเตเดชเตเดชเด‚. เด†เดฃเต†เด™เตเด•เดฟเตฝ เดตเดฒเตเดชเตเดชเด‚
เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ, เดซเด‚เด—เตเดทเตป เดธเตเดŸเตเดฐเต€เดฎเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด‰เดณเตเดณเดŸเด•เตเด•เดตเตเด‚ เด…เดตเดธเดพเดจเด‚ เดตเดฐเต† เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดพเดฆเด™เตเด™เตพ

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต (class_AppletTCP) -- เดŽ AppletTCP เด•เตเดฒเดพเดธเต

ยท เดตเดฒเตเดชเตเดชเด‚ (เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏ) -- เด†เดตเดถเตเดฏเดฎเดพเดฏ เดตเดพเดฏเดจ เดตเดฒเตเดชเตเดชเด‚.

เดฑเดฟเดŸเตเดŸเต‡เตบเดธเต
เดŽเดฒเตเดฒเดพเดฏเตโ€Œเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•, เด•เดฃเด•เตเดทเตป เด…เดŸเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เต เดถเต‚เดจเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚.

AppletTCP.send(appletmsg)
เดธเตเดŸเตเดฐเต€เดฎเดฟเตฝ เดธเดจเตเดฆเต‡เดถเด‚ เด…เดฏเดฏเตเด•เตเด•เตเด•.

เดตเดพเดฆเด™เตเด™เตพ

ยท เด†เดชเตเดฒเต†เดฑเตเดฑเต (class_AppletTCP) -- เดŽ AppletTCP เด•เตเดฒเดพเดธเต

ยท msg (เดธเตเดŸเตเดฐเดฟเด‚เด—เต) -- เด…เดฏเด•เตเด•เต‡เดฃเตเดŸ เดธเดจเตเดฆเต‡เดถเด‚.

เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฏ เดงเดพเดฐเดพเดณเด‚ เดฒเตเดตเดพ เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เด‡เดตเดฟเดŸเต† เด•เดพเดฃเดพเด‚:

ยท https://lua-toolbox.com/

เดฑเต†เดกเดฟเดธเต เด†เด•เตเดธเดธเต:

ยท https://github.com/nrk/redis-lua

HAProxy เด‰เดณเตเดณ Redis เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฃเดฟเดคเต. เด“เดฐเต‹ เด•เต‹เดณเตเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•
เดธเต‹เด•เตเด•เดฑเตเดฑเต เด•เดฃเด•เตเดทเตป เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เดˆ เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเตเดŸเต† เดเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเด‚ เด’เดฐเต เดชเดฟเดถเด•เต เดธเด‚เดญเดตเดฟเด•เตเด•เดพเด‚.

-- เดฑเต†เดกเดฟเดธเต เดฒเตˆเดฌเตเดฐเดฑเดฟ เดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
เดฒเต‹เด•เตเด•เตฝ เดฑเต†เดกเดฟเดธเต = เด†เดตเดถเตเดฏเดฎเดพเดฃเต ("เดฑเต†เดกเดฟเดธเต");

เดซเด‚เด—เตโ€Œเดทเตป do_something(txn)

-- เดชเตเดคเดฟเดฏ tcp เดธเต‹เด•เตเด•เดฑเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด•
เดฒเต‹เด•เตเด•เตฝ tcp = core.tcp();
tcp:เด•เตเดฐเดฎเต€เด•เดฐเดฃเด‚(1);
tcp:connect("127.0.0.1", 6379);

-- เดˆ เดชเตเดคเดฟเดฏ เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ redis เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•
เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เด•เตเดฒเดฏเดจเตเดฑเต = redis.connect({socket=tcp});
เด•เตเดฒเดฏเดจเตเดฑเต:เดชเดฟเด‚เด—เต();

เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต

OpenSSL:

ยท http://mkottman.github.io/luacrypto/index.html

ยท https://github.com/brunoos/luasec/wiki

onworks.net เดธเต‡เดตเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต haproxy-lua เด“เตบเดฒเตˆเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•


เดธเต—เดœเดจเตเดฏ เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เดตเตผเด•เตเด•เตเดธเตเดฑเตเดฑเต‡เดทเดจเตเด•เดณเตเด‚

Windows & Linux เด†เดชเตเดชเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•

  • 1
    เดธเดฌเตเดฌเดฟเด•เตเดธเต
    เดธเดฌเตเดฌเดฟเด•เตเดธเต
    Zabbix เด’เดฐเต เดŽเดจเตเดฑเตผเดชเตเดฐเตˆเดธเต เด•เตเดฒเดพเดธเต เด“เดชเตเดชเตบ เด†เดฃเต
    เด‰เดฑเดตเดฟเดŸเด‚ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดค เดจเดฟเดฐเต€เด•เตเดทเดฃ เดชเดฐเดฟเดนเดพเดฐเด‚
    เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ เดŸเตเดฐเดพเด•เตเด•เตเดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
    เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดจเตเดฑเต† เดชเตเดฐเด•เดŸเดจเดตเตเด‚ เดฒเดญเตเดฏเดคเดฏเตเด‚
    เดธเต†เตผเดตเดฑเตเด•เตพ, เด‰เดชเด•เดฐเดฃเด‚...
    Zabbix เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 2
    เด•เต†เดกเดฟเดซเต 3
    เด•เต†เดกเดฟเดซเต 3
    เดˆ เดถเต‡เด–เดฐเด‚ เด‡เดชเตเดชเต‹เตพ เดชเดฐเดฟเดชเดพเดฒเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ
    เด•เต‚เดŸเดพเดคเต† เด†เตผเด•เตเด•เตˆเดตเตฝ เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดธเต‚เด•เตเดทเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด•เดพเดฃเตเด•
    https://invent.kde.org/sdk/kdiff3 for
    เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เด•เต‹เดกเต เด•เต‚เดŸเดพเดคเต†
    https://download.kde.o...
    KDiff3 เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 3
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX เด’เดฐเต GUI เด†เดฃเต
    เดตเดจเดฟเด™เตเด•เต‹เด•เตเด•เต‹เดฏเตเดŸเต† เดฏเตเดŽเดธเตเดฌเดฟ เดฒเต‹เดกเตผ, เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ
    libwiigui. เด‡เดคเต เดฒเดฟเดธเตเดฑเตเดฑเดฟเด‚เด—เต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต เด’เดชเตเดชเด‚
    Wii เด—เต†เดฏเดฟเดฎเตเด•เตพ, เด—เต†เดฏเดฟเด‚เด•เตเดฏเต‚เดฌเต เด—เต†เดฏเดฟเดฎเตเด•เตพ เดŽเดจเตเดจเดฟเดต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต
    Wii, WiiU เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ homebrew...
    USBLoaderGX เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 4
    เดซเดฏเตผเดฌเต‡เตผเดกเต
    เดซเดฏเตผเดฌเต‡เตผเดกเต
    Firebird RDBMS ANSI SQL เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต
    & Linux, Windows &-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต
    เดจเดฟเดฐเดตเดงเดฟ Unix เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เดฎเตเด•เตพ. เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ
    เดฎเดฟเด•เดšเตเดš เดธเดฎเดจเตเดตเดฏเดตเตเด‚ เดชเตเดฐเด•เดŸเดจเดตเตเด‚
    & เดถเด•เตเดคเดฟ...
    Firebird เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 5
    KompoZer
    KompoZer
    KompoZer เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต wysiwyg HTML เดŽเดกเดฟเดฑเตเดฑเดฑเดพเดฃเต
    เดฎเต‹เดธเดฟเดฒเตเดฒ เด•เดฎเตเดชเต‹เดธเตผ เด•เต‹เดกเตเดฌเต‡เดธเต. เดชเต‹เดฒเต†
    เดŽเตปเดตเตเดตเดฟเดจเตเดฑเต† เดตเดฟเด•เดธเดจเด‚ เดจเดฟเตผเดคเตเดคเดฟ
    2005-เตฝ, KompoZer เดจเดฟเดฐเดตเดงเดฟ เดฌเด—เตเด•เตพ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต
    เด’เดฐเต f เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต...
    KompoZer เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • 6
    เดธเต—เดœเดจเตเดฏ เดฎเดพเด‚เด— เดกเต—เตบเดฒเต‹เดกเตผ
    เดธเต—เดœเดจเตเดฏ เดฎเดพเด‚เด— เดกเต—เตบเดฒเต‹เดกเตผ
    เดธเตเดตเดคเดจเตเดคเตเดฐ เดฎเดพเด‚เด— เดกเต—เตบเดฒเต‹เดกเตผ (FMD) เด†เดฃเต
    เด“เดชเตเดชเตบ เดธเต‹เดดเตเดธเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
    เด’เดฌเตเดœเด•เตเดฑเตเดฑเต-เดชเดพเดธเตเด•เตฝ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚
    เดตเดฟเดตเดฟเดง เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเด‚เด— เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
    เด‡เดคเตŠเดฐเต เด•เดฃเตเดฃเดพเดŸเดฟเดฏเดพเดฃเต...
    เดธเต—เดœเดจเตเดฏ เดฎเดพเด‚เด— เดกเต—เตบเดฒเต‹เดกเตผ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเด•
  • เด•เต‚เดŸเตเดคเตฝ "

เดฒเดฟเดจเด•เตเดธเต เด•เดฎเดพเตปเดกเตเด•เตพ

Ad