เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเดฟเดจเตเดฑเต†เดฏเตเด‚ เดธเด‚เด˜เดŸเดจเดพ เดธเดฎเต€เดชเดจเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดตเดฟเดฎเตผเดถเดจเด‚. เดญเดพเด—เด‚ 1, เดธเดพเด™เตเด•เต‡เดคเดฟเด•เด‚: เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เดŽเดดเตเดคเตเดจเตเดจ เด…เดจเตเดญเดตเด‚ - TL, MT

เด…เดŸเตเดคเตเดคเดฟเดŸเต†, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดŽเดคเตเดฐ เดฎเดฟเด•เดšเตเดšเดคเดพเดฃเต, เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดธเด‚เดตเดฟเดงเดพเดจเด™เตเด™เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดฆเตเดฑเต‹เดตเต เดธเดนเต‹เดฆเดฐเดจเตเดฎเดพเตผ เดŽเดคเตเดฐ เดฎเดฟเดŸเตเด•เตเด•เดฐเตเด‚ เด…เดจเตเดญเดตเดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณเดตเดฐเตเดฎเดพเดฃเต เดคเตเดŸเด™เตเด™เดฟเดฏ เดชเต‹เดธเตเดฑเตเดฑเตเด•เตพ เดนเดฌเตเดฐเต†เดฏเดฟเตฝ เด•เต‚เดŸเตเดคเดฒเดพเดฏเดฟ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเดพเตป เดคเตเดŸเด™เตเด™เดฟ. เด…เดคเต‡ เดธเดฎเดฏเด‚, เดตเดณเดฐเต† เด•เตเดฑเดšเตเดšเต เด†เดณเตเด•เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เดธเดพเด™เตเด•เต‡เดคเดฟเด• เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเตฝ เดฎเตเดดเตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณเต‚ - เดชเดฐเดฎเดพเดตเดงเดฟ, เด…เดตเตผ JSON เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดตเดณเดฐเต† เดฒเดณเดฟเดคเดฎเดพเดฏ (เดŽเด‚.เดŸเดฟ.เดชเตเดฐเต‹เดŸเตเดŸเต‹เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเดฟเด•เดšเตเดšเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ) เดฌเต‹เดŸเตเดŸเต API เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด• เดตเดฟเดถเตเดตเดพเดธเดคเตเดคเดฟเตฝ เดธเดจเตเดฆเต‡เดถเดตเดพเดนเด•เดจเต† เดšเตเดฑเตเดฑเดฟเดชเตเดชเดฑเตเดฑเดฟเดฏเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดชเตเดฐเดถเด‚เดธเด•เดณเตเด‚ PR-เด‰เด‚. เดเด•เดฆเต‡เดถเด‚ เด’เดจเตเดจเดฐ เดตเตผเดทเด‚ เดฎเตเดฎเตเดชเต, เดŽเดทเต†เดฒเต‹เตบ เดŽเตปโ€Œเดœเดฟโ€Œเด’เดฏเดฟเดฒเต† เดŽเดจเตเดฑเต† เดธเดนเดชเตเดฐเดตเตผเดคเตเดคเด•เตป เดตเดพเดธเดฟเดฒเดฟ (เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดกเตเดฐเดพเดซเตเดฑเตเดฑเดฟเดจเตŠเดชเตเดชเด‚ เดนเดฌเตเดฐเต†เดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด…เดฆเตเดฆเต‡เดนเดคเตเดคเดฟเดจเตเดฑเต† เด…เด•เตเด•เต—เดฃเตเดŸเต เดฎเดพเดฏเตโ€Œเดšเตเดšเต) เดชเต‡เดณเดฟเตฝ เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เดธเตเดตเดจเตเดคเด‚ เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เด•เตเดฒเดฏเดจเตเดฑเต เดŽเดดเตเดคเดพเตป เดคเตเดŸเด™เตเด™เดฟ, เดชเดฟเดจเตเดจเต€เดŸเต เดˆ เดตเดฐเดฟเด•เดณเตเดŸเต† เดฐเดšเดฏเดฟเดคเดพเดตเต เดšเต‡เตผเดจเตเดจเต. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดชเต‡เตผเตพ, เดšเดฟเดฒเตผ เด‰เดŸเตป เดšเต‹เดฆเดฟเด•เตเด•เตเด‚? เด•เดพเดฐเดฃเด‚ เดฎเดฑเตเดฑเต เดญเดพเดทเด•เดณเดฟเตฝ เด‡เดคเตเดคเดฐเด‚ เดชเตเดฐเต‹เดœเด•เตเดŸเตเด•เตพ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต.เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เด‡เดคเดฒเตเดฒ เดตเดฟเดทเดฏเด‚, เด‡เดฒเตเดฒเดพเดคเตเดค เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดญเดพเดทเดฏเตเดฃเตเดŸเดพเด•เดพเด‚. เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เดฒเตˆเดฌเตเดฐเดฑเดฟ, เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต เดฐเดšเดฏเดฟเดคเดพเดตเต เดŽเดฒเตเดฒเดพ เดตเดดเดฟเด•เตเด•เตเด‚ เดชเต‹เด•เดฃเด‚ เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเต‹เด—เตเดฐเดซเดฟ เดตเดฟเดถเตเดตเดพเดธเดคเตเดคเดฟเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เตเด•. เดธเตเดฐเด•เตเดท เดฒเด•เตเดทเตเดฏเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด’เดฐเต เด‰เตฝเดชเตเดชเดจเตเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเตผเดฎเตเดฎเดพเดคเดพเดตเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เดพเดจเตเด‚ เด…เดจเตเดงเดฎเดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเดฟเดฒเตเดฒ (เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดคเต เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเดจเตเดณเตเดณ เดตเดฟเดทเดฏเดฎเดพเดฃเต). เด‡เดชเตเดชเต‹เตพ, เดฒเตˆเดฌเตเดฐเดฑเดฟ "เดถเดฐเดพเดถเดฐเดฟ" เดคเดฒเดคเตเดคเดฟเตฝ เดจเดจเตเดจเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต (เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ API เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดจเดŸเดคเตเดคเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต).

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดˆ เดชเต‹เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดชเดฐเดฎเตเดชเดฐเดฏเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต‹เด—เตเดฐเดซเดฟเดฏเต‹ เด—เดฃเดฟเดคเดฎเต‹ เด‰เดฃเตเดŸเดพเด•เดฟเดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเต เดจเดฟเดฐเดตเดงเดฟ เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเตเด‚ เดตเดพเดธเตเดคเตเดตเดฟเดฆเตเดฏเดพ เดŠเดจเตเดจเตเดตเดŸเดฟเด•เดณเตเด‚ เด‰เดฃเตเดŸเดพเด•เตเด‚ (เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เดŽเดดเตเดคเดพเดคเตเดคเดตเตผเด•เตเด•เตเด‚, เดŽเดจเตเดจเดพเตฝ เดเดคเต เดญเดพเดทเดฏเดฟเดฒเตเด‚ เดฒเตˆเดฌเตเดฐเดฑเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดตเตผเด•เตเด•เตเด‚ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต). เด…เดคเดฟเดจเดพเตฝ, เด•เตเดฒเดฏเดจเตเดฑเต เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•เดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต เดชเตเดฐเดงเดพเดจ เดฒเด•เตเดทเตเดฏเด‚ เด”เดฆเตเดฏเต‹เด—เดฟเด• เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเตเดฐเด•เดพเดฐเด‚. เด…เดคเดพเดฏเดคเต, เด”เดฆเตเดฏเต‹เด—เดฟเด• เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเตเดŸเต† เดธเต‹เดดเตเดธเต เด•เต‹เดกเต เด…เดŸเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดพเด‚ (เดตเต€เดฃเตเดŸเตเด‚, เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เดคเตเดคเต เด‡เดคเต เดถเดฐเดฟเดฏเดพเดฃเต เดŽเดจเตเดจ เดตเดธเตเดคเตเดคเดฏเตเดŸเต† เดตเดฟเดทเดฏเด‚ เดžเด™เตเด™เตพ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเตเด‚. เด…เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต เด…เดคเดฟเดจเดพเตฝ), เดชเด•เตเดทเต‡, เดชเดดเดฏ เด•เดพเดฒเดคเตเดคเต†เดชเตเดชเต‹เดฒเต†, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, RFC เดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด‰เดฃเตเดŸเต - เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เต‡เดทเตป เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเด‚ เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เดŽเดดเตเดคเดพเตป เด•เดดเดฟเดฏเตเดฎเต‹, เดธเต‹เดดเตเดธเต เด•เต‹เดกเต "เดจเต‹เด•เตเด•เดพเดคเต†", เด…เดคเต เด”เดฆเตเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดŸเตเดŸเต† (เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต, เดฎเตŠเดฌเตˆเตฝ), เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดจเต—เดฆเตเดฏเต‹เด—เดฟเด• เดŸเต†เดฒเดฟเดคเตเดคเต‹เตบ?

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

เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป... เด…เดคเต เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต, เด…เดฒเตเดฒเต‡? เด‡เดคเต เดธเดคเตเดฏเดฎเดพเดฃเต‡เดพ?..

เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเดพเดฏเตเดณเตเดณ เด•เตเดฑเดฟเดชเตเดชเตเด•เดณเตเดŸเต† เดถเด•เดฒเด™เตเด™เตพ เด•เดดเดฟเดžเตเดž เดตเต‡เดจเตฝเด•เตเด•เดพเดฒเดคเตเดคเต เดถเต‡เด–เดฐเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฟ. เด”เดฆเตเดฏเต‹เด—เดฟเด• เดตเต†เดฌเตเดธเตˆเดฑเตเดฑเดฟเตฝ เดˆ เดธเดฎเดฏเด‚ เดฎเตเดดเตเดตเตป https://core.telegram.org เดฐเต‡เด– 23 เดฒเต†เดฏเตผ เดชเต‹เดฒเต†เดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต. 2014-เตฝ เดŽเดตเดฟเดŸเต†เดฏเต‹ เด•เตเดŸเตเด™เตเด™เดฟ (เด“เตผเด•เตเด•เตเด•, เด…เดจเตเดจเต เดšเดพเดจเดฒเตเด•เตพ เดชเต‹เดฒเตเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒเต‡?). เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดธเดฟเดฆเตเดงเดพเดจเตเดคเดคเตเดคเดฟเตฝ, 2014-เตฝ เด…เด•เตเด•เดพเดฒเดคเตเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดคเดฏเตเดณเตเดณ เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เด‡เดคเต เดžเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดŽเดจเตเดจเดพเตฝ เดˆ เด…เดตเดธเตเดฅเดฏเดฟเตฝ เดชเต‹เดฒเตเด‚, เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป, เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เด…เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดฐเดฃเตเดŸเดพเดฎเดคเดพเดฏเดฟ, เดธเตเดฅเดฒเด™เตเด™เดณเดฟเตฝ เด…เดคเต เดธเตเดตเดฏเด‚ เดตเดฟเดฐเตเดฆเตเดงเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต. เด’เดฐเต เดฎเดพเดธเด‚ เดฎเตเดฎเตเดชเต, 2019 เดธเต†เดชเตเดฑเตเดฑเด‚เดฌเดฑเดฟเตฝ, เด…เดคเต เด†เด•เดธเตเดฎเดฟเด•เดฎเดพเดฏเดฟ เดธเตˆเดฑเตเดฑเดฟเดฒเต† เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเตเดฑเต† เด’เดฐเต เดตเดฒเดฟเดฏ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เด‰เดฃเตเดŸเต†เดจเตเดจเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ, เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดธเดฎเต€เดชเด•เดพเดฒ เดฒเต†เดฏเตผ 105 เดจเดพเดฏเดฟ, เด‡เดชเตเดชเต‹เตพ เดŽเดฒเตเดฒเดพเด‚ เดตเต€เดฃเตเดŸเตเด‚ เดตเดพเดฏเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดชเดฒ เดฒเต‡เด–เดจเด™เตเด™เดณเตเด‚ เดชเดฐเดฟเดทเตเด•เดฐเดฟเดšเตเดšเต, เดŽเดจเตเดจเดพเตฝ เดชเดฒเดคเตเด‚ เดฎเดพเดฑเตเดฑเดฎเดฟเดฒเตเดฒเดพเดคเต† เดคเตเดŸเตผเดจเตเดจเต. เด…เดคเดฟเดจเดพเตฝ, เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดคเดพเดดเต†เดฏเตเดณเตเดณ เดตเดฟเดฎเตผเดถเดจเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด‡เดตเดฏเดฟเตฝ เดšเดฟเดฒเดคเต เด‡เดจเดฟ เดชเตเดฐเดธเด•เตเดคเดฎเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดšเดฟเดฒเดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดถเดฐเดฟเดฏเดพเดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด“เตผเด•เตเด•เดฃเด‚. เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เด†เดงเตเดจเดฟเด• เดฒเต‹เด•เดคเตเดคเต 5 เดตเตผเดทเด‚ เดตเดณเดฐเต†เด•เตเด•เดพเดฒเด‚ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เดตเดณเดฐเต† เดงเดพเดฐเดพเดณเด‚. เด…เดจเตเดจเตเดฎเตเดคเตฝ (เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ เด‰เดชเต‡เด•เตเดทเดฟเดšเตเดšเดคเตเด‚ เดชเตเดจเดฐเตเดœเตเดœเต€เดตเดฟเดชเตเดชเดฟเดšเตเดšเดคเตเดฎเดพเดฏ เดœเดฟเดฏเต‹เดšเดพเดฑเตเดฑเต เดธเตˆเดฑเตเดฑเตเด•เตพ เดจเดฟเด™เตเด™เตพ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ), เดธเตเด•เต€เดฎเดฟเดฒเต† API เดฐเต€เดคเดฟเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดจเต‚เดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เดฐเตเดจเตเดจเต‚เดฑเตเดฑเดฎเตเดชเดคเดฟเดฒเต‡เดฑเต†เดฏเดพเดฏเดฟ เดตเตผเดฆเตเดงเดฟเดšเตเดšเต!

เด’เดฐเต เดฏเตเดต เดŽเดดเตเดคเตเดคเตเด•เดพเดฐเดจเดพเดฏเดฟ เดŽเดตเดฟเดŸเต† เดคเตเดŸเด™เตเด™เดฃเด‚?

เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เดŽเดดเตเดคเตเด•เดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดชเตเดฐเดถเตเดจเดฎเดฒเตเดฒ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เดฒเตˆเดฌเตเดฐเดฑเดฟเด•เตพ เดชเต‹เดฒเต† เดชเตˆเดคเตเดคเดฃเดฟเดจเตเดณเตเดณ เดŸเต†เดฒเดฟเดคเตเดคเตบ เด…เดฅเดตเดพ PHP-เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เดฎเดกเตโ€Œเดฒเตˆเตป, เดเดคเต เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเดฒเตเด‚, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด†เดฆเตเดฏเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดชเต‡เด•เตเดท เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเด• - เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เดจเต‡เดŸเตเด• api_id ะธ api_hash (VKontakte API-เดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเดตเตผเด•เตเด•เต เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด‚) เด‡เดคเดฟเดฒเต‚เดŸเต† เดธเต†เตผเดตเตผ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตเด‚. เดˆ เดšเต†เดฏเตเดฏเดฃเด‚ เดจเดฟเดฏเดฎเดชเดฐเดฎเดพเดฏ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ เด‡เดคเต เดšเต†เดฏเตเดฏเตเด•, เดชเด•เตเดทเต‡ เดฒเตˆเดฌเตเดฐเดฑเดฟ เดฐเดšเดฏเดฟเดคเดพเด•เตเด•เตพเด•เตเด•เต เด‡เดคเต เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเตฝ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดคเดคเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด•เต‚เดŸเตเดคเตฝ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเด‚. เดŸเต†เดธเตเดฑเตเดฑเต เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดธเด‚เดคเตƒเดชเตเดคเดฐเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚, เด…เดต เดตเดณเดฐเต† เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚ - เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚ เดŽเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค เด’เดจเตเดจเต เดฎเดพเดคเตเดฐเด‚ เด†เดชเตเดชเต, เด…เดคเดฟเดจเดพเตฝ เด…เดคเดฟเตฝ เดคเดฒเด•เตเดจเดฟเดšเตเดšเต เดชเต‹เด•เดฐเตเดคเต.

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

เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เดŽเดดเตเดคเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดฒเดญเดฟเดšเตเดš เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดตเดณเดฐเต† เด…เด•เดฒเต†เดฏเดพเดฃเต. เดŽเด™เตเด•เดฟเดฒเตเด‚ https://core.telegram.org/ เด†เดฆเตเดฏเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เด…เดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต MTPproto เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ - เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เดตเดฟเดถเตเดตเดธเดฟเดšเตเดšเดฟเดฐเตเดจเตเดจเต†เด™เตเด•เดฟเตฝ OSI เดฎเต‹เดกเตฝ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดฒเต‡เด”เดŸเตเดŸเต เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเดฟเดจเตเดฑเต† เดชเตŠเดคเตเดตเดพเดฏ เดตเดฟเดตเดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เดชเต‡เดœเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเด‚, เด…เดคเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดตเตเดฏเตผเดคเตเดฅเดฎเดพเดฃเต.

เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, MTProto-เดจเต เดฎเตเดฎเตเดชเตเด‚ เดถเต‡เดทเดตเตเด‚, เด’เดฐเต‡เดธเดฎเดฏเด‚ เดจเดฟเดฐเดตเดงเดฟ เดคเดฒเด™เตเด™เดณเดฟเตฝ (OS เด•เต‡เตผเดฃเดฒเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดตเดฟเดฆเต‡เดถ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตผเดฎเดพเตผ เดชเดฑเดฏเตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดฒเต†เดฏเตผ เดฒเด‚เด˜เดจเด‚), เดตเดฒเตเดคเตเด‚ เดตเต‡เดฆเดจเดพเดœเดจเด•เดตเตเด‚ เดญเดฏเด™เตเด•เดฐเดตเตเดฎเดพเดฏ เด’เดฐเต เดตเดฟเดทเดฏเด‚ เดตเดดเดฟเดฏเดฟเตฝ เดตเดฐเตเด‚...

เดฌเตˆเดจเดฑเดฟ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป: TL (เดŸเตˆเดชเตเดชเต เดฒเดพเด‚เด—เตเดตเต‡เดœเต) เด…เดคเดฟเดจเตเดฑเต† เดธเตเด•เต€เดฎเตเด‚ เดฒเต†เดฏเดฑเตเด•เดณเตเด‚ เด•เต‚เดŸเดพเดคเต† เดฎเดฑเตเดฑเต เดชเดฒ เดญเดฏเดพเดจเด•เดฎเดพเดฏ เดตเดพเด•เตเด•เตเด•เดณเตเด‚

เดˆ เดตเดฟเดทเดฏเด‚, เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เดชเตเดฐเดถเตเดจเด™เตเด™เดณเตเดŸเต† เดคเดพเด•เตเด•เต‹เดฒเดพเดฃเต. เดจเดฟเด™เตเด™เตพ เด…เดคเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเดพเตฝ เดญเดฏเด™เตเด•เดฐเดฎเดพเดฏ เดงเดพเดฐเดพเดณเด‚ เดตเดพเด•เตเด•เตเด•เตพ เด‰เดฃเตเดŸเดพเด•เตเด‚.

เด…เดคเดฟเดจเดพเตฝ, เดกเดฏเด—เตเดฐเด‚ เด‡เดคเดพ. เดˆ เดตเดพเด•เตเด•เต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฎเดจเดธเตเดธเดฟเตฝ เดตเดจเตเดจเดพเตฝ เดชเดฑเดฏเตเด•, JSON เดธเตเด•เต€เดฎ, เดจเดฟเด™เตเด™เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดšเดฟเดจเตเดคเดฟเดšเตเดšเต. เดฒเด•เตเดทเตเดฏเด‚ เด’เดจเตเดจเตเดคเดจเตเดจเต†เดฏเดพเดฃเต: เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดŸ เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดตเดฟเดตเดฐเดฟเด•เตเด•เดพเตป เดšเดฟเดฒ เดญเดพเดทเด•เตพ. เด‡เดตเดฟเดŸเต†เดฏเดพเดฃเต เดธเดฎเดพเดจเดคเด•เตพ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดชเต‡เดœเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต†เด™เตเด•เดฟเตฝ MTPproto เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด”เดฆเตเดฏเต‹เด—เดฟเด• เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเตเดฑเต† เด‰เดฑเดตเดฟเดŸ เดŸเตเดฐเต€เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต, เดžเด™เตเด™เตพ เดšเดฟเดฒ เดธเตเด•เต€เดฎ เดคเตเดฑเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด‚, เดžเด™เตเด™เตพ เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดจเตเดจเต เด•เดพเดฃเตเด‚:

int ? = Int;
long ? = Long;
double ? = Double;
string ? = String;

vector#1cb5c415 {t:Type} # [ t ] = Vector t;

rpc_error#2144ca19 error_code:int error_message:string = RpcError;

rpc_answer_unknown#5e2ad36e = RpcDropAnswer;
rpc_answer_dropped_running#cd78e586 = RpcDropAnswer;
rpc_answer_dropped#a43ad8b7 msg_id:long seq_no:int bytes:int = RpcDropAnswer;

msg_container#73f1f8dc messages:vector<%Message> = MessageContainer;

---functions---

set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:bytes = Set_client_DH_params_answer;

ping#7abe77ec ping_id:long = Pong;
ping_delay_disconnect#f3427b8c ping_id:long disconnect_delay:int = Pong;

invokeAfterMsg#cb9f372d msg_id:long query:!X = X;
invokeAfterMsgs#3dc4b4f0 msg_ids:Vector<long> query:!X = X;

account.updateProfile#78515775 flags:# first_name:flags.0?string last_name:flags.1?string about:flags.2?string = User;
account.sendChangePhoneCode#8e57deb flags:# allow_flashcall:flags.0?true phone_number:string current_number:flags.0?Bool = auth.SentCode;

เด‡เดคเต เด†เดฆเตเดฏเดฎเดพเดฏเดฟ เด•เดพเดฃเตเดจเตเดจ เด’เดฐเต เดตเตเดฏเด•เตเดคเดฟเด•เตเด•เต เดŽเดดเตเดคเดฟเดฏเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดญเดพเด—เด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เด…เดตเดฌเต‹เดงเดชเต‚เตผเดตเตเดตเด‚ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป เด•เดดเดฟเดฏเต‚ - เดถเดฐเดฟ, เด‡เดต เดชเตเดฐเดคเตเดฏเด•เตเดทเดคเตเดคเดฟเตฝ เด˜เดŸเดจเด•เดณเดพเดฃเต (เดชเต‡เดฐเต เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚, เด‡เดŸเดคเตเดคเต‹ เดตเดฒเดคเตเดคเต‹?), เด…เดตเดฏเดฟเตฝ เดซเต€เตฝเดกเตเด•เดณเตเดฃเตเดŸเต, เด…เดคเดฟเดจเต เดถเต‡เดทเด‚ เด’เดฐเต เด•เต‹เดณเดฃเดฟเดจเต เดถเต‡เดทเด‚ เด’เดฐเต เดคเดฐเด‚ เดชเดฟเดจเตเดคเตเดŸเดฐเตเดจเตเดจเต... เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚. เด‡เดตเดฟเดŸเต† เด†เด‚เด—เดฟเตพ เดฌเตเดฐเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเตฝ C++ เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เตพ เด‰เดฃเตเดŸเดพเด•เดพเด‚ (เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดคเต€เดฐเต†เดฏเดฟเดฒเตเดฒ). เดฎเดฑเตเดฑเต†เดฒเตเดฒเดพ เดšเดฟเดนเตเดจเด™เตเด™เดณเตเด‚ เดŽเดจเตเดคเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต, เดšเต‹เดฆเตเดฏเดšเดฟเดนเตเดจเด™เตเด™เตพ, เด†เดถเตเดšเดฐเตเดฏเดšเดฟเดนเตเดจเด™เตเด™เตพ, เดถเดคเดฎเดพเดจเด‚, เดนเดพเดทเต เดฎเดพเตผเด•เตเด•เตเด•เตพ (เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ เด…เดต เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเตเดฅเดฒเด™เตเด™เดณเดฟเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเต), เดšเดฟเดฒเดชเตเดชเต‹เตพ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดคเตเด‚ เดšเดฟเดฒเดชเตเดชเต‹เตพ เด…เดฒเตเดฒเดพเดคเตเดคเดคเตเดฎเดพเดฏ เดนเต†เด•เตเดธเดพเดกเต†เดธเดฟเดฎเตฝ เดธเด‚เด–เตเดฏเด•เตพ - เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเดฟ, เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเด™เตเด™เดจเต† เดจเต‡เดŸเดพเด‚ เดถเดฐเดฟเดฏเดพเดฃเต (เดธเต†เตผเดตเตผ เดจเดฟเดฐเดธเดฟเด•เตเด•เดพเดคเตเดคเดคเต) เดฌเตˆเดฑเตเดฑเต เดธเตเดŸเตเดฐเต€เด‚? เดจเดฟเด™เตเด™เตพ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดตเดพเดฏเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต (เด…เดคเต†, เดธเดฎเต€เดชเดคเตเดคเตเดณเตเดณ JSON เดชเดคเดฟเดชเตเดชเดฟเตฝ เดธเตเด•เต€เดฎเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฒเดฟเด™เตเด•เตเด•เดณเตเดฃเตเดŸเต - เดŽเดจเตเดจเดพเตฝ เด…เดคเต เด•เต‚เดŸเตเดคเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ).

เดชเต‡เดœเต เดคเตเดฑเด•เตเด•เตเด• เดฌเตˆเดจเดฑเดฟ เดกเดพเดฑเตเดฑ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เด•เต‚เดŸเดพเดคเต† เด•เต‚เดฃเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดตเตเดฏเดคเดฟเดฐเดฟเด•เตเดคเดฎเดพเดฏ เด—เดฃเดฟเดคเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เดฎเดพเดจเตเดคเตเดฐเดฟเด• เดฒเต‹เด•เดคเตเดคเต‡เด•เตเด•เต เดฎเตเด™เตเด™เตเด•, 4-เดพเด‚ เดตเตผเดทเดคเตเดคเดฟเดฒเต† เดฎเดคเตเดคเดจเต เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดจเตเดจเต. เด…เด•เตเดทเดฐเดฎเดพเดฒ, เดคเดฐเด‚, เดฎเต‚เดฒเตเดฏเด‚, เด•เต‹เดฎเตเดชเดฟเดจเต‡เดฑเตเดฑเตผ, เดซเด™เตเดทเดฃเตฝ เด•เต‹เดฎเตเดชเดฟเดจเต‡เดฑเตเดฑเตผ, เดธเดพเดงเดพเดฐเดฃ เดฐเต‚เดชเด‚, เดธเด‚เดฏเต‹เดœเดฟเดค เดคเดฐเด‚, เดชเต‹เดณเดฟเดฎเต‹เตผเดซเดฟเด•เต เดคเดฐเด‚... เด…เดคเต†เดฒเตเดฒเดพเด‚ เด†เดฆเตเดฏ เดชเต‡เดœเต เดฎเดพเดคเตเดฐเด‚! เด…เดŸเตเดคเตเดคเดคเต เดจเดฟเด™เตเด™เดณเต† เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต TL เดญเดพเดท, เด…เดคเดฟเตฝ เดจเดฟเดธเดพเดฐเดฎเดพเดฏ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต†เดฏเตเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‡เดคเดฟเดจเด•เด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚, เด•เต‚เดŸเตเดคเตฝ เดธเดพเดงเดพเดฐเดฃ เด•เต‡เดธเตเด•เตพเด•เตเด•เต เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเตผเดคเตเดฅเด‚ เดฑเดทเตเดฏเตป เดญเดพเดทเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เด‚เด—เตเดฒเต€เดทเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดค เด—เดฃเดฟเดคเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดจเดฐเดพเด–เตเดฏเดพเดจเดคเตเดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพ เดฎเดฑเตเดฑเตŠเดฐเต เดŽเดŸเตเดŸเต เดŽเด‚เดฌเดกเดกเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดฟเดตเดฐเตเด‚ เดŽเดจเตเดจเดพเดฃเต. เดชเต‡เดœเตเด•เตพ!

เดซเด™เตเดทเดฃเตฝ เดญเดพเดทเด•เดณเตเด‚ เด“เดŸเตเดŸเต‹เดฎเดพเดฑเตเดฑเดฟเด•เต เดคเดฐเด‚ เด…เดจเตเดฎเดพเดจเดตเตเด‚ เดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณ เดตเดพเดฏเดจเด•เตเด•เดพเตผ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดˆ เดญเดพเดทเดฏเดฟเดฒเต† เดตเดฟเดตเดฐเดฃ เดญเดพเดท เด•เดพเดฃเตเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเต‹เดฒเตเด‚, เด•เต‚เดŸเตเดคเตฝ เดชเดฐเดฟเดšเดฟเดคเดฎเดพเดฃเต, เด‡เดคเต เดคเดคเตเดตเดคเตเดคเดฟเตฝ เดฎเต‹เดถเดฎเดฒเตเดฒเต†เดจเตเดจเต เดชเดฑเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เด‡เดคเดฟเดจเต†เดคเดฟเดฐเดพเดฏ เดŽเดคเดฟเตผเดชเตเดชเตเด•เตพ เด‡เดตเดฏเดพเดฃเต:

  • เด…เดคเต†, เดฒเด•เตเดทเตเดฏเด‚ เดจเดจเตเดจเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด…เดฏเตเดฏเต‹, เด…เดตเตพ เดจเต‡เดŸเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ
  • เดฑเดทเตเดฏเตป เดธเตผเดตเตเดตเด•เดฒเดพเดถเดพเดฒเด•เดณเดฟเดฒเต† เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธเด‚ เดเดŸเดฟ เดธเตเดชเต†เดทเตเดฏเดพเดฒเดฟเดฑเตเดฑเดฟเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดชเต‹เดฒเตเด‚ เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเตเดจเตเดจเต - เดŽเดฒเตเดฒเดพเดตเดฐเตเด‚ เด…เดจเตเดฌเดจเตเดง เด•เต‹เดดเตเดธเต เดŽเดŸเตเดคเตเดคเดฟเดŸเตเดŸเดฟเดฒเตเดฒ
  • เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เดจเดฎเตเดฎเตพ เด•เดพเดฃเตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เด…เดคเต เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฃเต เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดตเดฟเดตเดฐเดฟเดšเตเดš TL-เดจเตเดฑเต† เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เด‰เดชเดตเดฟเดญเดพเด—เด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเตเดณเตเดณเต‚

เดชเดฑเดžเตเดžเดคเตเดชเต‹เดฒเต† เดฒเดฟเดฏเต‹เดจเต‡เตผเดกเต เดšเดพเดจเดฒเดฟเตฝ #perl เดซเตเดฐเต€เดจเต‹เดกเต เดเด†เตผเดธเดฟ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเตฝ, เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดŸเตเดฐเดฟเด•เตโ€Œเดธเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด’เดฐเต เด—เต‡เดฑเตเดฑเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเดคเต (เด‰เดฆเตเดงเดฐเดฃเดฟเดฏเตเดŸเต† เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เตƒเดคเตเดฏเดฎเดฒเตเดฒ):

เด†เดฐเต‹ เด†เดฆเตเดฏเดฎเดพเดฏเดฟ เดคเดฟเดฏเดฑเดฟ เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเดพเตป เดชเดฐเดฟเดšเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ, เด†เดตเต‡เดถเดญเดฐเดฟเดคเดจเดพเดฏเดฟ, เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต‹ เดŽเดจเตเดจเต เดถเดฐเดฟเด•เตเด•เตเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เดพเดคเต†, เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เดณเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฟ.

เดชเตเดฐเดพเดฅเดฎเดฟเด•เดฎเดพเดฏ เด’เดจเตเดจเดพเดฏเดฟ เดฌเต†เดฏเตผ-เดŸเตˆเดชเตเดชเตเด•เตพ (เด‡เดจเตเดฑเต, เดฒเต‹เด‚เด—เต, เดฎเตเดคเดฒเดพเดฏเดต) เด†เดตเดถเตเดฏเด‚ เดšเต‹เดฆเตเดฏเด™เตเด™เตพ เด‰เดจเตเดจเดฏเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ - เด†เดคเตเดฏเดจเตเดคเดฟเด•เดฎเดพเดฏเดฟ เด…เดต เดธเตเดตเดฎเต‡เดงเดฏเดพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฃเด‚ - เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด‰เดฐเตเดคเตเดคเดฟเดฐเดฟเดžเตเดžเตเดตเดฐเดพเตป เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดถเตเดฐเดฎเด‚ เดจเดŸเดคเตเดคเดพเด‚. เดตเต†เด•เตเดฑเตเดฑเตผ. เด…เดคเดพเดฏเดคเต, เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เด…เดฑเต‡, เดคเดคเตเดซเดฒเดฎเดพเดฏเตเดฃเตเดŸเดพเด•เตเดจเตเดจ เดตเดธเตเดคเตเด•เตเด•เดณเต† เด…เดตเดฏเตเดŸเต† เดถเดฐเดฟเดฏเดพเดฏ เดชเต‡เดฐเตเด•เดณเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดตเดฟเดณเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ.

เดŽเดจเตเดจเดพเตฝ เดฎเตเดฎเตเดชเต

เด”เดฆเตเดฏเต‹เด—เดฟเด• เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดตเดพเดฏเดฟเด•เตเด•เดพเดคเตเดคเดตเตผเด•เตเด•เตเดณเตเดณ TL เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเตเดŸเต† เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดตเดฟเดตเดฐเดฃเด‚

constructor = Type;
myVec ids:Vector<long> = Type;

fixed#abcdef34 id:int = Type2;

fixedVec set:Vector<Type2> = FixedVec;

constructorOne#crc32 field1:int = PolymorType;
constructorTwo#2crc32 field_a:long field_b:Type3 field_c:int = PolymorType;
constructorThree#deadcrc bit_flags_of_what_really_present:# optional_field4:bit_flags_of_what_really_present.1?Type = PolymorType;

an_id#12abcd34 id:int = Type3;
a_null#6789cdef = Type3;

เดจเดฟเตผเดตเดšเดจเด‚ เดŽเดชเตเดชเต‹เดดเตเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต เด•เตบโ€Œเดธเตโ€ŒเดŸเตเดฐเด•เตเดฑเตเดฑเตผโ€Œ, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดเดšเตเด›เดฟเด•เดฎเดพเดฏเดฟ (เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ - เดŽเดชเตเดชเต‹เดดเตเด‚) เดšเดฟเดนเตเดจเดคเตเดคเดฟเดฒเต‚เดŸเต† # เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ เดšเตเดฐเตเดšเตเด•เตเดธเดจเตเดฎเตเด•เตเดธ เดˆ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดจเต‹เตผเดฎเดฒเตˆเดธเต เดšเต†เดฏเตเดค เดตเดฟเดตเดฐเดฃ เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเตฝ เดจเดฟเดจเตเดจเต. เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เดซเต€เตฝเดกเตเด•เดณเตเดŸเต† เด’เดฐเต เดตเดฟเดตเดฐเดฃเด‚ เดตเดฐเตเดจเตเดจเต; เด…เดต เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดคเดฐเด‚ เดถเต‚เดจเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เด‡เดคเต†เดฒเตเดฒเดพเด‚ เด’เดฐเต เดคเตเดฒเตเดฏ เดšเดฟเดนเตเดจเดคเตเดคเต‹เดŸเต† เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต, เดˆ เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เดเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเต‡เดฐเดฟเดฒเดพเดฃเต - เด…เดคเดพเดฏเดคเต, เด‰เดชเดตเดฟเดญเดพเด—เด‚ -. เดคเตเดฒเตเดฏ เดšเดฟเดนเตเดจเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฒเดคเตเดตเดถเดคเตเดคเตเดณเตเดณ เด†เดณเดพเดฃเต เดฌเดนเตเดฐเต‚เดชเด‚ - เด…เดคเดพเดฏเดคเต, เดจเดฟเดฐเดตเดงเดฟ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดคเดฐเด™เตเด™เตพ เด…เดคเดฟเดจเต‹เดŸเต เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเดพเด‚.

เดตเดฐเดฟเด•เตเด•เต เดถเต‡เดทเด‚ เดจเดฟเตผเดตเดšเดจเด‚ เดธเด‚เดญเดตเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ ---functions---, เด…เดชเตเดชเต‹เตพ เดตเดพเด•เตเดฏเด˜เดŸเดจ เด…เดคเต‡เดชเดŸเดฟ เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เตเด‚, เดชเด•เตเดทเต‡ เด…เตผเดคเตเดฅเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚: เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เด†เตผเดชเดฟเดธเดฟ เดซเด‚เด—เตเดทเดจเตเดฑเต† เดชเต‡เดฐเดพเดฏเดฟ เดฎเดพเดฑเตเด‚, เดซเต€เตฝเดกเตเด•เตพ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเดพเดฏเดฟ เดฎเดพเดฑเตเด‚ (เดจเดจเตเดจเดพเดฏเดฟ, เด…เดคเดพเดฏเดคเต, เดšเตเดตเดŸเต† เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต† เด‡เดคเต เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด˜เดŸเดจเดฏเดฟเตฝ เดคเดจเตเดจเต† เดคเตเดŸเดฐเตเด‚. , เด‡เดคเต เด•เต‡เดตเดฒเด‚ เดจเดฟเดฏเตเด•เตเดค เด…เตผเดคเตเดฅเด‚ เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚), เด•เต‚เดŸเดพเดคเต† "เดชเต‹เดณเดฟเดฎเต‹เตผเดซเดฟเด•เต เดคเดฐเด‚" - เดฒเดญเดฟเดšเตเดš เดซเดฒเดคเตเดคเดฟเดจเตเดฑเต† เดคเดฐเด‚. เดถเดฐเดฟเดฏเดพเดฃเต, เด…เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดชเต‹เดณเดฟเดฎเต‹เตผเดซเดฟเด•เตเด•เดพเดฏเดฟ เดคเตเดŸเดฐเตเด‚ - เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต ---types---, เดŽเดจเตเดจเดพเตฝ เดˆ เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ "เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เดฟเดฒเตเดฒ". เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เดณเตเดŸเต† เดคเดฐเด™เตเด™เดณเต† เด…เดตเดฏเตเดŸเต† เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด“เดตเตผเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต. เดšเดฟเดฒ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ, C++-เตฝ เด‰เดณเตเดณเดคเต เดชเต‹เดฒเต† เด’เดฐเต‡ เดชเต‡เดฐเดฟเดฒเตเดณเตเดณเดคเตเด‚ เดŽเดจเตเดจเดพเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เด’เดชเตเดชเตเด•เดณเตเดณเตเดณเดคเตเดฎเดพเดฏ เดจเดฟเดฐเดตเดงเดฟ เดซเด‚เด—เตโ€Œเดทเดจเตเด•เตพ TL-เตฝ เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ.

OOP เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต "เด•เตบเดธเตโ€ŒเดŸเตเดฐเด•เตโ€Œเดฑเตเดฑเตผ", "เดชเต‹เดณเดฟเดฎเต‹เตผเดซเดฟเด•เต"? เดถเดฐเดฟ, เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เด†เตผเด•เตเด•เต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต OOP เดชเดฆเด™เตเด™เดณเดฟเตฝ เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดณเตเดชเตเดชเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ - เด’เดฐเต เด…เดฎเต‚เตผเดคเตเดค เด•เตเดฒเดพเดธเต เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ เด’เดฐเต เดชเต‹เดณเดฟเดฎเต‹เตผเดซเดฟเด•เต เดคเดฐเด‚, เด•เต‚เดŸเดพเดคเต† เด•เตบเดธเตเดŸเตเดฐเด•เตโ€ŒเดŸเตผเดฎเดพเตผ เด…เดคเดฟเดจเตเดฑเต† เดจเต‡เดฐเดฟเดŸเตเดŸเตเดณเตเดณ เดชเดฟเตปเด—เดพเดฎเดฟ เด•เตเดฒเดพเดธเตเด•เดณเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† final เดจเดฟเดฐเดตเดงเดฟ เดญเดพเดทเด•เดณเตเดŸเต† เดชเดฆเดพเดตเดฒเดฟเดฏเดฟเตฝ. เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เด‡เดตเดฟเดŸเต† เดฎเดพเดคเตเดฐเด‚ เดธเดพเดฎเตเดฏเด‚ OO เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดญเดพเดทเด•เดณเดฟเดฒเต† เดฏเดฅเดพเตผเดคเตเดฅ เด“เดตเตผเดฒเต‹เดกเดกเต เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เดฐเต€เดคเดฟเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚. เด‡เดตเดฟเดŸเต† เดกเดพเดฑเตเดฑเดพ เด˜เดŸเดจเด•เตพ เดฎเดพเดคเตเดฐเดฎเดพเดฏเดคเดฟเดจเดพเตฝ, เดฐเต€เดคเดฟเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ (เดซเด‚เด—เตเดทเดจเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดฐเต€เดคเดฟเด•เดณเตเดŸเต†เดฏเตเด‚ เดตเดฟเดตเดฐเดฃเดคเตเดคเดฟเดจเต เด…เดต เด‰เดฃเตเดŸเต†เดจเตเดจเต เดคเดฒเดฏเดฟเตฝ เด†เดถเดฏเด•เตเด•เตเดดเดชเตเดชเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเดฒเตเด‚, เด…เดคเต เดฎเดฑเตเดฑเตŠเดฐเต เด•เดพเดฐเตเดฏเดฎเดพเดฃเต) - เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเดฑเดฟเดจเต† เดฎเต‚เดฒเตเดฏเดฎเดพเดฏเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเด‚. เดเดคเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเต เด’เดฐเต เดฌเตˆเดฑเตเดฑเต เดธเตเดŸเตเดฐเต€เด‚ เดตเดพเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเตเด•.

เด‡เดคเต เดŽเด™เตเด™เดจเต† เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต? เดŽเดชเตเดชเต‹เดดเตเด‚ 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจ เดกเดฟเดธเต€เดฐเดฟเดฏเดฒเตˆเดธเตผ เดฎเต‚เดฒเตเดฏเด‚ เด•เดพเดฃเตเดจเตเดจเต 0xcrc32 - เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เดŽเดจเตเดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต field1 เดคเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต int, เด…เดคเดพเดฏเดคเต. เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเดฟเตฝ เดคเดฐเดคเตเดคเต‹เดŸเตเด•เต‚เดŸเดฟเดฏ เด“เดตเตผเดฒเตˆเดฏเดฟเด‚เด—เต เดซเต€เตฝเดกเต PolymorType เดตเดพเดฏเดฟเดšเตเดšเต. เด•เดพเดฃเตเดจเตเดจเต 0x2crc32 เด•เต‚เดŸเดพเดคเต† เดฐเดฃเตเดŸเต เดซเต€เตฝเดกเตเด•เตพ เด•เต‚เดŸเดฟ เด‰เดฃเตเดŸเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต, เด†เดฆเตเดฏเด‚ long, เด…เดคเดพเดฏเดคเต เดจเดฎเตเดฎเตพ 8 เดฌเตˆเดฑเตเดฑเตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต. เดคเตเดŸเตผเดจเตเดจเต เดตเต€เดฃเตเดŸเตเด‚ เด’เดฐเต เดธเด™เตเด•เต€เตผเดฃเตเดฃ เดคเดฐเด‚, เด…เดคเต เด…เดคเต‡ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดกเต€เดธเดฟเดฏเดฒเตˆเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, Type3 เดฏเดฅเดพเด•เตเดฐเดฎเด‚ เดฐเดฃเตเดŸเต เด•เตบเดธเตโ€ŒเดŸเตเดฐเด•เตโ€ŒเดŸเตผเดฎเดพเดฐเต† เด‰เดŸเตป เดคเดจเตเดจเต† เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเดฟเตฝ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด…เดชเตเดชเต‹เตพ เด…เดตเตผ เด’เดจเตเดจเตเด•เดฟเตฝ เด•เดฃเตเดŸเตเดฎเตเดŸเตเดŸเดฃเด‚ 0x12abcd34, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดจเดฟเด™เตเด™เตพ 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ เด•เต‚เดŸเดฟ เดตเดพเดฏเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต int, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ 0x6789cdef, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เด’เดจเตเดจเตเด‚ เด‰เดฃเตเดŸเดพเด•เดฟเดฒเตเดฒ. เดฎเดฑเตเดฑเต†เดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ - เดจเดฟเด™เตเด™เตพ เด’เดฐเต เด…เดชเดตเดพเดฆเด‚ เดŽเดฑเดฟเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดŽเดจเตเดคเดพเดฏเดพเดฒเตเด‚, เด‡เดคเดฟเดจเตเดถเต‡เดทเด‚ เดžเด™เตเด™เตพ 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเดจเตเดจเต int เดซเต€เตฝเดกเตเด•เตพ field_c ะฒ constructorTwo เด…เดคเต‹เดŸเต† เดžเด™เตเด™เตพ เดžเด™เตเด™เดณเตเดŸเต† เดตเดพเดฏเดจ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเด‚ PolymorType.

เด’เดŸเตเดตเดฟเตฝ, เดชเดฟเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดพเตฝ 0xdeadcrc เดตเต‡เดฃเตเดŸเดฟ constructorThree, เด…เดชเตเดชเต‹เตพ เดŽเดฒเตเดฒเดพเด‚ เด•เต‚เดŸเตเดคเตฝ เดธเด™เตเด•เต€เตผเดฃเดฎเดพเด•เตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด†เดฆเตเดฏเดคเตเดคเต† เดซเต€เตฝเดกเต bit_flags_of_what_really_present เดคเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต # - เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เด‡เดคเต เดคเดฐเดคเตเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เด…เดชเดฐเดจเดพเดฎเด‚ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต nat, "เดธเตเดตเดพเดญเดพเดตเดฟเด• เดธเด‚เด–เตเดฏ" เดŽเดจเตเดจเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต. เด…เดคเดพเดฏเดคเต, เดฏเดฅเดพเตผเดคเตเดฅ เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเตเด•เดณเดฟเตฝ เด’เดชเตเดชเดฟเดŸเดพเดคเตเดค เดธเด‚เด–เตเดฏเด•เตพ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด’เดชเตเดชเดฟเดŸเดพเดคเตเดค เดธเด‚เด–เตเดฏเดฏเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ, เด…เดŸเตเดคเตเดคเดคเต เด’เดฐเต เดšเต‹เดฆเตเดฏเดšเดฟเดนเตเดจเดฎเตเดณเตเดณ เด’เดฐเต เดจเดฟเตผเดฎเตเดฎเดพเดฃเดฎเดพเดฃเต, เด…เดคเดพเดฏเดคเต เดˆ เดซเต€เตฝเดกเต - เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดฌเดฟเดฑเตเดฑเต เดชเดฐเดพเดฎเตผเดถเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดซเต€เตฝเดกเดฟเตฝ (เดเด•เดฆเต‡เดถเด‚ เด’เดฐเต เดŸเต†เตผเดจเดฑเดฟ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผ เดชเต‹เดฒเต†) เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เด…เดคเต เดตเดฏเดฑเดฟเตฝ เด‰เดฃเตเดŸเดพเด•เต‚. เด…เดคเดฟเดจเดพเตฝ, เดˆ เดฌเดฟเดฑเตเดฑเต เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเตเดตเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดพเด‚, เด…เดคเดฟเดจเตผเดคเตเดฅเด‚ เดžเด™เตเด™เตพ เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด’เดฐเต เดซเต€เตฝเดกเต เดตเดพเดฏเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เดŽเดจเตเดจเดพเดฃเต Type, เดžเด™เตเด™เดณเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ 2 เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเดฑเตเด•เตพ เด‰เดฃเตเดŸเต. เด’เดจเตเดจเต เดถเต‚เดจเตเดฏเดฎเดพเดฃเต (เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เดฎเดพเดคเตเดฐเด‚ เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจเต), เดฎเดฑเตเดฑเตŠเดจเตเดจเดฟเดจเต เด’เดฐเต เดซเต€เตฝเดกเต เด‰เดฃเตเดŸเต ids เดคเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต ids:Vector<long>.

เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เดณเตเด‚ เดœเดจเดฑเดฟเด•เตเดธเตเด•เดณเตเด‚ เดชเตเดฐเต‹เดธเดฟเดฒเต‹ เดœเดพเดตเดฏเดฟเดฒเต‹ เด†เดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดšเดฟเดจเตเดคเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚. เดชเด•เตเดทเต† เด‡เดฒเตเดฒ. เดเดคเดพเดฃเตเดŸเต. เดˆ เด’เดฐเต‡เดฏเตŠเดฐเต เดฏเดฅเดพเตผเดคเตเดฅ เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเตเด•เดณเดฟเตฝ เด†เด‚เด—เดฟเตพ เดฌเตเดฐเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดธเดจเตเดฆเตผเดญเด‚, เด‡เดคเต เดตเต†เด•เตโ€ŒเดŸเดฑเดฟเดจเดพเดฏเดฟ เดฎเดพเดคเตเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดฌเตˆเดฑเตเดฑเต เดธเตเดŸเตเดฐเต€เดฎเดฟเตฝ, เด‡เดต เดตเต†เด•เตเดฑเตเดฑเตผ เดคเดฐเดคเตเดคเดฟเดจเต เดคเดจเตเดจเต† 4 CRC32 เดฌเตˆเดฑเตเดฑเตเด•เดณเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดธเดฎเดพเดจเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เดคเตเดŸเตผเดจเตเดจเต 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ - เด…เดฑเต‡ เด˜เดŸเด•เด™เตเด™เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚, เดคเตเดŸเตผเดจเตเดจเต เดˆ เด˜เดŸเด•เด™เตเด™เตพ เดคเดจเตเดจเต†.

เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ 4 เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เดตเดพเด•เตเด•เตเด•เดณเดฟเดฒเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดจ เดตเดธเตเดคเตเดค เด‡เดคเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เตเด•, เดŽเดฒเตเดฒเดพ เดคเดฐเด™เตเด™เดณเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เด—เตเดฃเดฟเดคเด™เตเด™เดณเดพเดฃเต - เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดคเดฐเด™เตเด™เดณเตเด‚ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. bytes ะธ string เดฆเตˆเตผเด˜เตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดฎเดพเดจเตเดตเตฝ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเตเด‚ เดˆ เดตเดฟเดจเตเดฏเดพเดธเดตเตเด‚ 4 - เดถเดฐเดฟ, เด‡เดคเต เดธเดพเดงเดพเดฐเดฃเดตเตเด‚ เดคเดพเดฐเดคเดฎเตเดฏเต‡เดจ เดซเดฒเดชเตเดฐเดฆเดตเตเดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเตเดฃเตเดŸเต‹? TL เด’เดฐเต เดซเดฒเดชเตเดฐเดฆเดฎเดพเดฏ เดฌเตˆเดจเดฑเดฟ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเดพเดฃเต†เดจเตเดจเต เด…เดตเด•เดพเดถเดชเตเดชเต†เดŸเตเดจเตเดจเตเดฃเตเดŸเต†เด™เตเด•เดฟเดฒเตเด‚, เด…เดตเดฐเต‹เดŸเตŠเดชเตเดชเด‚ เดจเดฐเด•เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต, เดฌเต‚เดณเดฟเดฏเตป เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเด‚ เด’เดฑเตเดฑ-เด•เตเดทเดฐ เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เดณเตเด‚ เดชเต‹เดฒเตเด‚ 4 เดฌเตˆเดฑเตเดฑเตเด•เดณเดพเดฏเดฟ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต, JSON เด‡เดชเตเดชเต‹เดดเตเด‚ เด•เต‚เดŸเตเดคเตฝ เด•เดŸเตเดŸเดฟเดฏเตเดณเตเดณเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเต‹? เดจเต‹เด•เตเด•เต‚, เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดซเต€เตฝเดกเตเด•เตพ เดชเต‹เดฒเตเด‚ เดฌเดฟเดฑเตเดฑเต เดซเตเดฒเดพเด—เตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดดเดฟเดตเดพเด•เตเด•เดพเด‚, เดŽเดฒเตเดฒเดพเด‚ เดตเดณเดฐเต† เดฎเดฟเด•เดšเตเดšเดคเดพเดฃเต, เดญเดพเดตเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเตเดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เด•เตบเดธเตโ€ŒเดŸเตเดฐเด•เตโ€ŒเดŸเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเตเดคเดฟเดฏ เด“เดชเตโ€Œเดทเดฃเตฝ เดซเต€เตฝเดกเตเด•เตพ เดšเต‡เตผเด•เตเด•เดฐเตเดคเต?..

เดŽเดจเตเดจเดพเตฝ เด‡เดฒเตเดฒ, เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดฑเต† เดนเตเดฐเดธเตเดต เดตเดฟเดตเดฐเดฃเดฎเดฒเตเดฒ, เดชเต‚เตผเดฃเตเดฃ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดตเดพเดฏเดฟเดšเตเดšเดพเตฝ, เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเด•. เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดธเตเด•เต€เดฎเดฟเดจเตเดฑเต† เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดตเดฟเดตเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดจเต‹เตผเดฎเดฒเตˆเดธเตเดกเต เดฒเตˆเตป เด…เดจเตเดธเดฐเดฟเดšเตเดšเดพเดฃเต เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต† CRC32 เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเดคเต (เด…เดงเดฟเด• เดตเตˆเดฑเตเดฑเตโ€Œเดธเตโ€Œเดชเต†เดฏเตโ€Œเดธเต เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด• เดฎเตเดคเดฒเดพเดฏเดต) - เด…เดคเดฟเดจเดพเตฝ เด’เดฐเต เดชเตเดคเดฟเดฏ เดซเต€เตฝเดกเต เดšเต‡เตผเดคเตเดคเดพเตฝ, เดคเดฐเด‚ เดตเดฟเดตเดฐเดฃ เดฒเตˆเตป เดฎเดพเดฑเตเด‚, เด…เดคเดฟเดจเดพเตฝ เด…เดคเดฟเดจเตเดฑเต† CRC32 เด’เดชเตเดชเด‚ , เดคเดคเตเดซเดฒเดฎเดพเดฏเดฟ, เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป. เดชเตเดคเดฟเดฏ เดซเตเดฒเดพเด—เตเด•เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดš เด’เดฐเต เดซเต€เตฝเดกเต เดฒเดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดตเดฏเตเดฎเดพเดฏเดฟ เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต เด…เดตเดจเดฑเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเดดเดฏ เด•เตเดฒเดฏเดจเตเดฑเต เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเตเด‚?..

เดฐเดฃเตเดŸเดพเดฎเดคเดพเดฏเดฟ, เดจเดฎเตเด•เตเด•เต เด“เตผเด•เตเด•เดพเด‚ เดšเตเดฐเตเดšเตเด•เตเดธเดจเตเดฎเตเด•เตเดธ, เด‡เดตเดฟเดŸเต† เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดนเดพเดทเต เดซเด‚เด—เตเดทเดจเตเด•เตพ เดเดคเต เดคเดฐเด‚ (เดกเต€)เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเตเดตเต†เดจเตเดจเต เด…เดฆเตเดตเดฟเดคเต€เดฏเดฎเดพเดฏเดฟ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป. เด‡เดตเดฟเดŸเต† เดจเดฎเตเดฎเตพ เด•เต‚เดŸเตเดŸเดฟเดฏเดฟเดŸเดฟเด•เดณเตเดŸเต† เดชเตเดฐเดถเตเดจเดคเตเดคเต† เด…เดญเดฟเดฎเตเด–เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต - เด…เดฒเตเดฒ, เดธเด‚เดญเดพเดตเตเดฏเดค 232-เตฝ เด’เดจเตเดจเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เดตเดณเดฐเต† เดตเดฒเตเดคเดพเดฃเต. เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏ เดšเดพเดจเดฒเดฟเดฒเต† เดชเดฟเดถเด•เตเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเด‚ (เดถเดฐเดฟเดฏเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚) เดธเดฟเด†เตผเดธเดฟ 32 เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตโ€ŒเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เด…เดคเดฟเดจเดจเตเดธเดฐเดฟเดšเตเดšเต เดˆ เด—เตเดฃเด™เตเด™เตพ เดฎเดฑเตเดฑเตเดณเตเดณเดตเตผเด•เตเด•เต เดฆเต‹เดทเด•เดฐเดฎเดพเดฏเดฟ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เด†เดฐเดพเดฃเต เด“เตผเดคเตเดคเดคเต? เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดฌเตˆเดฑเตเดฑเตเด•เตพ เดชเตเดจเดƒเด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด‡เดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ: เดจเดฟเด™เตเด™เตพ เดฐเดฃเตเดŸเต เดตเดฐเดฟเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต CRC32 เด•เดฃเด•เตเด•เดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเดคเตเดคเต† 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ เด…เดŸเตเดคเตเดค 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเตเดตเดพเดชเตเดชเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต - เด‡เดคเต เดธเดฎเดพเดจเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เดžเด™เตเด™เดณเตเดŸเต† เด‡เตปเดชเตเดŸเตเดŸเต เดฒเดพเดฑเตเดฑเดฟเตป เด…เด•เตเดทเดฐเดฎเดพเดฒเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŸเต†เด•เตเดธเตเดฑเตเดฑเต เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เดณเดพเดฃเต†เด™เตเด•เดฟเตฝ (เด’เดชเตเดชเด‚ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดตเดฟเดฐเดพเดฎเดšเดฟเดนเตเดจเดตเตเด‚), เดˆ เดชเต‡เดฐเตเด•เตพ เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดชเตเดจเดƒเด•เตเดฐเดฎเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเตเดณเตเดณ เดธเดพเดงเตเดฏเดค เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดตเตผเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเต.

เดตเดดเดฟเดฏเดฟเตฝ, เด†เดฐเดพเดฃเต เด…เดตเดฟเดŸเต† เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเดคเต? เดถเดฐเดฟเด•เตเด•เตเด‚ CRC32? เด†เดฆเตเดฏเด•เดพเดฒ เดธเต‹เดดเตโ€Œเดธเต เด•เต‹เดกเตเด•เดณเดฟเดฒเตŠเดจเตเดจเดฟเตฝ (เดตเดพเตพเดŸเตเดŸเตเดฎเดพเดจเดฟเดจเต เดฎเตเดฎเตเดชเตเดคเดจเตเดจเต†) เด’เดฐเต เดนเดพเดทเต เดซเด‚เด—เตโ€Œเดทเตป เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดคเต เด“เดฐเต‹ เดชเตเดฐเดคเต€เด•เดคเตเดคเต†เดฏเตเด‚ 239 เดŽเดจเตเดจ เดธเด‚เด–เตเดฏ เด•เตŠเดฃเตเดŸเต เด—เตเดฃเดฟเด•เตเด•เตเดจเตเดจเต, เดˆ เด†เดณเตเด•เตพเด•เตเด•เต เดตเดณเดฐเต† เดชเตเดฐเดฟเดฏเดชเตเดชเต†เดŸเตเดŸเดคเดพเดฃเต, เดน เดน!

เด…เดตเดธเดพเดจเด‚, เดถเดฐเดฟ, เด’เดฐเต เดซเต€เตฝเดกเต เดคเดฐเดฎเตเดณเตเดณ เด•เตบเดธเตเดŸเตเดฐเด•เตโ€ŒเดŸเตผเดฎเดพเตผ เดŽเดจเตเดจเต เดžเด™เตเด™เตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดฟ Vector<int> ะธ Vector<PolymorType> เดตเตเดฏเดคเตเดฏเดธเตเดค CRC32 เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เด“เตบเดฒเตˆเตป เดชเตเดฐเด•เดŸเดจเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต? เด•เต‚เดŸเดพเดคเต† เดธเตˆเดฆเตเดงเดพเดจเตเดคเดฟเด• เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ เดจเดฟเดจเตเดจเต, เด‡เดคเต เดคเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเด•เตเดฎเต‹?? เดชเดคเดฟเดจเดพเดฏเดฟเดฐเด‚ เดธเด‚เด–เตเดฏเด•เดณเตเดŸเต† เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟ เดžเด™เตเด™เตพ เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดชเดฑเดฏเดพเด‚ Vector<int> เดŽเดฒเตเดฒเดพเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต, เดจเต€เดณเดตเตเด‚ เดฎเดฑเตเดฑเตŠเดฐเต 40000 เดฌเตˆเดฑเตเดฑเตเด•เดณเตเด‚. เด‡เดคเต†เด™เตเด•เดฟเดฒเต‹ Vector<Type2>, เด‡เดคเดฟเตฝ เด’เดฐเต เดซเต€เตฝเดกเต เดฎเดพเดคเตเดฐเด‚ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต int เด•เต‚เดŸเดพเดคเต† เด‡เดคเต เดคเดฐเดคเตเดคเดฟเตฝ เด’เดฑเตเดฑเดฏเตเด•เตเด•เดพเดฃเต - เดจเดฎเตเดฎเตพ 10000xabcdef0 34 เดคเดตเดฃเดฏเตเด‚ เดคเตเดŸเตผเดจเตเดจเต 4 เดฌเตˆเดฑเตเดฑเตเด•เดณเตเด‚ เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต‹? int, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด•เตบเดธเตโ€ŒเดŸเตเดฐเด•เตโ€Œเดฑเตเดฑเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฎเตเด•เตเด•เดพเดฏเดฟ เด…เดคเต เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเด•เตเด•เดพเตป เดญเดพเดทเดฏเตโ€Œเด•เตเด•เต เด•เดดเดฟเดฏเตเด‚ fixedVec 80000 เดฌเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เต เดชเด•เดฐเด‚ 40000 เดฎเดพเดคเตเดฐเด‚ เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเดฃเต‹?

เด‡เดคเตŠเดฐเต เดจเดฟเดทเตโ€Œเด•เตเดฐเดฟเดฏ เดธเตˆเดฆเตเดงเดพเดจเตเดคเดฟเด• เดšเต‹เดฆเตเดฏเดฎเดฒเตเดฒ - เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด—เตเดฐเต‚เดชเตเดชเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เดฒเดญเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เตเด•, เด…เดตเดฐเดฟเตฝ เด“เดฐเต‹เดฐเตเดคเตเดคเตผเด•เตเด•เตเด‚ เด’เดฐเต เดเดกเดฟ, เด†เดฆเตเดฏ เดจเดพเดฎเด‚, เด…เดตเดธเดพเดจ เดจเดพเดฎเด‚ เดŽเดจเตเดจเดฟเดตเดฏเตเดฃเตเดŸเต - เด’เดฐเต เดฎเตŠเดฌเตˆเตฝ เด•เดฃเด•เตเดทเดจเดฟเดฒเต‚เดŸเต† เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจ เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เด…เดณเดตเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เดตเดณเดฐเต† เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต. เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเตเดฑเต† เดซเดฒเดชเตเดฐเดพเดชเตเดคเดฟเดฏเดพเดฃเต เดžเด™เตเด™เตพเด•เตเด•เต เดชเดฐเดธเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต.

เด…เดคเดฟเดจเดพเตฝโ€ฆ

เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ เดฑเดฟเดฒเต€เดธเต เดšเต†เดฏเตเดฏเดพเดคเตเดค เดตเต†เด•เตเดฑเตเดฑเตผ

เด•เต‹เดฎเตเดชเดฟเดจเต‡เดฑเตเดฑเดฑเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดฎเดฑเตเดฑเตเด‚ เดตเดฟเดตเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดชเต‡เดœเตเด•เดณเดฟเดฒเต‚เดŸเต† เดธเดžเตเดšเดฐเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เตพ เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เดตเต†เด•เตเดฑเตเดฑเตผ (เด’เดฐเต เดฎเดพเดŸเตเดฐเดฟเด•เตเดธเต เดชเต‹เดฒเตเด‚) เด”เดชเดšเดพเดฐเดฟเด•เดฎเดพเดฏเดฟ เดจเดฟเดฐเดตเดงเดฟ เดทเต€เดฑเตเดฑเตเด•เดณเตเดŸเต† เดŸเตเดฏเต‚เดฌเตเด•เดณเดฟเดฒเต‚เดŸเต† เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เด•เดพเดฃเตเด‚. เดŽเดจเตเดจเดพเตฝ เด…เดตเดธเดพเดจเด‚ เด…เดตเตผ เดฎเดฑเด•เตเด•เตเดจเตเดจเต, เด…เดตเดธเดพเดจ เด˜เดŸเตเดŸเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เดฟ, เดตเต†เด•เตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เด’เดฐเต เดจเดฟเตผเดตเดšเดจเด‚ เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เด‡เดคเตเดตเดฐเต† เด’เดฐเต เดคเดฐเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เดŽเดจเตเดคเดพเดฃเต เด•เดพเดฐเตเดฏเด‚? เดญเดพเดทเด•เดณเดฟเตฝ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเดฏเดต, เด˜เดŸเดจเดฏเต† เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเต เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดคเดฟเด•เดšเตเดšเตเด‚ เดธเดพเดงเดพเดฐเดฃเดฎเดพเดฃเต - เด…เดคเดฟเดจเตเดฑเต† เด…เดฒเดธเดฎเดพเดฏ เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเดฒเตเดณเตเดณ เด•เด‚เดชเตˆเดฒเตผ เดŽเดฒเตเดฒเดพเด‚ เดธเตเดตเดฏเด‚ เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚. เดญเดพเดทเดฏเดฟเตฝ เดกเดพเดฑเตเดฑ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เดตเต‡เดฃเตเดŸเดคเต เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดคเดฏเดพเดฃเต: เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เดตเดฟเดตเดฐเดฟเดšเตเดšเดพเตฝ เดฎเดคเดฟ เดชเดŸเตเดŸเดฟเด•, เด…เดคเดพเดฏเดคเต. เดฐเดฃเตเดŸเต เดฎเต‚เดฒเด•เด™เตเด™เดณเตเดŸเต† เด˜เดŸเดจ - เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต เด’เดฐเต เดกเดพเดฑเตเดฑ เด˜เดŸเด•เดฎเดพเดฃเต, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เด…เดคเต‡ เด˜เดŸเดจเดฏเดพเดฃเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดตเดพเดฒเดฟเดจเตเดฑเต† เดถเต‚เดจเตเดฏเดฎเดพเดฏ เด‡เดŸเด‚ (เดชเดพเด•เตเด•เต (cons) เดฒเดฟเดธเตเดชเดฟเตฝ). เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟ เดตเดฐเตเด‚ เด“เดฐเต‹เดจเตเดจเตเด‚ เดฎเต‚เดฒเด•เด‚ เด…เดคเดฟเดจเตเดฑเต† เดคเดฐเด‚ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด…เดงเดฟเด•เดฎเดพเดฏเดฟ 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ (TL-เตฝ CRC32) เดšเต†เดฒเดตเดดเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เด…เดฑเต‡เดฏเตเด‚ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดตเดฟเดตเดฐเดฟเด•เตเด•เดพเด‚ เดจเดฟเดถเตเดšเดฟเดค เดตเดฒเดฟเดชเตเดชเด‚, เดŽเดจเตเดจเดพเตฝ เดฎเตเตปเด•เต‚เดŸเตเดŸเดฟ เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเดพเดคเตเดค เดจเต€เดณเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดจเดฟเดฐเดฏเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดžเด™เตเด™เตพ เดคเด•เตผเด•เตเด•เตเดจเตเดจเต.

เด…เดคเดฟเดจเดพเตฝ, เด’เดฐเต เดตเต†เด•เตเดฑเตเดฑเตผ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป TL เด…เดจเตเดตเดฆเดฟเด•เตเด•เดพเดคเตเดคเดคเดฟเดจเดพเตฝ, เด…เดคเต เดตเดถเดคเตเดคเต เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด†เดคเตเดฏเดจเตเดคเดฟเด•เดฎเดพเดฏเดฟ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเดฑเดฏเตเดจเตเดจเต:

เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต‡ เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ "เดตเต†เด•เตเดฑเตเดฑเตผ" เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต (const 0x1cb5c415 = crc32("เดตเต†เด•เตเดฑเตเดฑเตผ t: เดคเดฐเด‚ # [ t ] = เดตเต†เด•เตเดฑเตเดฑเตผ t") เด…เดคเต t เดŸเตˆเดชเตเดชเดฟเดจเตเดฑเต† เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเดจเตเดฑเต† เดชเตเดฐเดคเตเดฏเต‡เด• เดฎเต‚เดฒเตเดฏเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เด“เดชเตเดทเดฃเตฝ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ t เดฏเตเดŸเต† เดฎเต‚เดฒเตเดฏเด‚ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดŸเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เด…เดคเต เดซเดฒ เดคเดฐเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด‰เดฐเตเดคเตเดคเดฟเดฐเดฟเดžเตเดžเดคเดพเดฃเต (เดกเต€เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเต เดฎเตเดฎเตเดชเต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต).

เดธเต‚เด•เตเดทเตเดฎเดฎเดพเดฏเดฟ เดจเต‹เด•เตเด•เตเด•: vector {t:Type} # [ t ] = Vector t - เดชเด•เตเดทเต‡ เด’เดฐเดฟเดŸเดคเตเดคเตเดฎเดฟเดฒเตเดฒ เดˆ เดจเดฟเตผเดตเดšเดจเด‚ เดคเดจเตเดจเต† เด†เดฆเตเดฏเดคเตเดคเต† เดธเด‚เด–เตเดฏ เดตเต†เด•เตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เดจเต€เดณเดคเตเดคเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ เดŽเดจเตเดจเต เดชเดฑเดฏเตเดจเตเดจเดฟเดฒเตเดฒ! เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เด…เดคเต เดŽเดตเดฟเดŸเต† เดจเดฟเดจเตเดจเตเด‚ เดตเดฐเตเดจเตเดจเดฟเดฒเตเดฒ. เด‡เดคเต เดฎเดจเดธเตเดธเดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด•เตˆเด•เตŠเดฃเตเดŸเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เด’เดฐเต เดฆเดพเดจเดฎเดพเดฃเต. เดฎเดฑเตเดฑเตŠเดฐเดฟเดŸเดคเตเดคเต, เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดธเดคเตเดฏเดธเดจเตเดงเดฎเดพเดฏเดฟ เดชเต‹เดฒเตเด‚ เดˆ เดคเดฐเด‚ เดฏเดฅเดพเตผเดคเตเดฅเดฎเดฒเตเดฒเต†เดจเตเดจเต เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจเต:

เดตเต†เด•เตเดฑเตเดฑเตผ เดŸเดฟ เดชเต‹เดณเดฟเดฎเต‹เตผเดซเดฟเด•เต เดธเตเดฏเต‚เดกเต‹เดŸเตˆเดชเตเดชเต เดŽเดจเตเดจเดคเต เด’เดฐเต "เดคเดฐเด‚" เด†เดฃเต, เด…เดคเดฟเดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เดฌเต‹เด•เตโ€Œเดธเต เดšเต†เดฏเตโ€Œเดคเดคเต‹ เดจเด—เตเดจเดฎเดพเดฏเดคเต‹ เด†เดฏ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดŸเดฟ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟเดฏเดพเดฃเต.

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

เดตเดดเดฟเดฏเดฟเตฝ, เดจเดฎเตเดชเดฑเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต. เด…เดคเต เดจเดฎเตเด•เตเด•เต เด“เตผเดฎเตเดฎเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚ # เด…เดคเตŠเดฐเต เดชเดฐเตเดฏเดพเดฏเดฎเดพเดฃเต nat, เดธเตเดตเดพเดญเดพเดตเดฟเด• เดธเด‚เด–เตเดฏ:

เดŸเตˆเดชเตเดชเต เดŽเด•เตเดธเตเดชเตเดฐเดทเดจเตเด•เตพ เด‰เดฃเตเดŸเต (type-expr) เด•เต‚เดŸเดพเดคเต† เดธเด‚เด–เตเดฏเดพ เดชเดฆเดชเตเดฐเดฏเต‹เด—เด™เตเด™เดณเตเด‚ (nat-expr). เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด…เดต เด…เดคเต‡ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

type-expr ::= expr
nat-expr ::= expr

เดŽเดจเตเดจเดพเตฝ เดตเตเดฏเดพเด•เดฐเดฃเดคเตเดคเดฟเตฝ เด…เดต เด…เดคเต‡ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต. เดˆ เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เดตเต€เดฃเตเดŸเตเด‚ เด“เตผเดฎเตเดฎเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเตเดตเดฎเต‡เดงเดฏเดพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚.

เดถเดฐเดฟ, เด…เดคเต†, เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดคเดฐเด™เตเด™เตพ (vector<int>, vector<User>) เด’เดฐเต เดชเตŠเดคเต เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เด‰เดฃเตเดŸเต (#1cb5c415), เด…เดคเดพเดฏเดคเต. เด•เต‹เตพ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดšเตเดšเดคเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเดฎเต†เด™เตเด•เดฟเตฝ

users.getUsers#d91a548 id:Vector<InputUser> = Vector<User>;

เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดตเต†เด•เตโ€ŒเดŸเดฑเดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเดฒเตเดฒ, เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเตเดŸเต† เดตเต†เด•เตโ€ŒเดŸเดฑเดพเดฃเต. เด•เต‚เดŸเตเดคเตฝ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ, เดšเต†เดฏเตเดฏเดฃเด‚ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด• - เดฏเดฅเดพเตผเดคเตเดฅ เด•เต‹เดกเดฟเตฝ, เด“เดฐเต‹ เด˜เดŸเด•เดคเตเดคเดฟเดจเตเด‚, เดจเด—เตเดจเดฎเดพเดฏ เดคเดฐเดฎเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เดจเดฒเตเดฒ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดคเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต - เดŽเดจเตเดจเดพเตฝ เดˆ เดตเต†เด•เตเดฑเตเดฑเดฑเดฟเดจเตเดฑเต† เดŽเดฒเตเดฒเดพ เด˜เดŸเด•เด™เตเด™เดณเดฟเดฒเตเด‚ เดžเด™เตเด™เตพ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เด…เดฏเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต เด† เดคเดฐเด‚? เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดค เด˜เดŸเด•เด™เตเด™เดณเดฟเตฝ เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดค เดคเดฐเด™เตเด™เตพ เด‰เตพเด•เตเด•เตŠเดณเตเดณเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เด’เดฐเต เด…เดฑเต‡เดฏเตโ€Œเด•เตเด•เต เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ PHP เด†เดฃเต†เด™เตเด•เดฟเดฒเต‹?

เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดšเดฟเดจเตเดคเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเต - เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดŸเดฟเดŽเตฝ เด†เดตเดถเตเดฏเดฎเดพเดฃเต‹? เด’เดฐเตเดชเด•เตเดทเต‡ เดตเดฃเตเดŸเดฟเด•เตเด•เต เด’เดฐเต เดนเตเดฏเต‚เดฎเตป เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต‹, เด…เดชเตเดชเต‹เดดเตเดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจ เด…เดคเต‡ เดชเตเดฐเต‹เดŸเตเดŸเต‹เดฌเดซเต? เด…เดคเดพเดฏเดฟเดฐเตเดจเตเดจเต เดธเดฟเดฆเตเดงเดพเดจเตเดคเด‚, เดจเดฎเตเด•เตเด•เต เดชเตเดฐเดพเด•เตเดŸเต€เดธเต เดจเต‹เด•เตเด•เดพเด‚.

เด•เต‹เดกเดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ TL เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฒเตเด•เตพ

เดฆเตเดฑเต‹เดตเดฟเดจเตเดฑเต† เด“เดนเดฐเดฟ เดตเดฟเตฝเดชเตเดชเดจเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดธเดฟเดฆเตเดงเดฎเดพเดฏ เดธเด‚เดญเดตเด™เตเด™เตพเด•เตเด•เต เดฎเตเดฎเตเดชเตเดคเดจเตเดจเต† VKontakte เดฏเตเดŸเต† เด†เดดเดคเตเดคเดฟเดฒเดพเดฃเต เดŸเดฟเดŽเตฝ เดœเดจเดฟเดšเตเดšเดคเต.เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚), เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เดตเดฟเด•เดธเดจเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเตเดคเดจเตเดจเต†. เด•เต‚เดŸเดพเดคเต† เด“เดชเตเดชเตบ เดธเต‹เดดเตเดธเดฟเดฒเตเด‚ เด†เดฆเตเดฏ เดจเดŸเดชเตเดชเดพเด•เตเด•เดฒเดฟเดจเตเดฑเต† เดธเต‹เดดเตเดธเต เด•เต‹เดกเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดงเดพเดฐเดพเดณเด‚ เดคเดฎเดพเดถเดฏเตเดณเตเดณ เดŠเดจเตเดจเตเดตเดŸเดฟเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เด•เดดเดฟเดฏเตเด‚. เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเตฝ เด‡เดชเตเดชเต‹เตพ เด‰เดณเตเดณเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดญเดพเดท เดคเดจเตเดจเต† เด…เดตเดฟเดŸเต† เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดธเตเด•เต€เดฎเดฟเตฝ เดนเดพเดทเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฟเดฒเตเดฒ (เดตเตเดฏเดคเดฟเดšเดฒเดฟเด•เตเด•เตเดจเตเดจ เดธเตเดตเดญเดพเดตเดฎเตเดณเตเดณ เด’เดฐเต เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดธเตเดฏเต‚เดกเต‹เดŸเตˆเดชเตเดชเต (เด’เดฐเต เดตเต†เด•เตเดฑเตเดฑเตผ เดชเต‹เดฒเต†) เดŽเดจเตเดจเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต). เด…เดฅเดตเดพ

Templates are not used now. Instead, the same universal constructors (for example, vector {t:Type} [t] = Vector t) are used w

เดŽเดจเตเดจเดพเตฝ เดชเต‚เตผเดฃเตเดฃเดคเดฏเตเด•เตเด•เดพเดฏเดฟ เดจเดฎเตเด•เตเด•เต เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เดพเด‚, เด…เด™เตเด™เดจเต† เดชเดฑเดžเตเดžเดพเตฝ, เดšเดฟเดจเตเดคเดฏเตเดŸเต† เดญเต€เดฎเดจเตเดฑเต† เดชเดฐเดฟเดฃเดพเดฎเด‚.

#define ZHUKOV_BYTES_HACK

#ifdef ZHUKOV_BYTES_HACK

/* dirty hack for Zhukov request */

เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดˆ เดฎเดจเต‹เดนเดฐเด‚:

    static const char *reserved_words_polymorhic[] = {

      "alpha", "beta", "gamma", "delta", "epsilon", "zeta", "eta", "theta", NULL

      };

เดˆ เดถเด•เดฒเด‚ เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเตเด•เดณเต† เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณเดคเดพเดฃเต:

intHash {alpha:Type} vector<coupleInt<alpha>> = IntHash<alpha>;

เด’เดฐเต เดนเดพเดทเตโ€Œเดฎเดพเดชเตเดชเต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดคเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดจเดฟเตผเดตเดšเดจเด‚ เด‡เดคเดพเดฃเต int - Type เดœเต‹เดกเดฟเด•เดณเตเดŸเต† เดตเต†เด•เตเดฑเตเดฑเตผ. C++ เตฝ เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเด‚:

    template <T> class IntHash {
      vector<pair<int,T>> _map;
    }

เด…เด™เตเด™เดจเต†, alpha - เด•เต€เดตเต‡เดกเต! เดŽเดจเตเดจเดพเตฝ C++ เตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เดจเดฟเด™เตเด™เตพเด•เตเด•เต T เดŽเดดเตเดคเดพเตป เด•เดดเดฟเดฏเต‚, เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เด†เตฝเดซ, เดฌเต€เดฑเตเดฑ เดŽเดดเตเดคเดฃเด‚ ... เดŽเดจเตเดจเดพเตฝ 8 เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เด‡เดฒเตเดฒ, เด…เดตเดฟเดŸเต†เดฏเดพเดฃเต เดซเดพเดจเตเดฑเดธเดฟ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเดคเต. เด’เดฐเดฟเด•เตเด•เตฝ เดธเต†เดจเตเดฑเต เดชเต€เดฑเตเดฑเต‡เดดเตโ€Œเดธเตเดฌเตผเด—เดฟเตฝ เด‡เดคเตเดชเต‹เดฒเต† เดšเดฟเดฒ เดกเดฏเดฒเต‹เด—เตเด•เตพ เดจเดŸเดจเตเดจเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต:

-- ะะฐะดะพ ัะดะตะปะฐั‚ัŒ ะฒ TL ัˆะฐะฑะปะพะฝั‹
-- ะ‘ะป... ะัƒ ะฟัƒัั‚ัŒ ะฟะฐั€ะฐะผะตั‚ั€ั‹ ะทะพะฒัƒั‚ ะฐะปัŒั„ะฐ, ะฑะตั‚ะฐ,... ะšะฐะบะธะต ั‚ะฐะผ ะตั‰ั‘ ะฑัƒะบะฒั‹ ะตัั‚ัŒ... ะž, ั‚ัั‚ะฐ!
-- ะ“ั€ะฐะผะผะฐั‚ะธะบะฐ? ะัƒ ะฟะพั‚ะพะผ ะฝะฐะฟะธัˆะตะผ

-- ะกะผะพั‚ั€ะธั‚ะต, ะบะฐะบะพะน ั ัะธะฝั‚ะฐะบัะธั ะฟั€ะธะดัƒะผะฐะป ะดะปั ัˆะฐะฑะปะพะฝะพะฒ ะธ ะฒะตะบั‚ะพั€ะฐ!
-- ะขั‹ ะดะพะปะฑะฐะฝัƒะปัั, ะบะฐะบ ะผั‹ ัั‚ะพ ะฟะฐั€ัะธั‚ัŒ ะฑัƒะดะตะผ?
-- ะ”ะฐ ะฝะต ััั‹ั‚ะต, ะพะฝ ั‚ะฐะผ ะพะดะธะฝ ะฒ ัั…ะตะผะต, ะทะฐั…ะฐั€ะบะพะดะธั‚ัŒ -- ะธ ะพะบ

เดŽเดจเตเดจเดพเตฝ เด‡เดคเต "เดชเตŠเดคเตเดตเดพเดฏเดฟ" TL เดจเตเดฑเต† เด†เดฆเตเดฏเดคเตเดคเต† เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดš เดจเดŸเดชเตเดชเดพเด•เตเด•เดฒเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเดพเดฏเดฟเดฐเตเดจเตเดจเต. เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเดฟเตฝ เดคเดจเตเดจเต† เดจเดŸเดชเตเดชเดพเด•เตเด•เดฒเตเด•เตพ เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเด‚.

เดตเดพเดธเดฟเดฒเดฟเดฏเต‹เดŸเตเดณเตเดณ เดตเดพเด•เตเด•เต:

Vasily, [09.10.18 17:07] เดŽเดฒเตเดฒเดพเดฑเตเดฑเดฟเดจเตเดฎเตเดชเดฐเดฟเดฏเดพเดฏเดฟ, เด•เดดเตเดค เดšเต‚เดŸเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เด…เดตเตผ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เด…เดฎเต‚เตผเดคเตเดคเดคเด•เตพ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต, เดคเตเดŸเตผเดจเตเดจเต เด…เดตเดฏเดฟเตฝ เด’เดฐเต เดฌเต‹เตพเดŸเตเดŸเต เด…เดŸเดฟเดšเตเดšเต, เด•เต‹เดกเต เดœเดจเดฑเต‡เดฑเตเดฑเดฑเดฟเดจเต† เดŠเดจเตเดจเตเดตเดŸเดฟเด•เตพ เด•เตŠเดฃเตเดŸเต เดฎเดฑเดšเตเดšเต.
เดซเดฒเดฎเดพเดฏเดฟ, เด†เดฆเตเดฏเด‚ เดกเต‹เด•เตเด•เต pilot.jpg-เตฝ เดจเดฟเดจเตเดจเต
เดคเตเดŸเตผเดจเตเดจเต dzhekichan.webp เดŽเดจเตเดจ เด•เต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต

เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เด…เตฝเด—เต‹เดฐเดฟเดคเด™เตเด™เดณเตเด‚ เด—เดฃเดฟเดคเดตเตเด‚ เดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณ เด†เดณเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต, เด…เดตเตผ Aho, Ullmann เดŽเดจเตเดจเดฟเดต เดตเดพเดฏเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เด…เดตเดฐเตเดŸเต† DSL เด•เด‚เดชเตˆเดฒเดฑเตเด•เตพ เดŽเดดเตเดคเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดฆเดถเดพเดฌเตเดฆเด™เตเด™เดณเดพเดฏเดฟ เดตเตเดฏเดตเดธเดพเดฏเดคเตเดคเดฟเตฝ เดฏเดฅเดพเตผเดคเตเดฅ เดจเดฟเดฒเดตเดพเดฐเดฎเดพเดฏเดฟ เดฎเดพเดฑเดฟเดฏ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดชเดฐเดฟเดšเดฟเดคเดฐเดพเดฃเต†เดจเตเดจเตเด‚ เดจเดฎเตเด•เตเด•เต เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เดพเด‚, เด…เดฒเตเดฒเต‡?

เดŽเดดเตเดคเดฟเดฏเดคเต เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚-เด•เตเดฒเดฟ เดตเดฟเดฑเตเดฑเดพเดฒเดฟ เดตเดพเตพเดŸเตเดŸเตเดฎเดพเตป เด†เดฃเต, TLO เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เด…เดคเดฟเดจเตเดฑเต† (cli) เด…เดคเดฟเดฐเตเด•เตพเด•เตเด•เต เดชเตเดฑเดคเตเดคเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเด‚, เดŸเต€เดฎเดฟเดฒเต† เด’เดฐเต เด…เด‚เด—เด‚ - เด‡เดชเตเดชเต‹เตพ TL เดชเดพเดดเตโ€Œเดธเดฟเด‚เด—เดฟเดจเดพเดฏเดฟ เด’เดฐเต เดฒเตˆเดฌเตเดฐเดฑเดฟ เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดชเตเดฐเดคเตเดฏเต‡เด•เด‚, เด…เดตเดณเตเดŸเต† เดฎเดคเดฟเดชเตเดชเต เดŽเดจเตเดคเดพเดฃเต TL เดชเดพเดดเตเดธเตผ? ..

16.12 04:18 เดตเดพเดธเดฟเดฒเดฟ: เด†เดฐเต†เด™เตเด•เดฟเดฒเตเด‚ lex+yacc-เตฝ เดชเตเดฐเดพเดตเต€เดฃเตเดฏเด‚ เดจเต‡เดŸเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต
16.12 04:18 เดตเดพเดธเดฟเดฒเดฟ: เดŽเดจเดฟเด•เตเด•เต เด…เดคเต เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ
16.12 04:18 เดตเดพเดธเดฟเดฒเดฟ: เดจเดจเตเดจเดพเดฏเดฟ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ VK เดฒเต† เดตเดฐเดฟเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเดคเตเดคเดฟเดจเต เด…เดตเตผเด•เตเด•เต เดชเดฃเด‚ เดฒเดญเดฟเดšเตเดšเต
16.12 04:19 เดตเดพเดธเดฟเดฒเดฟ: 3k+ เดตเดฐเดฟเด•เตพ เดฎเตเดคเดฒเดพเดฏเดต.<censored> เด’เดฐเต เดชเดพเดดเตเดธเดฑเดฟเดจเต เดชเด•เดฐเด‚

เด’เดฐเตเดชเด•เตเดทเต‡ เด’เดฐเต เด…เดชเดตเดพเดฆเด‚? เดŽเด™เตเด™เดจเต†เดฏเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เด‡เดคเดพเดฃเต เด”เดฆเตเดฏเต‹เด—เดฟเด• เด•เตเดฒเดฏเดจเตเดฑเต - เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต:

    nametype = re.match(r'([a-zA-Z.0-9_]+)(#[0-9a-f]+)?([^=]*)=s*([a-zA-Z.<>0-9_]+);', line);
    if (not nametype):
      if (not re.match(r'vector#1cb5c415 {t:Type} # [ t ] = Vector t;', line)):
         print('Bad line found: ' + line);

เดชเตˆเดคเตเดคเดฃเดฟเดฒเต† 1100+ เดตเดฐเดฟเด•เตพ, เดฐเดฃเตเดŸเต เดชเดคเดฟเดตเต เดŽเด•เตโ€Œเดธเตโ€Œเดชเตเดฐเดทเดจเตเด•เตพ + เดตเต†เด•เตเดฑเตเดฑเตผ เดชเต‹เดฒเตเดณเตเดณ เดชเตเดฐเดคเตเดฏเต‡เด• เด•เต‡เดธเตเด•เตพ, เด‡เดคเต เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดŸเดฟเดŽเตฝ เดตเดพเด•เตเดฏเด˜เดŸเดจ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เดธเตเด•เต€เดฎเดฟเตฝ เดชเตเดฐเด–เตเดฏเดพเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เดชเด•เตเดทเต‡ เด…เดคเต เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเดพเตป เด…เดตเตผ เดˆ เดตเดพเด•เตเดฏเด˜เดŸเดจเดฏเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเต... เดšเต‹เดฆเตเดฏเด‚ เด‰เดฏเดฐเตเดจเตเดจเต, เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด‡เดคเต†เดฒเตเดฒเดพเด‚ เด’เดฐเต เด…เดคเตเดญเตเดคเด‚?ะธเดŽเดจเตเดคเดพเดฏเดพเดฒเตเด‚ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เด…เดจเตเดธเดฐเดฟเดšเตเดšเต เด†เดฐเตเด‚ เด‡เดคเต เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเดพเตป เดชเต‹เด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‡เดคเต เด•เต‚เดŸเตเดคเตฝ เดชเดพเดณเดฟเดฏเดพเดฃเต‹?!

เดชเดฑเดฏเดŸเตเดŸเต†... CRC32 เดšเต†เด•เตเด•เดฟเด™เตเด™เดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฎเตเดฎเตพ เดธเด‚เดธเดพเดฐเดฟเดšเตเดšเดคเต เด“เตผเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹? เด…เดคเดฟเดจเดพเตฝ, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต เด•เต‹เดกเต เดœเดจเดฑเต‡เดฑเตเดฑเดฑเดฟเตฝ CRC32 เด•เดฃเด•เตเด•เดพเด•เตเด•เดฟเดฏ เดคเดฐเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เด’เดดเดฟเดตเดพเด•เตเด•เดฒเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต เด‰เดฃเตเดŸเต. เดšเต‡เดฐเตเดจเตเดจเดฟเดฒเตเดฒ เดกเดฏเด—เตเดฐเดพเดฎเดฟเตฝ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดจเตเดจเดฟเดจเตŠเดชเตเดชเด‚!

Vasily, [18.12/22 49:XNUMX] เด‡เดตเดฟเดŸเต† เดžเดพเตป เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเด‚ เด…เด™เตเด™เดจเต†เดฏเตŠเดฐเต TL เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต
เด‡เดคเดฐ เดจเดฟเตผเดตเตเดตเดนเดฃเด™เตเด™เดณเดฟเตฝ เด•เตเดดเดชเตเดชเดฎเตเดฃเตเดŸเดพเด•เตเด•เดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดžเดพเตป เดฒเตˆเตป เดฌเตเดฐเต‡เด•เตเด•เตเด•เตพ เดšเต‡เตผเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเด‚, เดชเดพเดดเตเดธเดฑเตเด•เดณเดฟเตฝ เดชเด•เตเดคเดฟเดฏเตเด‚ เดฎเตพเดŸเตเดŸเดฟ-เดฒเตˆเตป เดจเดฟเตผเดตเดšเดจเด™เตเด™เดณเดฟเตฝ เดคเด•เดฐเตเด‚
tdesktop, เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚

เดตเตบ-เดฒเตˆเดจเดฑเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด•เดพเดฐเตเดฏเด‚ เด“เตผเด•เตเด•เตเด•, เด•เตเดฑเดšเตเดšเต เด•เดดเดฟเดžเตเดžเต เดžเด™เตเด™เตพ เด…เดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด‚.

เดถเดฐเดฟ, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚-เด•เตเดฒเดฟ เด…เดจเต—เดฆเตเดฏเต‹เด—เดฟเด•เดฎเดพเดฃเต, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต เด”เดฆเตเดฏเต‹เด—เดฟเด•เดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเตเดณเตเดณเดตเดฏเตเดŸเต† เด•เดพเดฐเตเดฏเดฎเต‹? เด†เตผเด•เตเด•เดฑเดฟเดฏเดพเด‚?.. เด†เตปเดกเตเดฐเต‹เดฏเดฟเดกเต เด•เตเดฒเดฏเดจเตเดฑเต เด•เต‹เดกเดฟเตฝ เดธเตเด•เต€เดฎ เดชเดพเดดเตโ€Œเดธเตผ เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ (เด‡เดคเต เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดšเต‹เดฆเตเดฏเด™เตเด™เตพ เด‰เดฏเตผเดคเตเดคเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด‡เดคเต เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเดจเตเดณเตเดณเดคเดพเดฃเต), เดŽเดจเตเดจเดพเตฝ เดฎเดฑเตเดฑเต เดฐเดธเด•เดฐเดฎเดพเดฏ เดจเดฟเดฐเดตเดงเดฟ เด•เต‹เดกเต เด•เดทเดฃเด™เตเด™เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เด…เดตเดฏเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดคเดพเดดเต† เด‰เดชเดตเดฟเดญเดพเด—เด‚.

เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เดฎเดฑเตเดฑเต เดŽเดจเตเดคเต เดšเต‹เดฆเตเดฏเด™เตเด™เตพ เด‰เดฏเตผเดคเตเดคเตเดจเตเดจเต? เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดตเตผ เดงเดพเดฐเดพเดณเด‚ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดšเต†เดฏเตเดคเต, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดฌเดฟเดฑเตเดฑเต เดซเต€เตฝเดกเตเด•เดณเตเด‚ เดธเต‹เดชเดพเดงเดฟเด• เดซเต€เตฝเดกเตเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต:

เดตเดพเดธเดฟเดฒเดฟ: flags.0? true
เดซเต€เตฝเดกเต เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เดชเดคเดพเด• เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟเดฏเดพเตฝ เดถเดฐเดฟเดฏเดพเดฃเต†เดจเตเดจเตเด‚ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเต

เดตเดพเดธเดฟเดฒเดฟ: flags.1? int
เดซเต€เตฝเดกเต เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เด…เดคเต เดกเต€เดฐเดฟเดฏเดฒเตˆเดธเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต†เดจเตเดจเตเด‚ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเต

เดตเดพเดธเดฟเดฒเดฟ: เด•เดดเตเดค, เดจเดฟเด™เตเด™เตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดตเดฟเดทเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸ!
เดตเดพเดธเดฟเดฒเดฟ: เดธเดคเตเดฏเดฎเต†เดจเตเดจเดคเต เดตเต†เดฑเตเด‚ เดชเต‚เดœเตเดฏเด‚ เดจเต€เดณเดฎเตเดณเตเดณ เดคเดฐเดฎเดพเดฃเต†เดจเตเดจเต เดชเตเดฐเดฎเดพเดฃเดคเตเดคเดฟเตฝ เดŽเดตเดฟเดŸเต†เดฏเต‹ เดชเดฐเดพเดฎเตผเดถเดฎเตเดฃเตเดŸเต, เดชเด•เตเดทเต‡ เด…เดตเดฐเตเดŸเต† เดกเต‹เด•เตโ€Œเดธเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดจเตเดจเตเด‚ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเด• เด…เดธเดพเดงเตเดฏเดฎเดพเดฃเต
เดตเดพเดธเดฟเดฒเดฟ: เด“เดชเตเดชเตบ เดธเต‹เดดเตโ€Œเดธเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฒเตเด•เดณเดฟเตฝ เด‡เดคเต เด…เด™เตเด™เดจเต†เดฏเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เด•เตเดฐเดšเตเดšเตเด•เดณเตเด‚ เดชเดฟเดจเตเดคเตเดฃเด•เดณเตเด‚ เด‰เดฃเตเดŸเต

เดŸเต†เดฒเดฟเดคเตเดคเดฃเดฟเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดฎเต‹? MTPproto เดŽเดจเตเดจ เดตเดฟเดทเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเต‹เด•เตเด•เตเดฎเตเดชเต‹เตพ, เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ - เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ เด…เดคเตเดคเดฐเด‚ เดญเดพเด—เด™เตเด™เดณเตเดฃเตเดŸเต, เดชเด•เตเดทเต‡ เด…เดŸเดฏเดพเดณเด‚ % เด…เดคเต "เด’เดฐเต เดจเด—เตเดจเดฎเดพเดฏ เดคเดฐเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดคเต" เดŽเดจเตเดจเต เดฎเดพเดคเตเดฐเดฎเต‡ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดณเตเดณเต‚, เด…เดคเดพเดฏเดคเต. เดšเตเดตเดŸเต†เดฏเตเดณเตเดณ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเดฟเตฝ เด’เดฐเต เดชเดฟเดถเด•เต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเดพเดคเตเดค เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเต:

เดตเดพเดธเดฟเดฒเดฟ, [22.06.18 18:38] เด’เดฐเดฟเดŸเดคเตเดคเต:

msg_container#73f1f8dc messages:vector message = MessageContainer;

เดฎเดฑเตเดฑเตŠเดฐเต เดฐเต€เดคเดฟเดฏเดฟเตฝ:

msg_container#73f1f8dc messages:vector<%Message> = MessageContainer;

เด‡เดต เดฐเดฃเตเดŸเต เดตเดฒเดฟเดฏ เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เดณเดพเดฃเต, เดฏเดฅเดพเตผเดคเตเดฅ เดœเต€เดตเดฟเดคเดคเตเดคเดฟเตฝ เด’เดฐเตเดคเดฐเด‚ เดจเด—เตเดจ เดตเต†เด•เตเดฑเตเดฑเตผ เดตเดฐเตเดจเตเดจเต

เดžเดพเตป เดตเต†เด•เตเดฑเตเดฑเตผ เดจเดฟเตผเดตเดšเดจเด‚ เด•เดฃเตเดŸเดฟเดŸเตเดŸเดฟเดฒเตเดฒ, เด…เดคเตŠเดจเตเดจเตเด‚ เด•เดฃเตเดŸเดฟเดŸเตเดŸเดฟเดฒเตเดฒ

เดŸเต†เดฒเดฟเดคเตเดคเดฃเดฟเตฝ เด•เตˆเด•เตŠเดฃเตเดŸเต เดตเดฟเดถเด•เดฒเดจเด‚ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต

เด…เดฆเตเดฆเต‡เดนเดคเตเดคเดฟเดจเตเดฑเต† เดกเดฏเด—เตเดฐเดพเดฎเดฟเตฝ เดจเดฟเตผเดตเดšเดจเด‚ เด…เดญเดฟเดชเตเดฐเดพเดฏเดชเตเดชเต†เดŸเตเดŸเต msg_container

เดตเต€เดฃเตเดŸเตเด‚, เดšเต‹เดฆเตเดฏเด‚ เดเด•เดฆเต‡เดถเด‚% เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเต เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ.

เดตเดพเดกเดฟเด‚ เด—เต‹เดžเตเดšเดฑเต‹เดตเต, [22.06.18 19:22] เด•เต‚เดŸเดพเดคเต† เดŸเดฟเดกเต†เดธเตโ€Œเด•เตโ€ŒเดŸเต‹เดชเตเดชเดฟเดฒเตเด‚?

Vasily, [22.06.18 19:23] เดŽเดจเตเดจเดพเตฝ เดธเดพเดงเดพเดฐเดฃ เดŽเดžเตเดšเดฟเดจเตเด•เดณเดฟเดฒเต† เด…เดตเดฐเตเดŸเต† TL เดชเดพเดดเตเดธเตผ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เด‡เดคเตเด‚ เด•เดดเดฟเด•เตเด•เดฟเดฒเตเดฒ.

// parsed manually

TL เด’เดฐเต เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดธเด‚เด—เตเดฐเดนเดฎเดพเดฃเต, เด†เดฐเตเด‚ เด…เดคเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ

เด•เต‚เดŸเดพเดคเต† % เด…เดตเดฐเตเดŸเต† เดธเตเด•เต€เดฎเดฟเดจเตเดฑเต† เดชเดคเดฟเดชเตเดชเดฟเดฒเดฟเดฒเตเดฒ

เดŽเดจเตเดจเดพเตฝ เด‡เดตเดฟเดŸเต† เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดคเดจเตเดจเต† เดตเดฟเดฐเตเดฆเตเดงเดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ idk

เด‡เดคเต เดตเตเดฏเดพเด•เดฐเดฃเดคเตเดคเดฟเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดฟ, เด…เตผเดคเตเดฅเดถเดพเดธเตเดคเตเดฐเด‚ เดตเดฟเดตเดฐเดฟเด•เตเด•เดพเตป เด…เดตเตผเด•เตเด•เต เดฎเดฑเด•เตเด•เดพเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต

เดจเดฟเด™เตเด™เตพ TL-เตฝ เดชเตเดฐเดฎเดพเดฃเด‚ เด•เดฃเตเดŸเต, เด…เดฐ เดฒเดฟเดฑเตเดฑเดฑเดฟเดฒเตเดฒเดพเดคเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ

"เดถเดฐเดฟ, เดจเดฎเตเด•เตเด•เต เดชเดฑเดฏเดพเด‚," เดฎเดฑเตเดฑเตŠเดฐเต เดตเดพเดฏเดจเด•เตเด•เดพเดฐเตป เดชเดฑเดฏเตเด‚, "เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเดฟเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดŽเด™เตเด™เดจเต† เดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต เดŽเดจเตเดจเต† เด•เดพเดฃเดฟเด•เตเด•เต‚."

เดตเดพเดธเดฟเดฒเดฟ เดฎเดฑเตเดชเดŸเดฟ เดชเดฑเดฏเตเดจเตเดจเต: โ€œเดชเดพเดดเตโ€Œเดธเดฑเดฟเดจเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเดฟเดŸเดคเตเดคเต‹เดณเด‚, เดŽเดจเดฟเด•เตเด•เต เด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด‡เดทเตเดŸเดฎเดพเดฃเต

    args: /* empty */ { $$ = NULL; }
        | args arg { $$ = g_list_append( $1, $2 ); }
        ;

    arg: LC_ID ':' type-term { $$ = tl_arg_new( $1, $3 ); }
            | LC_ID ':' condition '?' type-term { $$ = tl_arg_new_cond( $1, $5, $3 ); free($3); }
            | UC_ID ':' type-term { $$ = tl_arg_new( $1, $3 ); }
            | type-term { $$ = tl_arg_new( "", $1 ); }
            | '[' LC_ID ']' { $$ = tl_arg_new_mult( "", tl_type_new( $2, TYPE_MOD_NONE ) ); }
            ;

เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดคเดฟเดจเต†เด•เตเด•เดพเตพ เดจเดจเตเดจเดพเดฏเดฟ เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเต

struct tree *parse_args4 (void) {
  PARSE_INIT (type_args4);
  struct parse so = save_parse ();
  PARSE_TRY (parse_optional_arg_def);
  if (S) {
    tree_add_child (T, S);
  } else {
    load_parse (so);
  }
  if (LEX_CHAR ('!')) {
    PARSE_ADD (type_exclam);
    EXPECT ("!");
  }
  PARSE_TRY_PES (parse_type_term);
  PARSE_OK;
}

เด…เดฅเดตเดพ

        # Regex to match the whole line
        match = re.match(r'''
            ^                  # We want to match from the beginning to the end
            ([w.]+)           # The .tl object can contain alpha_name or namespace.alpha_name
            (?:
                #             # After the name, comes the ID of the object
                ([0-9a-f]+)    # The constructor ID is in hexadecimal form
            )?                 # If no constructor ID was given, CRC32 the 'tl' to determine it

            (?:s              # After that, we want to match its arguments (name:type)
                {?             # For handling the start of the '{X:Type}' case
                w+            # The argument name will always be an alpha-only name
                :              # Then comes the separator between name:type
                [wd<>#.?!]+  # The type is slightly more complex, since it's alphanumeric and it can
                               # also have Vector<type>, flags:# and flags.0?default, plus :!X as type
                }?             # For handling the end of the '{X:Type}' case
            )*                 # Match 0 or more arguments
            s                 # Leave a space between the arguments and the equal
            =
            s                 # Leave another space between the equal and the result
            ([wd<>#.?]+)     # The result can again be as complex as any argument type
            ;$                 # Finally, the line should always end with ;
            ''', tl, re.IGNORECASE | re.VERBOSE)

เด‡เดคเดพเดฃเต เดนเต‹เตพ เดฒเต†เด•เตโ€Œเดธเตผ:

    ---functions---         return FUNCTIONS;
    ---types---             return TYPES;
    [a-z][a-zA-Z0-9_]*      yylval.string = strdup(yytext); return LC_ID;
    [A-Z][a-zA-Z0-9_]*      yylval.string = strdup(yytext); return UC_ID;
    [0-9]+                  yylval.number = atoi(yytext); return NUM;
    #[0-9a-fA-F]{1,8}       yylval.number = strtol(yytext+1, NULL, 16); return ID_HASH;

    n                      /* skip new line */
    [ t]+                  /* skip spaces */
    //.*$                 /* skip comments */
    /*.**/              /* skip comments */
    .                       return (int)yytext[0];

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

เดชเตŠเดคเตเดตเต‡, เดซเดฒเดคเตเดคเดฟเตฝ, TL-เดจเตเดฑเต† เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš เด‰เดชเดธเต†เดฑเตเดฑเดฟเดจเตเดณเตเดณ เดชเดพเดดเตเดธเดฑเตเด‚ เด•เต‹เดกเต เดœเดจเดฑเต‡เดฑเตเดฑเดฑเตเด‚ เดเด•เดฆเต‡เดถเด‚ 100 เดตเดฐเดฟ เดตเตเดฏเดพเด•เดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเด‚ เดœเดจเดฑเต‡เดฑเตเดฑเดฑเดฟเดจเตเดฑเต† ~300 เดฒเตˆเดจเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต (เดŽเดฒเตเดฒเดพเด‚ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต printเดฏเตเดŸเต† เดœเดจเดฑเต‡เดฑเตเดฑเดกเต เด•เต‹เดกเต), เด“เดฐเต‹ เด•เตเดฒเดพเดธเดฟเดฒเต†เดฏเตเด‚ เด†เดคเตเดฎเดชเดฐเดฟเดถเต‹เดงเดจเดฏเตเด•เตเด•เตเดณเตเดณ เดŸเตˆเดชเตเดชเต เด‡เตปเดซเตผเดฎเต‡เดทเตป เดฌเตบ เด‰เตพเดชเตเดชเต†เดŸเต†. เด“เดฐเต‹ เดชเต‹เดณเดฟเดฎเต‹เตผเดซเดฟเด•เต เดคเดฐเดตเตเด‚ เด’เดฐเต เดถเต‚เดจเตเดฏเดฎเดพเดฏ เด…เดฎเต‚เตผเดคเตเดค เด…เดŸเดฟเดธเตเดฅเดพเดจ เด•เตเดฒเดพเดธเดพเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด•เตบเดธเตเดŸเตเดฐเด•เตโ€ŒเดŸเตผเดฎเดพเตผ เด…เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดพเดฐเดฎเตเดชเดฐเตเดฏเดฎเดพเดฏเดฟ เดฎเดพเดฑเตเด•เดฏเตเด‚ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเตเด‚ เดกเดฟเดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเตเดฎเตเดณเตเดณ เดฐเต€เดคเดฟเด•เดณเตเดฃเตเดŸเต.

เดคเดฐเด‚ เดญเดพเดทเดฏเดฟเตฝ เดคเดฐเด™เตเด™เดณเตเดŸเต† เด…เดญเดพเดตเด‚

เดถเด•เตเดคเดฎเดพเดฏ เดŸเตˆเดชเตเดชเดฟเด‚เด—เต เด’เดฐเต เดจเดฒเตเดฒ เด•เดพเดฐเตเดฏเดฎเดพเดฃเต, เด…เดฒเตเดฒเต‡? เด‡เดฒเตเดฒ, เด‡เดคเต เด’เดฐเต เดนเต‹เดณเดฟเดตเตผ เด…เดฒเตเดฒ (เดŽเดจเดฟเด•เตเด•เต เดšเดฒเดจเดพเดคเตเดฎเด• เดญเดพเดทเด•เตพ เด†เดฃเต†เด™เตเด•เดฟเดฒเตเด‚) TL-เดจเตเดฑเต† เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเดฟเดจเตเดณเตเดณเดฟเดฒเต† เด’เดฐเต เดชเต‹เดธเตเดฑเตเดฑเตเดฒเต‡เดฑเตเดฑเดพเดฃเต. เด…เดคเดฟเดจเตเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ, เดญเดพเดท เดจเดฎเตเด•เตเด•เต เดŽเดฒเตเดฒเดพเดคเตเดคเดฐเด‚ เดชเดฐเดฟเดถเต‹เดงเดจเด•เดณเตเด‚ เดจเตฝเด•เดฃเด‚. เดถเดฐเดฟ, เดถเดฐเดฟ, เด’เดฐเตเดชเด•เตเดทเต‡ เด…เดตเตป เดคเดจเตเดจเต†เดฏเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ, เดชเด•เตเดทเต‡ เด…เดตเตป เด…เดตเดฐเต† เดตเดฟเดตเดฐเดฟเด•เตเด•เดฃเด‚. เดชเดฟเดจเตเดจเต† เดเดคเตเดคเดฐเด‚ เด…เดตเดธเดฐเด™เตเด™เดณเดพเดฃเต เดจเดฎเตเดฎเตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดคเต?

เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด™เตเด™เตพ. เดซเดฏเดฒเตเด•เตพ เด…เดชเตโ€Œเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ เดžเด™เตเด™เตพ เด‡เดตเดฟเดŸเต† เด•เดพเดฃเตเดจเตเดจเต:

เดซเดฏเดฒเดฟเดจเตเดฑเต† เดฌเตˆเดจเดฑเดฟ เด‰เดณเตเดณเดŸเด•เตเด•เด‚ เดชเดฟเดจเตเดจเต€เดŸเต เดญเดพเด—เด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต. เดŽเดฒเตเดฒเดพ เดญเดพเด—เด™เตเด™เตพเด•เตเด•เตเด‚ เด’เดฐเต‡ เดตเดฒเดฟเดชเตเดชเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ ( เดญเดพเด—เด‚_เดตเดฒเดฟเดชเตเดชเด‚ ) เด•เต‚เดŸเดพเดคเต† เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดตเตเดฏเดตเดธเตเดฅเด•เตพ เดชเดพเดฒเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

  • part_size % 1024 = 0 (1KB เด•เตŠเดฃเตเดŸเต เดนเดฐเดฟเด•เตเด•เดพเด‚)
  • 524288 % part_size = 0 (512KB เดญเดพเด—เด‚_เดตเดฒเดฟเดชเตเดชเด‚ เด•เตŠเดฃเตเดŸเต เดคเตเดฒเตเดฏเดฎเดพเดฏเดฟ เดนเดฐเดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚)

เด…เดคเดฟเดจเตเดฑเต† เดตเดฒเดฟเดชเตเดชเด‚ part_size-เดจเต‡เด•เตเด•เดพเตพ เด•เตเดฑเดตเดพเดฃเต†เด™เตเด•เดฟเตฝ เด…เดตเดธเดพเดจ เดญเดพเด—เดคเตเดคเดฟเดจเต เดˆ เดตเตเดฏเดตเดธเตเดฅเด•เตพ เดชเดพเดฒเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ.

เด“เดฐเต‹ เดญเดพเด—เดคเตเดคเดฟเดจเตเด‚ เด’เดฐเต เดธเต€เด•เตเดตเตปเดธเต เดจเดฎเตเดชเตผ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚, เดซเดฏเตฝ_เดญเดพเด—เด‚, 0 เดฎเตเดคเตฝ 2,999 เดตเดฐเต†เดฏเตเดณเตเดณ เดฎเต‚เดฒเตเดฏเด‚.

เดซเดฏเตฝ เดชเดพเตผเดŸเตเดŸเต€เดทเตป เดšเต†เดฏเตเดค เดถเต‡เดทเด‚ เดธเต†เตผเดตเดฑเดฟเตฝ เดธเต‡เดตเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฐเต€เดคเดฟ เดจเดฟเด™เตเด™เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• upload.saveBigFilePart เดซเดฏเดฒเดฟเดจเตเดฑเต† เดชเต‚เตผเดฃเตเดฃ เดตเดฒเตเดชเตเดชเด‚ 10 MB-เดฏเดฟเตฝ เด•เต‚เดŸเตเดคเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ upload.saveFilePart เดšเต†เดฑเดฟเดฏ เดซเดฏเดฒเตเด•เตพเด•เตเด•เดพเดฏเดฟ.
[โ€ฆ] เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดกเดพเดฑเตเดฑ เด‡เตปเดชเตเดŸเตเดŸเต เดชเดฟเดถเด•เตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เดจเตฝเด•เดพเด‚:

  • FILE_PARTS_INVALID โ€” เดญเดพเด—เด™เตเด™เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด…เดธเดพเดงเตเดตเดพเดฃเต. เดฎเต‚เดฒเตเดฏเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณเดคเดฒเตเดฒ 1..3000

เด‡เดคเดฟเดฒเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดกเดฏเด—เตเดฐเดพเดฎเดฟเดฒเตเดฃเตเดŸเต‹? เด‡เดคเต เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ TL เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเด•เดŸเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเดพเด•เตเดฎเต‹? เด‡เดฒเตเดฒ. เดชเด•เตเดทเต‡ เด•เตเดทเดฎเดฟเด•เตเด•เดฃเด‚, เดฎเตเดคเตเดคเดšเตเด›เดจเตเดฑเต† เดŸเตผเดฌเต‹ เดชเดพเดธเตเด•เดฒเดฟเดจเต เดชเต‹เดฒเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เดคเดฐเด™เตเด™เตพ เดตเดฟเดตเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดžเตเดžเต เดถเตเดฐเต‡เดฃเดฟเด•เตพ. เด•เต‚เดŸเดพเดคเต† เด’เดฐเต เด•เดพเดฐเตเดฏเด‚ เด•เต‚เดŸเดฟ เด…เดตเดจเดฑเดฟเดฏเดพเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด‡เดชเตเดชเต‹เตพ เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต enum - เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค (เดšเต†เดฑเดฟเดฏ) เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เด•เดฃเด•เตเด•เต เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจ เด’เดฐเต เดคเดฐเด‚. เดธเดฟ - เดจเตเดฏเต‚เดฎเต†เดฑเดฟเด•เต เดชเต‹เดฒเตเดณเตเดณ เดญเดพเดทเด•เดณเดฟเตฝ, เดžเด™เตเด™เตพ เด‡เดคเตเดตเดฐเต† เดคเดฐเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดธเด‚เดธเดพเดฐเดฟเดšเตเดšเดคเต เดธเด‚เด–เตเดฏเด•เตพ. เดŽเดจเตเดจเดพเตฝ เด…เดฑเต‡เด•เดณเตเด‚ เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด•เดณเตเด‚ เด‰เดฃเตเดŸเต... เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดˆ เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเตฝ เด’เดฐเต เดซเต‹เตบ เดจเดฎเตเดชเตผ เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เตพเด•เตเด•เตŠเดณเตเดณเดพเตป เด•เดดเดฟเดฏเต‚ เดŽเดจเตเดจเต เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดจเตเดจเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด…เดฒเตเดฒเต‡?

เด‡เดคเตŠเดจเตเดจเตเด‚ TL-เตฝ เด‡เดฒเตเดฒ. เดชเด•เตเดทเต‡, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, JSON เดธเตเด•เต€เดฎเดฏเดฟเตฝ เด‰เดฃเตเดŸเต. 512 KB เดฏเตเดŸเต† เดกเดฟเดตเดฟเดธเดฟเดฌเดฟเดฒเดฟเดฑเตเดฑเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเดฑเตเดฑเตŠเดฐเดพเตพ เดตเดพเดฆเดฟเดšเตเดšเดพเตฝ, เด‡เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เด•เต‹เดกเดฟเตฝ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดคเตเดŸเตผเดจเตเดจเต เด•เตเดฒเดฏเดจเตเดฑเต เดฒเดณเดฟเดคเดฎเดพเดฏเดฟ เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเด• เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ เดชเดฐเดฟเดงเดฟเด•เตเด•เต เดชเตเดฑเดคเตเดคเต เด’เดฐเต เดจเดฎเตเดชเตผ เด…เดฏเดฏเตเด•เตเด•เตเด• 1..3000 (เด…เดจเตเดฌเดจเตเดง เดชเดฟเดถเด•เต เด‰เดฃเตเดŸเดพเด•เตเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดฒเตเดฒ) เด…เดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด…เดฒเตเดฒเต‡?..

เดตเดดเดฟเดฏเดฟเตฝ, เดชเดฟเดถเด•เตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เดฑเดฟเดŸเตเดŸเต‡เตบ เดฎเต‚เดฒเตเดฏเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚. TL-เตฝ เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดณเตเดณเดตเตผ เดชเต‹เดฒเตเด‚ เด…เดตเดฐเตเดŸเต† เด•เดฃเตเดฃเตเด•เตพ เดฎเด™เตเด™เตเดจเตเดจเต - เด…เดคเต เดžเด™เตเด™เตพเด•เตเด•เต เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเดฏเดฟเดฒเตเดฒ เด“เดฐเต‹เดจเตเดจเตเด‚ TL-เดฒเต† เด’เดฐเต เดซเด‚เด—เตโ€Œเดทเดจเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดš เดฑเดฟเดŸเตเดŸเต‡เตบ เดคเดฐเด‚ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เด’เดฐเต เดชเดฟเดถเด•เตเด‚ เดจเตฝเด•เดพเด‚. เดŽเดจเตเดจเดพเตฝ เด‡เดคเต TL เดคเดจเตเดจเต† เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดคเดฐเดคเตเดคเดฟเดฒเตเด‚ เดŠเดนเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เด‡เดคเต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต, เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เด’เดจเตเดจเตเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ (เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เด†เตผโ€Œเดชเดฟโ€Œเดธเดฟ เดตเตเดฏเดคเตเดฏเดธเตเดค เดฐเต€เดคเดฟเด•เดณเดฟเตฝ เดšเต†เดฏเตเดฏเดพเดฎเต†เด™เตเด•เดฟเดฒเตเด‚, เดžเด™เตเด™เตพ เด‡เดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เดพเด‚) - เดŽเดจเตเดจเดพเตฝ เด…เดฎเต‚เตผเดคเตเดค เดคเดฐเด™เตเด™เดณเตเดŸเต† เด—เดฃเดฟเดคเดถเดพเดธเตเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต† เด†เดถเดฏเด™เตเด™เดณเตเดŸเต† เดถเตเดฆเตเดงเดฟเดฏเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเต†เดจเตเดคเต เดธเตเดตเตผเด—เตเด—เต€เดฏ เดฒเต‹เด•เดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต‹?.. เดžเดพเตป เดŸเด—เตเด—เต เดŽเดŸเตเดคเตเดคเต - เด…เดคเต เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•

เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เดตเดพเดฏเดจเดพเด•เตเดทเดฎเดคเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต? เดถเดฐเดฟ, เด…เดตเดฟเดŸเต†, เดชเตŠเดคเตเดตเต‡, เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต เดตเดฟเดตเดฐเดฃเด‚ เด‡เดคเต เดธเตเด•เต€เดฎเดฏเดฟเตฝ เดถเดฐเดฟเดฏเตเดฃเตเดŸเต‹ (JSON เดธเตเด•เต€เดฎเดฏเดฟเตฝ, เดตเต€เดฃเตเดŸเตเด‚, เด…เดคเต), เดŽเดจเตเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด…เดคเต เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดชเตเดฐเดพเดฏเต‹เด—เดฟเด• เดตเดถเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดŽเดจเตเดคเดพเดฃเต - เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เตพ เดจเดฟเดธเตเดธเดพเดฐเดฎเดพเดฏเดฟ เดจเต‹เด•เตเด•เตเด•? เดŽเดจเตเดจเดคเดฟเตฝ เดธเตเดตเดฏเด‚ เด•เดพเดฃเตเด• เดฏเดฅเดพเตผเดคเตเดฅ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ:

-channelFull#76af5481 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int = ChatFull;
+channelFull#1c87a71a flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_view_stats:flags.12?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int = ChatFull;

เด…เดฅเดตเดพ

-message#44f9b43d flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true id:int from_id:flags.8?int to_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long = Message;
+message#44f9b43d flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true id:int from_id:flags.8?int to_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long = Message;

เด‡เดคเต เดŽเดฒเตเดฒเดพเดตเดฐเต‡เดฏเตเด‚ เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ GitHub, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดคเตเดคเดฐเด‚ เดจเต€เดฃเตเดŸ เดตเดฐเดฟเด•เตพเด•เตเด•เตเดณเตเดณเดฟเดฒเต† เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดนเตˆเดฒเตˆเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เดตเดฟเดธเดฎเตเดฎเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด—เต†เดฏเดฟเด‚ "10 เดตเตเดฏเดคเตเดฏเดพเดธเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเด•", เดคเดฒเดšเตเดšเต‹เดฑเต เด‰เดŸเดจเดŸเดฟ เด•เดพเดฃเตเดจเตเดจเดคเต เดฐเดฃเตเดŸเต เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเดฟเดฒเต†เดฏเตเด‚ เดคเตเดŸเด•เตเด•เดตเตเด‚ เด…เดตเดธเดพเดจเดตเตเด‚ เด’เดจเตเดจเตเดคเดจเตเดจเต†เดฏเดพเดฃเต, เดจเดฟเด™เตเด™เตพ เดจเดŸเตเดตเดฟเตฝ เดŽเดตเดฟเดŸเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเดŸเตเดชเตเดชเต‹เดŸเต† เดตเดพเดฏเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต ... เดŽเดจเตเดฑเต† เด…เดญเดฟเดชเตเดฐเดพเดฏเดคเตเดคเดฟเตฝ, เด‡เดคเต เดธเดฟเดฆเตเดงเดพเดจเตเดคเดคเตเดคเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดฆเตƒเดถเตเดฏเดชเดฐเดฎเดพเดฏเดฟ เดตเตƒเดคเตเดคเดฟเด•เต†เดŸเตเดŸเดคเตเด‚ เดตเตƒเดคเตเดคเดฟเด•เต†เดŸเตเดŸเดคเตเด‚.

เดตเดดเดฟเดฏเดฟเตฝ, เดธเดฟเดฆเตเดงเดพเดจเตเดคเดคเตเดคเดฟเดจเตเดฑเต† เดชเดฐเดฟเดถเตเดฆเตเดงเดฟเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดจเดฎเตเด•เตเด•เต เดฌเดฟเดฑเตเดฑเต เดซเต€เตฝเดกเตเด•เตพ เดตเต‡เดฃเตเดŸเดคเต? เด…เดตเดฐเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเดฟเดฒเตเดฒเต‡ เดฎเดฃเด‚ เดคเดฐเด‚ เดธเดฟเดฆเตเดงเดพเดจเตเดคเดคเตเดคเดฟเดจเตเดฑเต† เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเต‹เดถเดฎเดพเดฃเต‹? เดฐเต‡เด–เดพเดšเดฟเดคเตเดฐเดคเตเดคเดฟเดจเตเดฑเต† เดฎเตเตป เดชเดคเดฟเดชเตเดชเตเด•เดณเดฟเตฝ เดตเดฟเดถเดฆเต€เด•เดฐเดฃเด‚ เด•เดพเดฃเดพเด‚. เด†เดฆเตเดฏเด‚, เด…เดคเต†, เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต, เด“เดฐเต‹ เดคเตเดฎเตเดฎเดฒเดฟเดจเตเด‚ เด’เดฐเต เดชเตเดคเดฟเดฏ เดคเดฐเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเต. เดˆ เด…เดŸเดฟเดธเตเดฅเดพเดจเด™เตเด™เตพ เด‡เดชเตเดชเต‹เดดเตเด‚ เดˆ เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต:

storage.fileUnknown#aa963b05 = storage.FileType;
storage.filePartial#40bc6f52 = storage.FileType;
storage.fileJpeg#7efe0e = storage.FileType;
storage.fileGif#cae1aadf = storage.FileType;
storage.filePng#a4f63c0 = storage.FileType;
storage.filePdf#ae1e508d = storage.FileType;
storage.fileMp3#528a0677 = storage.FileType;
storage.fileMov#4b09ebbc = storage.FileType;
storage.fileMp4#b3cea0e4 = storage.FileType;
storage.fileWebp#1081464c = storage.FileType;

เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เตเด•, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด˜เดŸเดจเดฏเดฟเตฝ 5 เด“เดชเตเดทเดฃเตฝ เดซเต€เตฝเดกเตเด•เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดธเดพเดงเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เด“เดชเตโ€Œเดทเดจเตเด•เตพเด•เตเด•เตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต 32 เดคเดฐเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดธเด‚เดฏเต‹เดœเดฟเดค เดธเตเดซเต‹เดŸเดจเด‚. เด…เด™เตเด™เดจเต†, เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเดจเตเดฑเต† เด•เด เดฟเดจเดฎเดพเดฏ เดฏเดพเดฅเดพเตผเดคเตเดฅเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด•เดพเดธเตเดฑเตเดฑเต-เด‡เดฐเตเดฎเตเดชเต เด•เดดเตเดคเด•เตเด•เต†เดคเดฟเดฐเต† เดŸเดฟเดŽเตฝ เดธเดฟเดฆเตเดงเดพเดจเตเดคเดคเตเดคเดฟเดจเตเดฑเต† เดธเตเดซเดŸเดฟเด• เดถเตเดฆเตเดงเดฟ เดตเต€เดฃเตเดŸเตเด‚ เดคเด•เตผเดจเตเดจเต.

เด•เต‚เดŸเดพเดคเต†, เดšเดฟเดฒ เดธเตเดฅเดฒเด™เตเด™เดณเดฟเตฝ เดˆ เด†เดณเตเด•เตพ เดคเดจเตเดจเต† เดธเตเดตเดจเตเดคเด‚ เดŸเตˆเดชเตเดชเต‹เดณเดœเดฟ เดฒเด‚เด˜เดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, MTProto (เด…เดŸเตเดคเตเดค เด…เดงเตเดฏเดพเดฏเด‚) เตฝ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ Gzip เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เด‚เดชเตเดฐเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚, เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเดฃเต - เดชเดพเดณเดฟเด•เดณเตเด‚ เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเตเด‚ เดฒเด‚เด˜เดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดคเตŠเดดเดฟเดšเตเดšเดพเตฝ. เด’เดฐเดฟเด•เตเด•เตฝ เด•เต‚เดŸเดฟ, RpcResult เดคเดจเตเดจเต†เดฏเดฒเตเดฒ, เด…เดคเดฟเดจเตเดฑเต† เด‰เดณเตเดณเดŸเด•เตเด•เดฎเดพเดฃเต เด•เตŠเดฏเตเดคเดคเต. เดถเดฐเดฟ, เดŽเดจเตเดคเดฟเดจเดพเดฃเต เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต?.. เด•เด‚เดชเตเดฐเดทเตป เดŽเดตเดฟเดŸเต†เดฏเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดŽเดจเดฟเด•เตเด•เต เด’เดฐเต เดŠเดจเตเดจเตเดตเดŸเดฟเดฏเดฟเตฝ เดฎเตเดฑเดฟเด•เตเด•เต‡เดฃเตเดŸเดฟ เดตเดจเตเดจเต.

เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚, เดžเด™เตเด™เตพ เด’เดฐเดฟเด•เตเด•เตฝ เด’เดฐเต เดชเดฟเดถเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ - เด…เดคเต เด…เดฏเดšเตเดšเต InputPeerUser เดชเด•เดฐเด‚ InputUser. เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดคเดฟเดฐเดฟเดšเตเดšเตเด‚. เดชเด•เตเดทเต‡ เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเต! เด…เดคเดพเดฏเดคเต, เดธเต†เตผเดตเตผ เดคเดฐเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเดฟเดฒเตเดฒ. เด‡เดคเต†เด™เตเด™เดจเต†เดฏเดพเด•เตเด‚? เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚-เด•เตเดฒเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด•เต‹เดกเต เดถเด•เดฒเด™เตเด™เตพ เดตเดดเดฟ เดžเด™เตเด™เตพเด•เตเด•เต เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เดพเด‚:

  if (tgl_get_peer_type (E->id) != TGL_PEER_CHANNEL || (C && (C->flags & TGLCHF_MEGAGROUP))) {
    out_int (CODE_messages_get_history);
    out_peer_id (TLS, E->id);
  } else {    
    out_int (CODE_channels_get_important_history);

    out_int (CODE_input_channel);
    out_int (tgl_get_peer_id (E->id));
    out_long (E->id.access_hash);
  }
  out_int (E->max_id);
  out_int (E->offset);
  out_int (E->limit);
  out_int (0);
  out_int (0);

เดฎเดฑเตเดฑเตŠเดฐเต เดตเดฟเดงเดคเตเดคเดฟเตฝ เดชเดฑเดžเตเดžเดพเตฝ, เด‡เดตเดฟเดŸเต†เดฏเดพเดฃเต เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เดจเดŸเดคเตเดคเตเดจเตเดจเดคเต เดธเตเดตเดฎเต‡เดงเดฏเดพ, เด•เต‹เดกเต เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ! เด’เดฐเตเดชเด•เตเดทเต‡ เดธเต†เตผเดตเตผ เดธเดฎเดพเดจเดฎเดพเดฏ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹?.. เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เด’เดฐเดฟเด•เตเด•เตฝ เดšเต†เดฏเตเดคเดพเตฝ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚, เดŽเดจเตเดจเดพเตฝ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดธเดฎเดฏเดคเตเดคเต เดชเดฟเดจเตเดจเต€เดŸเต เด‡เดคเต เดŽเด™เตเด™เดจเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเด‚? เด‡เดคเดฟเดจเดพเดฃเต‹ เดชเดฆเตเดงเดคเดฟ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเดšเตเดšเดคเต? เด‡เดตเดฟเดŸเต† เดจเดฎเตเดฎเตพ เด…เดŸเตเดคเตเดค เดšเต‹เดฆเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เดŸเด•เตเด•เตเดจเตเดจเต.

เดชเดคเดฟเดชเตเดชเต. เดชเดพเดณเดฟเด•เตพ

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดธเตโ€Œเด•เต€เดฎเดพเดฑเตเดฑเดฟเด•เต เดชเดคเดฟเดชเตเดชเตเด•เดณเต† เดฒเต†เดฏเดฑเตเด•เตพ เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดจเดคเต เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดš เดธเตเด•เต€เดฎเดพเดฑเตเดฑเดฟเด•เตโ€Œเดธเดฟเดจเตเดฑเต† เดšเดฐเดฟเดคเตเดฐเดคเตเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดฎเดพเดคเตเดฐเดฎเต‡ เดŠเดนเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚. เดชเตเดฐเดคเตเดฏเด•เตเดทเดคเตเดคเดฟเตฝ, เดฎเดพเดฑเตเดฑเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดธเตเด•เต€เด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดŸเดฟเดธเตเดฅเดพเดจ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเต เดฐเดšเดฏเดฟเดคเดพเด•เตเด•เตพ เด†เดฆเตเดฏเด‚ เด•เดฐเตเดคเดฟ, เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดฟเดŸเดคเตเดคเต เดฎเดพเดคเตเดฐเด‚, เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพเด•เตเด•เดพเดฏเดฟ, เด…เดต เดฎเดฑเตเดฑเตŠเดฐเต เดชเดคเดฟเดชเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต†เดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เด’เดฐเต เดจเดฒเตเดฒ เด†เดถเดฏเด‚ เดชเต‹เดฒเตเด‚ - เดชเตเดคเดฟเดฏเดคเต เดชเดดเดฏเดคเดฟเดจเต เดฎเตเด•เดณเดฟเตฝ "เดฎเดฟเดถเตเดฐเดฟเดคเด‚" เดชเต‹เดฒเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เดŽเดจเตเดจเดพเตฝ เด…เดคเต เดŽเด™เตเด™เดจเต† เดšเต†เดฏเตเดคเต เดŽเดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚. เดถเดฐเดฟเดฏเดพเดฃเต, เดŽเดจเดฟเด•เตเด•เต เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เดคเดจเตเดจเต† เด‡เดคเต เดจเต‹เด•เตเด•เดพเตป เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ - เด‡เดคเต เดคเดฎเดพเดถเดฏเดพเดฃเต, เดชเด•เตเดทเต‡ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดชเดพเดณเดฟเดฏเตเดŸเต† เดกเดฏเด—เตเดฐเด‚ เดจเดฟเดฒเดตเดฟเดฒเดฟเดฒเตเดฒ. เดฒเต†เดฏเดฑเตเด•เตพ 2-เตฝ เด†เดฐเด‚เดญเดฟเดšเตเดšเต. เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• TL เดธเดตเดฟเดถเต‡เดทเดคเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดชเดฑเดฏเตเดจเตเดจเต:

เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เดฒเต†เดฏเตผ 2 เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต:

invokeWithLayer2#289dd1f6 {X:Type} query:!X = X;

เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ, เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚, เด“เดฐเต‹ API เด•เต‹เดณเดฟเดจเตเด‚ เดฎเตเดฎเตเดชเดพเดฏเดฟ, เดฎเต‚เดฒเตเดฏเดฎเตเดณเตเดณ เด’เดฐเต int เดŽเดจเตเดจเดพเดฃเต 0x289dd1f6 เดฐเต€เดคเดฟ เดจเดฎเตเดชเดฑเดฟเดจเต เดฎเตเดฎเตเดชเต เดšเต‡เตผเด•เตเด•เดฃเด‚.

เดธเดพเดงเดพเดฐเดฃ เดถเดฌเตเดฆเด‚. เดŽเดจเตเดจเดพเตฝ เดชเดฟเดจเตเดจเต€เดŸเต เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต? เดชเดฟเดจเตเดจเต† เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเดŸเต

invokeWithLayer3#b7475268 query:!X = X;

เด…เดชเตเดชเต‹เตพ เด…เดŸเตเดคเตเดคเดคเต เดŽเดจเตเดคเดพเดฃเต? เดจเดฟเด™เตเด™เตพ เดŠเดนเดฟเด•เตเด•เตเดจเตเดจเดคเตเดชเต‹เดฒเต†,

invokeWithLayer4#dea0d430 query:!X = X;

เดคเดฎเดพเดถเดฏเต‹? เด‡เดฒเตเดฒ, เดšเดฟเดฐเดฟเด•เตเด•เดพเตป เดตเดณเดฐเต† เดจเต‡เดฐเดคเตเดคเต†เดฏเดพเดฏเดฟ, เดŽเดจเตเดจ เดตเดธเตเดคเตเดคเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเด• เด“เดฐเต‹เดจเตเดจเตเด‚ เดฎเดฑเตเดฑเตŠเดฐเต เดฒเต†เดฏเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดคเดฐเดคเตเดคเดฟเตฝ เดชเตŠเดคเดฟเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต - เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดตเดฏเต†เดฒเตเดฒเดพเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดตเดฏเต† เดŽเด™เตเด™เดจเต† เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚? เดฎเตเดจเตเดจเดฟเตฝ เดตเต†เดฑเตเด‚ 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเต เดตเดณเดฐเต† เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดฎเดพเดฏ เดฐเต€เดคเดฟเดฏเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ,

invokeWithLayer5#417a57ae query:!X = X;

เดŽเดจเตเดจเดพเตฝ เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เด‡เดคเต เด’เดฐเตเดคเดฐเด‚ เดฌเดšเตเดšเดจเดพเดฒเดฟเดฏ เด†เดฏเดฟ เดฎเดพเดฑเตเดฎเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต. เดชเดฐเดฟเดนเดพเดฐเด‚ เดตเดจเตเดจเต:

เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต: เดฒเต†เดฏเตผ 9 เดฎเตเดคเตฝ, เดธเดนเดพเดฏ เดฐเต€เดคเดฟเด•เตพ invokeWithLayerN เด•เต‚เดŸเต† เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚ initConnection

เดนเต‚เดฑเต‡! 9 เดชเดคเดฟเดชเตเดชเตเด•เตพเด•เตเด•เต เดถเต‡เดทเด‚, 80 เด•เดณเดฟเตฝ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด•เดณเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดคเดคเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด’เดŸเตเดตเดฟเตฝ เดŽเดคเตเดคเดฟ - เด•เดฃเด•เตเดทเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เด’เดฐเดฟเด•เตเด•เตฝ เดชเดคเดฟเดชเตเดชเต เด…เด‚เด—เต€เด•เดฐเดฟเดšเตเดšเต!

เด…เดชเตเดชเต‹เตพ เด…เดŸเตเดคเตเดคเดคเต เดŽเดจเตเดคเดพเดฃเต?...

invokeWithLayer10#39620c41 query:!X = X;
...
invokeWithLayer18#1c900537 query:!X = X;

เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดšเดฟเดฐเดฟเด•เตเด•เดพเด‚. เดฎเดฑเตเดฑเตŠเดฐเต 9 เดฒเต†เดฏเดฑเตเด•เตพเด•เตเด•เต เดถเต‡เดทเด‚, เด’เดฐเต เดชเดคเดฟเดชเตเดชเต เดจเดฎเตเดชเดฑเตเดณเตเดณ เด’เดฐเต เดธเดพเตผเดตเดคเตเดฐเดฟเด• เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เด…เดตเดธเดพเดจเด‚ เดšเต‡เตผเดคเตเดคเต, เด•เดฃเด•เตเดทเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เด’เดฐเต เดคเดตเดฃ เดฎเดพเดคเตเดฐเดฎเต‡ เดตเดฟเดณเดฟเด•เตเด•เดพเดตเต‚, เดฒเต†เดฏเดฑเตเด•เดณเตเดŸเต† เด…เตผเดคเตเดฅเด‚ เด…เดชเตเดฐเดคเตเดฏเด•เตเดทเดฎเดพเดฏเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต, เด‡เดชเตเดชเต‹เตพ เด‡เดคเต เด’เดฐเต เดธเต‹เดชเดพเดงเดฟเด• เดชเดคเดฟเดชเตเดชเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต. เดฎเดฑเตเดฑเต†เดฒเตเดฒเดพเดฏเดฟเดŸเดคเตเดคเตเด‚. เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเดšเตเดšเต.

เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ?..

เดตเดพเดธเดฟเดฒเดฟ, [16.07.18 14:01] เดตเต†เดณเตเดณเดฟเดฏเดพเดดเตเดš เดชเต‹เดฒเตเด‚ เดžเดพเตป เดšเดฟเดจเตเดคเดฟเดšเตเดšเต:
เดŸเต†เดฒเดฟเดธเต†เตผเดตเตผ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด•เต‚เดŸเดพเดคเต† เด‡เดตเดจเตเดฑเตเด•เตพ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต. เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด‡เตปเดตเต‹เด•เตเด•เต เดตเดฟเดคเตเดคเต เดฒเต†เดฏเดฑเดฟเตฝ เดชเตŠเดคเดฟเดžเตเดžเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดธเต†เตผเดตเตผ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเตเด•เตพ เดชเตŠเดคเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒ; เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เดณเตเด‚ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเตเด•เดณเตเด‚ เดชเตŠเดคเดฟเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เด˜เดŸเดจเดฏเตเด‚ เด‡เดฒเตเดฒ.

เด†. เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเตเด•เตพ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดฒเต†เดฏเตผ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ

เดตเดพเดกเดฟเด‚ เด—เต‹เดžเตเดšเดฑเต‹เดตเต, [16.07.18 14:02] เดคเดคเตเดตเดคเตเดคเดฟเตฝ InvokeWithLayer เด’เดฐเต เดŠเดจเตเดจเตเดตเดŸเดฟ เด…เดฒเตเดฒเต‡?

Vasily, [16.07.18 14:02] เด‡เดคเดพเดฃเต เดเด• เดตเดดเดฟ

เดตเดพเดกเดฟเด‚ เด—เต‹เดžเตเดšเดฑเต‹เดตเต, [16.07.18 14:02] เดธเต†เดทเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เดฒเต†เดฏเดฑเดฟเดจเต‹เดŸเต เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดพเดฃเต เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚.

เดตเดดเดฟเดฏเดฟเตฝ, เด•เตเดฒเดฏเดจเตเดฑเต เดกเต—เตบเด—เตเดฐเต‡เดกเต เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เดจเตเดจเต เด‡เดคเต เดชเดฟเดจเตเดคเตเดŸเดฐเตเดจเตเดจเต

เด…เดชเตเดกเต‡เดฑเตเดฑเตเด•เตพ, เด…เดคเดพเดฏเดคเต. เดคเดฐเด‚ Updates เดธเตเด•เต€เดฎเดฟเตฝ, เด‡เดคเต เดธเต†เตผเดตเตผ เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเดคเต เด’เดฐเต API เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดพเดฏเดฟเดŸเตเดŸเดฒเตเดฒ, เด’เดฐเต เด‡เดตเดจเตเดฑเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฏเดฟ. เด‡เดคเตŠเดฐเต เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ เดตเดฟเดทเดฏเดฎเดพเดฃเต, เด…เดคเต เดฎเดฑเตเดฑเตŠเดฐเต เดชเต‹เดธเตเดฑเตเดฑเดฟเตฝ เดšเตผเดšเตเดšเดšเต†เดฏเตเดฏเตเด‚, เดŽเดจเตเดจเดพเตฝ เด•เตเดฒเดฏเดจเตเดฑเต เด“เดซเตโ€Œเดฒเตˆเดจเดฟเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดชเต‹เดฒเตเด‚ เดธเต†เตผเดตเตผ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเตเด•เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เด‡เดชเตเดชเต‹เตพ เด…เดฑเดฟเดฏเต‡เดฃเตเดŸเดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต.

เด…เด™เตเด™เดจเต†, เดจเดฟเด™เตเด™เตพ เดชเตŠเดคเดฟเดฏเดพเตป เดตเดฟเดธเดฎเตเดฎเดคเดฟเดšเตเดšเดพเตฝ เด“เดฐเต‹เดจเตเดจเตเด‚ เดชเดพเด•เตเด•เต‡เดœเต เด…เดคเดฟเดจเตเดฑเต† เดชเดคเดฟเดชเตเดชเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป, เด‡เดคเต เดฏเตเด•เตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดธเดพเดงเตเดฏเดฎเดพเดฏ เดชเตเดฐเดถเตเดจเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เตเดจเตเดจเต:

  • เดเดคเต เดชเดคเดฟเดชเตเดชเดพเดฃเต เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เด•เตเดฒเดฏเดจเตเดฑเต เด…เดฑเดฟเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเตเดคเดจเตเดจเต† เดธเต†เตผเดตเตผ เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเตเด•เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต
  • เด•เตเดฒเดฏเดจเตเดฑเต เด…เดชเตเด—เตเดฐเต‡เดกเต เดšเต†เดฏเตเดค เดถเต‡เดทเด‚ เดžเดพเตป เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเดฃเด‚?
  • เด†เดฐเดพเดฃเต เด‰เดฑเดชเตเดชเตเดจเตฝเด•เตเดจเตเดจเตเดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเด•เตเด•เดฟเดŸเต† เดฒเต†เดฏเตผ เดจเดฎเตเดชเดฑเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต† เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดฎเดพเดฑเดฟเดฒเตเดฒเต‡?

เด‡เดคเต เดคเดฟเด•เดšเตเดšเตเด‚ เดธเตˆเดฆเตเดงเดพเดจเตเดคเดฟเด•เดฎเดพเดฏ เดŠเดนเด•เตเด•เดšเตเดšเดตเดŸเดฎเดพเดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด•เดฐเตเดคเตเดจเตเดจเตเดฃเตเดŸเต‹, เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เด‡เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดธเต†เตผเดตเตผ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เด•เตเดฑเดžเตเดžเดคเต, เด‡เดคเต เดจเดจเตเดจเดพเดฏเดฟ เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเต†เด™เตเด•เดฟเดฒเตเด‚)? เดนเดพ! เด…เดคเต เดŽเด™เตเด™เดจเต†เดฏเดพเดฏเดพเดฒเตเด‚ เดธเดพเดฐเดฎเดฟเดฒเตเดฒ!

เด“เด—เดธเตเดฑเตเดฑเดฟเตฝ เดžเด™เตเด™เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเดคเต เด‡เดคเดพเดฃเต. เด†เด—เดธเตเดฑเตเดฑเต 14เดจเต เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดธเต†เตผเดตเดฑเตเด•เดณเดฟเตฝ เดŽเดจเตเดคเต‹ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดพเดฏเดฟ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดตเดจเตเดจเต... เดคเตเดŸเตผเดจเตเดจเต เดฒเต‹เด—เตเด•เดณเดฟเตฝ:

2019-08-15 09:28:35.880640 MSK warn  main: ANON:87: unknown object type: 0x80d182d1 at TL/Object.pm line 213.
2019-08-15 09:28:35.751899 MSK warn  main: ANON:87: unknown object type: 0xb5223b0f at TL/Object.pm line 213.

เดคเตเดŸเตผเดจเตเดจเต เดจเดฟเดฐเดตเดงเดฟ เดฎเต†เด—เดพเดฌเตˆเดฑเตเดฑเต เดธเตเดฑเตเดฑเดพเด•เตเด•เต เดŸเตเดฐเต†เดฏเตโ€Œเดธเตเด•เตพ (เดจเดจเตเดจเดพเดฏเดฟ, เด…เดคเต‡ เดธเดฎเดฏเด‚ เดฒเต‹เด—เดฟเด‚เด—เต เดถเดฐเดฟเดฏเดพเด•เตเด•เดฟ). เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เดจเดฟเด™เตเด™เดณเตเดŸเต† TL-เตฝ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดžเตเดžเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เด’เดชเตเดชเต เดชเตเดฐเด•เดพเดฐเด‚ เดฌเตˆเดจเดฑเดฟเดฏเดพเดฃเต, เด•เต‚เดŸเตเดคเตฝ เดคเดพเดดเต† เดŽเดฒเตเดฒเดพเด‚ เดชเต‹เด•เตเดจเตเดจเต, เดกเต€เด•เต‹เดกเดฟเด‚เด—เต เด…เดธเดพเดงเตเดฏเดฎเดพเด•เตเด‚. เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต?

เดถเดฐเดฟ, เด†เดฐเตเดŸเต†เดฏเตเด‚ เดฎเดจเดธเตเดธเดฟเตฝ เด†เดฆเตเดฏเด‚ เดตเดฐเตเดจเตเดจเดคเต เดตเดฟเดšเตเด›เต‡เดฆเดฟเดšเตเดšเต เดตเต€เดฃเตเดŸเตเด‚ เดถเตเดฐเดฎเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต. เดธเดนเดพเดฏเดฟเดšเตเดšเดฟเดฒเตเดฒ. เดžเด™เตเด™เตพ เด—เต‚เด—เดฟเตพ CRC32 - เด‡เดต เดธเตเด•เต€เด‚ 73 เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเดพเดฏเดฟ เดฎเดพเดฑเดฟ, เดžเด™เตเด™เตพ 82 เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเต†เด™เตเด•เดฟเดฒเตเด‚. เดžเด™เตเด™เตพ เดฒเต‹เด—เตเด•เตพ เดถเตเดฐเดฆเตเดงเดพเดชเต‚เตผเดตเตเดตเด‚ เดจเต‹เด•เตเด•เตเดจเตเดจเต - เดฐเดฃเตเดŸเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเตเด•เต€เดฎเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเตเด•เตพ เด‰เดฃเตเดŸเต!

เด’เดฐเตเดชเด•เตเดทเต‡ เดชเตเดฐเดถเตเดจเด‚ เดžเด™เตเด™เดณเตเดŸเต† เด…เดจเต—เดฆเตเดฏเต‹เด—เดฟเด• เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเดพเดฃเต‹? เด‡เดฒเตเดฒ, เดžเด™เตเด™เตพ เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตโ€Œเด•เตโ€ŒเดŸเต‹เดชเตเดชเต 1.2.17 (เดจเดฟเดฐเดตเดงเดฟ เดฒเดฟเดจเด•เตโ€Œเดธเต เดตเดฟเดคเดฐเดฃเด™เตเด™เดณเดฟเตฝ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตโ€Œเดค เดชเดคเดฟเดชเตเดชเต) เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เด’เดดเดฟเดตเดพเด•เตเด•เตฝ เดฒเต‹เด—เดฟเดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเตเดจเตเดจเต: MTP เด…เดชเตเดฐเดคเต€เด•เตเดทเดฟเดค เดคเดฐเด‚ เดเดกเดฟ #b5223b0f MTPMessageMedia-เดฏเดฟเตฝ เดตเดพเดฏเดฟเดšเตเดšเตโ€ฆ

เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเดฟเดจเตเดฑเต†เดฏเตเด‚ เดธเด‚เด˜เดŸเดจเดพ เดธเดฎเต€เดชเดจเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดตเดฟเดฎเตผเดถเดจเด‚. เดญเดพเด—เด‚ 1, เดธเดพเด™เตเด•เต‡เดคเดฟเด•เด‚: เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เดŽเดดเตเดคเตเดจเตเดจ เด…เดจเตเดญเดตเด‚ - TL, MT

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

เด…เดชเตเดชเต‹เตพ เดจเดฎเตเดฎเตพ เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต? เดตเดพเดธเดฟเดฒเดฟเดฏเตเด‚ เดžเดพเดจเตเด‚ เดชเดฟเดฐเดฟเดžเตเดžเต: เด…เดตเตป เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต 91 เดฒเต‡เด•เตเด•เต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเต, เด•เตเดฑเดšเตเดšเต เดฆเดฟเดตเดธเด‚ เด•เดพเดคเตเดคเดฟเดฐเตเดจเตเดจเต 73-เตฝ เดถเตเดฐเดฎเดฟเด•เตเด•เดพเตป เดžเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เดฐเดฃเตเดŸเต เดฐเต€เดคเดฟเด•เดณเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเต, เดชเด•เตเดทเต‡ เด…เดต เด…เดจเตเดญเดตเดชเดฐเดฎเดพเดฏเดคเดฟเดจเดพเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดคเตเดฐ เดชเดคเดฟเดชเตเดชเตเด•เตพ เดฎเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดคเดพเดดเต‡เด•เตเด•เตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต†เดจเตเดจเต เด’เดฐเต เดงเดพเดฐเดฃเดฏเตเดฎเดฟเดฒเตเดฒ. เดšเดพเดŸเดพเตป, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเดคเตเดฐ เดธเดฎเดฏเด‚ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เดฃเด‚.

เดชเดฟเดจเตเดจเต€เดŸเต เดŽเดจเดฟเด•เตเด•เต เดธเดพเดนเดšเดฐเตเดฏเด‚ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดžเตเดžเต: เดžเด™เตเด™เตพ เด•เตเดฒเดฏเดจเตเดฑเต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•, เด…เดคเต เด“เดซเต เดšเต†เดฏเตเดฏเตเด•, เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดฎเดฑเตเดฑเตŠเดฐเต เดฒเต†เดฏเดฑเดฟเดฒเต‡เด•เตเด•เต เดตเต€เดฃเตเดŸเตเด‚ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเตเด•, เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•, เดชเตเดฐเดถเตเดจเด‚ เดตเต€เดฃเตเดŸเตเด‚ เดชเดฟเดŸเดฟเด•เตเด•เตเด•, เดฎเตเดฎเตเดชเดคเตเดคเต‡เดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด• - เดถเตเดถเต‹, เดธเตผเด•เตเดฏเต‚เดŸเตเดŸเต เดธเตเดตเดฟเดšเตเดšเดฟเด‚เด—เต เด‡เดฒเตเดฒ, เด•เตเดฒเดฏเดจเตเดฑเต เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต. เด•เตเดฑเดšเตเดšเต เดฎเดฟเดจเดฟเดฑเตเดฑเต เดธเดนเดพเดฏเดฟเด•เตเด•เตเด‚. เดตเตเดฏเดคเตเดฏเดธเตเดค เดฒเต†เดฏเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑเดพ เด˜เดŸเดจเด•เดณเตเดŸเต† เด’เดฐเต เดฎเดฟเดถเตเดฐเดฟเดคเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚.

เดตเดฟเดถเดฆเต€เด•เดฐเดฃเด‚? เดตเดฟเดตเดฟเดง เดชเดฐเต‹เด•เตเดท เดฒเด•เตเดทเดฃเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŠเดนเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดชเต‹เดฒเต†, เดธเต†เตผเดตเดฑเดฟเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เดฎเต†เดทเต€เดจเตเด•เดณเดฟเตฝ เดตเตเดฏเดคเตเดฏเดธเตเดค เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดจเดฟเดฐเดตเดงเดฟ เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚, "เดฌเดซเดฑเดฟเด‚เด—เดฟเดจเต" เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเดฎเตเดณเตเดณ เดธเต†เตผเดตเตผ เด…เดคเดฟเดจเตเดฑเต† เดฎเต‡เดฒเตเดฆเตเดฏเต‹เด—เดธเตเดฅเตผ เดจเตฝเด•เดฟเดฏเดคเต เด•เตเดฏเต‚เดตเดฟเตฝ เด‡เดŸเตเดŸเต, เด…เดตเตผ เด…เดคเต เดœเดจเดฑเต‡เดทเตป เดธเดฎเดฏเดคเตเดคเต เดจเดฟเดฒเดตเดฟเดฒเดฟเดฐเตเดจเตเดจ เดธเตเด•เต€เดฎเดฟเตฝ เดจเตฝเด•เดฟ. เดˆ เด•เตเดฏเต‚ "เดฆเตเดฐเดตเดฟเดšเตเดš" เดตเดฐเต†, เด…เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด’เดจเตเดจเตเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ.

เด’เดฐเตเดชเด•เตเดทเต†... เดชเด•เตเดทเต† เด‡เดคเต เดญเดฏเด™เตเด•เดฐ เดŠเดจเตเดจเตเดตเดŸเดฟเดฏเดพเดฃเต‹?!.. เด…เดฒเตเดฒ, เดญเตเดฐเดพเดจเตเดคเตป เด†เดถเดฏเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต, เดจเดฎเตเด•เตเด•เต เด”เดฆเตเดฏเต‹เด—เดฟเด• เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเตเดŸเต† เด•เต‹เดกเต เดจเต‹เด•เตเด•เดพเด‚. เด†เตปเดกเตเดฐเต‹เดฏเดฟเดกเต เดชเดคเดฟเดชเตเดชเดฟเตฝ เดžเด™เตเด™เตพ TL เดชเดพเดดเตโ€ŒเดธเดฑเตŠเดจเตเดจเตเด‚ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ (เดกเดฟ)เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เด‰เดณเตเดณ เด’เดฐเต เด•เดจเดคเตเดค เดซเดฏเตฝ (GitHub เด…เดคเต เดŸเดšเตเดšเต เด…เดชเตเดชเต เดšเต†เดฏเตเดฏเดพเตป เดตเดฟเดธเดฎเตเดฎเดคเดฟเด•เตเด•เตเดจเตเดจเต) เดžเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเต. เด•เต‹เดกเต เดธเตโ€Œเดจเดฟเดชเตเดชเต†เดฑเตเดฑเตเด•เตพ เด‡เดคเดพ:

public static class TL_message_layer68 extends TL_message {
    public static int constructor = 0xc09be45f;
//...
//ะตั‰ะต ะฟะฐั‡ะบะฐ ะฟะพะดะพะฑะฝั‹ั…
//...
    public static class TL_message_layer47 extends TL_message {
        public static int constructor = 0xc992e15c;
        public static Message TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) {
            Message result = null;
            switch (constructor) {
                case 0x1d86f70e:
                    result = new TL_messageService_old2();
                    break;
                case 0xa7ab1991:
                    result = new TL_message_old3();
                    break;
                case 0xc3060325:
                    result = new TL_message_old4();
                    break;
                case 0x555555fa:
                    result = new TL_message_secret();
                    break;
                case 0x555555f9:
                    result = new TL_message_secret_layer72();
                    break;
                case 0x90dddc11:
                    result = new TL_message_layer72();
                    break;
                case 0xc09be45f:
                    result = new TL_message_layer68();
                    break;
                case 0xc992e15c:
                    result = new TL_message_layer47();
                    break;
                case 0x5ba66c13:
                    result = new TL_message_old7();
                    break;
                case 0xc06b9607:
                    result = new TL_messageService_layer48();
                    break;
                case 0x83e5de54:
                    result = new TL_messageEmpty();
                    break;
                case 0x2bebfa86:
                    result = new TL_message_old6();
                    break;
                case 0x44f9b43d:
                    result = new TL_message_layer104();
                    break;
                case 0x1c9b1027:
                    result = new TL_message_layer104_2();
                    break;
                case 0xa367e716:
                    result = new TL_messageForwarded_old2(); //custom
                    break;
                case 0x5f46804:
                    result = new TL_messageForwarded_old(); //custom
                    break;
                case 0x567699b3:
                    result = new TL_message_old2(); //custom
                    break;
                case 0x9f8d60bb:
                    result = new TL_messageService_old(); //custom
                    break;
                case 0x22eb6aba:
                    result = new TL_message_old(); //custom
                    break;
                case 0x555555F8:
                    result = new TL_message_secret_old(); //custom
                    break;
                case 0x9789dac4:
                    result = new TL_message_layer104_3();
                    break;

เด…เดฅเดตเดพ

    boolean fixCaption = !TextUtils.isEmpty(message) &&
    (media instanceof TLRPC.TL_messageMediaPhoto_old ||
     media instanceof TLRPC.TL_messageMediaPhoto_layer68 ||
     media instanceof TLRPC.TL_messageMediaPhoto_layer74 ||
     media instanceof TLRPC.TL_messageMediaDocument_old ||
     media instanceof TLRPC.TL_messageMediaDocument_layer68 ||
     media instanceof TLRPC.TL_messageMediaDocument_layer74)
    && message.startsWith("-1");

เดนเตเด‚... เดตเดจเตเดฏเดฎเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต. เดชเด•เตเดทเต‡, เด’เดฐเตเดชเด•เตเดทเต‡, เด‡เดคเต เดœเดจเดฑเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดค เด•เต‹เดกเดพเดฃเต, เด…เดชเตเดชเต‹เตพ เดถเดฐเดฟเดฏเดพเดฃเต‹?.. เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดŽเดฒเตเดฒเดพ เดชเดคเดฟเดชเตเดชเตเด•เดณเต†เดฏเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเต! เดถเดฐเดฟเดฏเดพเดฃเต, เดŽเดจเตเดคเดฟเดจเดพเดฃเต เดŽเดฒเตเดฒเดพเด‚ เด•เต‚เดŸเดฟเดšเตเดšเต‡เตผเดจเตเดจเดคเต, เดฐเดนเดธเตเดฏ เดšเดพเดฑเตเดฑเตเด•เตพ, เด•เต‚เดŸเดพเดคเต† เดŽเดฒเตเดฒเดพเดคเตเดคเดฐเด‚ เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒ _old7 เดŽเด™เตเด™เดจเต†เดฏเต‹ เดฎเต†เดทเต€เตป เดœเดจเดฑเต‡เดทเตป เดชเต‹เดฒเต† เด•เดพเดฃเดฐเตเดคเต... เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดŽเดฒเตเดฒเดพเดฑเตเดฑเดฟเดจเตเดฎเตเดชเดฐเดฟเดฏเดพเดฏเดฟ เดžเดพเตป เดžเต†เดŸเตเดŸเดฟเดชเตเดชเต‹เดฏเดฟ

TL_message_layer104
TL_message_layer104_2
TL_message_layer104_3

เดธเตเดนเตƒเดคเตเดคเตเด•เตเด•เดณเต‡, เด’เดฐเต เดฒเต†เดฏเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เดชเต‹เดฒเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต‡?! เดถเดฐเดฟ, เดถเดฐเดฟ, "เดฐเดฃเตเดŸเต†เดฃเตเดฃเด‚" เด’เดฐเต เดชเดฟเดถเด•เต‹เดŸเต† เดฑเดฟเดฒเต€เดธเต เดšเต†เดฏเตเดคเตเดตเต†เดจเตเดจเต เดชเดฑเดฏเดพเด‚, เดถเดฐเดฟ, เด…เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เดฎเต‚เดจเตเดจเต?.. เด‰เดŸเตป เดคเดจเตเดจเต†, เดตเต€เดฃเตเดŸเตเด‚ เด…เดคเต‡ เดฑเต‡เด•เตเด•เต? เด‡เดคเต เดŽเดจเตเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด…เดถเตเดฒเต€เดฒเดฎเดพเดฃเต, เด•เตเดทเดฎเดฟเด•เตเด•เดฃเด‚?..

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

เด‡เดคเต เดŽเด™เตเด™เดจเต† เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚? เดฏเต‚เดฃเดฟเดฑเตเดฑเต, เดซเด™เตเดทเดฃเตฝ, เดฎเดฑเตเดฑเต เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด†เดฐเดพเดงเด•เตผ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเดฟเตฝ เดชเด™เตเด•เดฟเดŸเตเดฎเต†เดจเตเดจเต เดžเดพเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

เดถเดฐเดฟ, เดจเดฎเตเด•เตเด•เต เดฎเดฑเตเดฑเตŠเดฐเต เด•เต‹เดกเต เดจเต‹เด•เตเด•เดพเด‚:

public static class TL_folders_deleteFolder extends TLObject {
    public static int constructor = 0x1c295881;

    public int folder_id;

    public TLObject deserializeResponse(AbstractSerializedData stream, int constructor, boolean exception) {
        return Updates.TLdeserialize(stream, constructor, exception);
    }

    public void serializeToStream(AbstractSerializedData stream) {
        stream.writeInt32(constructor);
        stream.writeInt32(folder_id);
    }
}

//manually created

//RichText start
public static abstract class RichText extends TLObject {
    public String url;
    public long webpage_id;
    public String email;
    public ArrayList<RichText> texts = new ArrayList<>();
    public RichText parentRichText;

    public static RichText TLdeserialize(AbstractSerializedData stream, int constructor, boolean exception) {
        RichText result = null;
        switch (constructor) {
            case 0x1ccb966a:
                result = new TL_textPhone();
                break;
            case 0xc7fb5e01:
                result = new TL_textSuperscript();
                break;

"เดธเตเดตเดฎเต‡เดงเดฏเดพ เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดš" เดˆ เด•เดฎเดจเตเดฑเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดˆ เดซเดฏเดฒเดฟเดจเตเดฑเต† เด’เดฐเต เดญเดพเด—เด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เดธเตเดตเดฎเต‡เดงเดฏเดพ เดŽเดดเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดณเตเดณเต‚ (เดฎเตเดดเตเดตเตป เด…เดฑเตเดฑเด•เตเดฑเตเดฑเดชเตเดชเดฃเดฟ เดชเต‡เดŸเดฟเดธเตเดตเดชเตโ€Œเดจเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เดพเดจเดพเด•เตเดฎเต‹?), เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดต เดฏเดจเตเดคเตเดฐเด‚ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเดพเดฃเต†เดจเตเดจเตเด‚. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฎเดฑเตเดฑเตŠเดฐเต เดšเต‹เดฆเตเดฏเด‚ เด‰เดฏเตผเดจเตเดจเตเดตเดฐเตเดจเตเดจเต - เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เดฒเดญเตเดฏเดฎเดพเดฃเต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด…เดฒเตเดฒ (เดฒเดฟเดจเด•เตเดธเต เด•เต†เตผเดฃเดฒเดฟเดฒเต† เด’เดฐเต เดฒเดพ เดœเดฟเดชเดฟเดŽเตฝ เดฌเตเดฒเต‹เดฌเตเดธเต), เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เด‡เดคเดฟเดจเด•เด‚ เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดตเดฟเดทเดฏเดฎเดพเดฃเต.

เดŽเดจเตเดจเดพเตฝ เดฎเดคเดฟ. เดˆ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเดฟเดฒเต‡เด•เตเด•เต เดจเดฎเตเด•เตเด•เต เดชเต‹เด•เดพเด‚.

MTPproto

เด…เดคเดฟเดจเดพเตฝ, เดจเดฎเตเด•เตเด•เต เดคเตเดฑเด•เตเด•เดพเด‚ เดชเต†เดพเดคเตเดตเดพเดฏ เดตเดฟเดตเดฐเดฃเด‚ ะธ เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเดฟเดจเตเดฑเต† เดตเดฟเดถเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเดฃเด‚ เดจเดฎเตเดฎเตพ เด†เดฆเตเดฏเด‚ เด‡เดŸเดฑเตเดจเตเดจเดคเต เดชเดฆเดชเตเดฐเดฏเต‹เด—เดฎเดพเดฃเต. เด’เดชเตเดชเด‚ เดŽเดฒเตเดฒเดพเดฑเตเดฑเดฟเดจเตเดฑเต†เดฏเตเด‚ เดธเดฎเตƒเดฆเตเดงเดฟเดฏเต‹เดŸเต†. เดชเตŠเดคเตเดตเต‡, เด‡เดคเต เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เด’เดฐเต เดชเตเดฐเตŠเดชเตเดฐเตˆเดฑเตเดฑเดฑเดฟ เดธเดตเดฟเดถเต‡เดทเดคเดฏเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต - เดตเตเดฏเดคเตเดฏเดธเตเดค เดธเตเดฅเดฒเด™เตเด™เดณเดฟเตฝ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ เดตเดฟเดณเดฟเด•เตเด•เตเด•, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดตเดพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเตเดฏเดคเตเดฏเดธเตเดค เด•เดพเดฐเตเดฏเด™เตเด™เตพ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดคเดฟเดฐเดฟเดšเตเดšเตเด‚ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ API-เดฏเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดธเตเดฑเตเดฑเดฟเด•เตเด•เตผ เดชเดพเดฏเตเด•เตเด•เต เด•เดพเดฃเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เด…เด™เตเด™เดจเต†เดฏเดฒเตเดฒ. เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเดพเดฃเต เดšเดฟเดจเตเดคเดฟเดšเตเดšเดคเต).

เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, "เดธเดจเตเดฆเต‡เดถเด‚", "เดธเต†เดทเตป" เดŽเดจเตเดจเดฟเดต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเดพเดฐเดฃ เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เด•เตเดฒเดฏเดจเตเดฑเต เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เด’เดจเตเดจเดฟเดจเต†เดฏเดพเดฃเต. เดถเดฐเดฟ, เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต, เด‡เดคเต OOP เดชเดฆเด™เตเด™เดณเดฟเตฝ เดตเตเดฏเดพเด–เตเดฏเดพเดจเดฟเด•เตเด•เดพเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "เดชเดพเด•เตเด•เดฑเตเดฑเต" เดŽเดจเตเดจ เดตเดพเด•เตเด•เต เดตเดฟเดณเดฟเด•เตเด•เดพเด‚ - เด‡เดคเต เดคเดพเดดเตเดจเตเดจ, เด—เดคเดพเด—เดค เดจเดฟเดฒเดฏเดพเดฃเต, เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเดฒเต† เด…เดคเต‡ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด‡เดฒเตเดฒ, เดจเดฟเดฐเดตเดงเดฟ เดธเต‡เดตเดจ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเดฃเตเดŸเต . เดŽเดจเตเดจเดพเตฝ เดธเต†เดทเตป ... เดŽเดจเตเดจเดพเตฝ เด†เดฆเตเดฏเด‚ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด†เดฆเตเดฏเด‚.

เด—เดคเดพเด—เดค เดชเดพเดณเดฟ

เด†เดฆเตเดฏเดคเตเดคเต† เด•เดพเดฐเตเดฏเด‚ เด—เดคเดพเด—เดคเดฎเดพเดฃเต. เด…เดตเตผ 5 เด“เดชเตเดทเดจเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚:

  • TCP
  • เดตเต†เดฌเตโ€Œเดธเต‹เด•เตเด•เดฑเตเดฑเต
  • HTTPS เดตเดดเดฟเดฏเตเดณเตเดณ เดตเต†เดฌเตโ€Œเดธเต‹เด•เตเด•เดฑเตเดฑเต
  • HTTP
  • เดŽเดšเตเดšเตเดŸเดฟเดŸเดฟเดชเดฟเดŽเดธเต

Vasily, [15.06.18 15:04] UDP เดŸเตเดฐเดพเตปเดธเตเดชเต‹เตผเดŸเตเดŸเตเด‚ เด‰เดฃเตเดŸเต, เดชเด•เตเดทเต‡ เด…เดคเต เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ

เดฎเต‚เดจเตเดจเต เดตเต‡เดฐเดฟเดฏเดจเตเดฑเตเด•เดณเดฟเตฝ เดŸเดฟเดธเดฟเดชเดฟเดฏเตเด‚

เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต TCP-เดฏเต†เด•เตเด•เดพเตพ UDP-เด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฃเต, เด“เดฐเต‹ เดชเดพเด•เตเด•เดฑเตเดฑเดฟเดฒเตเด‚ เด’เดฐเต เดธเต€เด•เตเดตเตปเดธเต เดจเดฎเตเดชเดฑเตเด‚ crc-เดฏเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต
เด’เดฐเต เดตเดฃเตเดŸเดฟเดฏเดฟเตฝ เดฐเต‡เด–เด•เตพ เดตเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเต เดตเดณเดฐเต† เดตเต‡เดฆเดจเดพเดœเดจเด•เดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต?

เดถเดฐเดฟ, เด…เดคเต เด‡เดชเตเดชเต‹เตพ เด‰เดฃเตเดŸเต TCP เด‡เดคเดฟเดจเด•เด‚ 4 เดตเต‡เดฐเดฟเดฏเดจเตเดฑเตเด•เดณเดฟเตฝ:

  • เดธเด‚เด—เตเดฐเดนเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต
  • เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต
  • เดชเดพเดกเดกเต เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต
  • เดจเดฟเดฑเดžเตเดž

เดถเดฐเดฟ, เดถเดฐเดฟ, MTProxy-เดฏเตโ€Œเด•เตเด•เดพเดฏเตเดณเตเดณ เดชเดพเดกเดกเต เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต, เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจ เด‡เดตเดจเตเดฑเตเด•เตพ เด•เดพเดฐเดฃเด‚ เด‡เดคเต เดชเดฟเดจเตเดจเต€เดŸเต เดšเต‡เตผเดคเตเดคเต. เดŽเดจเตเดจเดพเตฝ เด’เดจเตเดจเต เด•เตŠเดฃเตเดŸเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดŽเดจเตเดคเดฟเดจเดพเดฃเต เดฐเดฃเตเดŸเต เดชเดคเดฟเดชเตเดชเตเด•เตพ (เด†เด•เต† เดฎเต‚เดจเตเดจเต)? เดชเตเดฐเดงเดพเดจ MTPproto-เดฏเตเดŸเต† เดฆเตˆเตผเด˜เตเดฏเดตเตเด‚ เดชเต‡เดฒเต‹เดกเตเด‚ เดŽเด™เตเด™เดจเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดจเดพเดฒเตเด‚ เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต, เด…เดคเต เด•เต‚เดŸเตเดคเตฝ เดšเตผเดšเตเดšเดšเต†เดฏเตเดฏเตเด‚:

  • เดšเตเดฐเตเด•เตเด•เดฟเดฏเดคเดฟเตฝ เด‡เดคเต 1 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ เด†เดฃเต, เดŽเดจเตเดจเดพเตฝ 0xef เด…เดฒเตเดฒ, เดชเดฟเดจเตเดจเต† เดฌเต‹เดกเดฟ
  • เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเดฟเตฝ เด‡เดคเต 4 เดฌเตˆเดฑเตเดฑเต เดจเต€เดณเดตเตเด‚ เด’เดฐเต เดซเต€เตฝเดกเตเด‚ เด†เดฃเต, เด•เตเดฒเดฏเดจเตเดฑเต เด†เดฆเตเดฏเดฎเดพเดฏเดฟ เด…เดฏเดฏเตโ€Œเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต 0xeeeeeeee เด‡เดคเต เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเต เด†เดฃเต†เดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป
  • เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ, เด’เดฐเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฑเตเดŸเต† เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดเดฑเตเดฑเดตเตเด‚ เด†เดธเด•เตเดคเดฟเดฏเตเดณเตเดณเดคเต: เดจเต€เดณเด‚, เดธเต€เด•เตเดตเตปเดธเต เดจเดฎเตเดชเตผ, เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ MTProto, เดฌเต‹เดกเดฟ, CRC32 เด…เดฒเตเดฒ. เด…เดคเต†, เด‡เดคเต†เดฒเตเดฒเดพเด‚ เดŸเดฟเดธเดฟเดชเดฟเดฏเตเดŸเต† เดฎเตเด•เดณเดฟเดฒเดพเดฃเต. เด‡เดคเต เด’เดฐเต เดธเต€เด•เตเดตเตปเดทเตเดฏเตฝ เดฌเตˆเดฑเตเดฑเต เดธเตเดŸเตเดฐเต€เดฎเดฟเดจเตเดฑเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เด—เดคเดพเด—เดคเด‚ เดจเตฝเด•เตเดจเตเดจเต; เดธเต€เด•เตเดตเตปเดธเตเด•เดณเตŠเดจเตเดจเตเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เดšเต†เด•เตเด•เตเดธเด‚. เดถเดฐเดฟ, เด‡เดชเตเดชเต‹เตพ เดŸเดฟเดธเดฟเดชเดฟเด•เตเด•เต 16-เดฌเดฟเดฑเตเดฑเต เดšเต†เด•เตเด•เตโ€Œเดธเด‚ เด‰เดฃเตเดŸเต†เดจเตเดจเต เด†เดฐเต†เด™เตเด•เดฟเดฒเตเด‚ เดŽเดจเตเดจเต† เดŽเดคเดฟเตผเด•เตเด•เตเด‚, เด…เดคเดฟเดจเดพเตฝ เดกเดพเดฑเตเดฑ เด…เดดเดฟเดฎเดคเดฟ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต. เด•เตŠเดณเตเดณเดพเด‚, เดŽเดจเตเดจเดพเตฝ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ 16 เดฌเตˆเดฑเตเดฑเตเด•เดณเต‡เด•เตเด•เดพเตพ เดฆเตˆเตผเด˜เตเดฏเดฎเตเดณเตเดณ เดนเดพเดทเตเด•เดณเตเดณเตเดณ เด’เดฐเต เด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเต‹เด—เตเดฐเดพเดซเดฟเด•เต เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เดžเด™เตเด™เดณเตเดŸเต† เดชเด•เตเด•เดฒเตเดฃเตเดŸเต, เดˆ เดชเดฟเดถเด•เตเด•เดณเต†เดฒเตเดฒเดพเด‚ - เด…เดคเดฟเดฒเตเด‚ เด•เต‚เดŸเตเดคเดฒเตเด‚ - เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฐเต SHA เดชเตŠเดฐเตเดคเตเดคเด•เตเด•เต‡เดŸเต เดชเดฟเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚. เด‡เดคเดฟเดจเต เดฎเตเด•เดณเดฟเตฝ CRC32-เตฝ เด•เดพเดฐเตเดฏเดฎเดฟเดฒเตเดฒ.

"4-เดฌเตˆเดฑเตเดฑเต เดกเดพเดฑเตเดฑ เดตเดฟเดจเตเดฏเดพเดธเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ" เดŽเดจเตเดจเต เดจเตเดฏเดพเดฏเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เด‡เดจเตเดฑเตผเดฎเต€เดกเดฟเดฏเดฑเตเดฑเตเดฎเดพเดฏเดฟ เด’เดฐเต เดฌเตˆเดฑเตเดฑเต เดฆเตˆเตผเด˜เตเดฏเด‚ เดธเดพเดงเตเดฏเดฎเดพเด•เตเดจเตเดจ เดธเด‚เด•เตเดทเดฟเดชเตเดคเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเด‚, เด‡เดคเต เดคเดฟเด•เดšเตเดšเตเด‚ เด…เดธเด‚เดฌเดจเตเดงเดฎเดพเดฃเต. เดŽเดจเตเดคเดพเดฃเต, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตผเดฎเดพเตผ เด’เดฐเต เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดตเดฟเดจเตเดฏเดธเดฟเดšเตเดš เดฌเดซเดฑเดฟเดฒเต‡เด•เตเด•เต เดกเดพเดฑเตเดฑ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดคเดคเตเดฐ เด•เดดเดฟเดตเดฟเดฒเตเดฒเดพเดคเตเดคเดตเดฐเดพเดฃเต†เดจเตเดจเต เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต? เดจเดฟเด™เตเด™เตพ เด‡เดชเตเดชเต‹เดดเตเด‚ เด‡เดคเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด•เดพเดฐเดฃเด‚ เดตเดพเดฏเดจ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดคเตเดฐ เดฌเตˆเดฑเตเดฑเตเด•เดณเตเด‚ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด‚ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต เดชเตเดฐเต‹เด•เตเดธเดฟ เดธเต†เตผเดตเดฑเตเด•เดณเตเด‚ เด‰เดฃเตเดŸเต...). เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดตเดถเดคเตเดคเต, 16 เดฌเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เต เดฎเตเด•เดณเดฟเตฝ เด‡เดชเตเดชเต‹เดดเตเด‚ เด•เดจเดคเตเดค เดชเดพเดกเดฟเด‚เด—เต เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เดธเด‚เด•เตเดทเดฟเดชเตเดคเดคเตเดคเต† เดคเดŸเดฏเตเดจเตเดจเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต - 3 เดฌเตˆเดฑเตเดฑเตเด•เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด• เดšเดฟเดฒเดชเตเดชเต‹เตพ ?

เดฏเดฅเดพเตผเดคเตเดฅ เดชเตเดฐเดพเดฏเต‹เด—เดฟเด• เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเต† เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด•เตพ เด‰เตพเดชเตเดชเต†เดŸเต†เดฏเตเดณเตเดณ เดšเด•เตเดฐเด™เตเด™เตพ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเตป เดจเดฟเด•เตเด•เต‹เดณเดพเดฏเต เดกเตเดฑเต‹เดตเต เดถเดฐเดฟเด•เตเด•เตเด‚ เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเตเดตเต†เดจเตเดจ เดงเดพเดฐเดฃ เด’เดฐเดพเตพเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต.

เดฎเดฑเตเดฑเต เด—เดคเดพเด—เดค เด“เดชเตเดทเดจเตเด•เตพ, เด‰เตพเดชเตเดชเต†เดŸเต†. Web, MTProxy, เดžเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เดฟเดฒเตเดฒ, เด’เดฐเตเดชเด•เตเดทเต‡ เดฎเดฑเตเดฑเตŠเดฐเต เดชเต‹เดธเตเดฑเตเดฑเดฟเตฝ, เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ. เด‡เดคเต‡ MTProxy-เดฏเต† เด•เตเดฑเดฟเดšเตเดšเต, 2018-เตฝ เดชเตเดฑเดคเตเดคเดฟเดฑเด™เตเด™เดฟเดฏเดคเดฟเดจเต เดคเตŠเดŸเตเดŸเตเดชเดฟเดจเตเดจเดพเดฒเต†, เดฆเดพเดคเดพเด•เตเด•เตพ เด…เดคเต เดคเดŸเดฏเดพเตป เดตเต‡เด—เดคเตเดคเดฟเตฝ เดชเด เดฟเดšเตเดšเตเดตเต†เดจเตเดจเต เดฎเดพเดคเตเดฐเด‚ เด“เตผเด•เตเด•เตเด•. เดฌเตˆเดชเดพเดธเต เดคเดŸเดฏเตฝ, เด“เดฃเดพเดฃเต เดชเดพเด•เตเด•เต‡เดœเต เดตเดฒเดฟเดชเตเดชเด‚! เด•เต‚เดŸเดพเดคเต† เดธเดฟเดฏเดฟเตฝ เดŽเดดเตเดคเดฟเดฏ (เดตเต€เดฃเตเดŸเตเด‚ เดตเดพเตพเดŸเตเดŸเตเดฎเดพเตป) MTProxy เดธเต†เตผเดตเตผ เดฒเดฟเดจเด•เตเดธเต เดธเตเดชเต†เดธเดฟเดซเดฟเด•เตเด•เตเด•เดณเตเดฎเดพเดฏเดฟ เด…เดฎเดฟเดคเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจ เดตเดธเตเดคเตเดคเดฏเตเด‚, เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเดฒเตเด‚ (เดซเดฟเตฝ เด•เตเดฒเดฟเตป เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เตเด‚), Go เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Node.js-เตฝ เดธเดฎเดพเดจเดฎเดพเดฏ เดธเต†เตผเดตเตผ เด‰เดฃเตเดŸเดพเด•เตเด‚. เดจเต‚เดฑเดฟเตฝ เดคเดพเดดเต† เดตเดฐเดฟเด•เดณเดฟเตฝ เด’เดคเตเด™เตเด™เตเดจเตเดจเต.

เดŽเดจเตเดจเดพเตฝ เดˆ เด†เดณเตเด•เดณเตเดŸเต† เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดธเดพเด•เตเดทเดฐเดคเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดฎเดฑเตเดฑเต เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเด—เดฃเดฟเดšเตเดš เดถเต‡เดทเด‚ เดตเดฟเดญเดพเด—เดคเตเดคเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเด‚ เดจเดฟเด—เดฎเดจเด™เตเด™เดณเดฟเตฝ เดŽเดคเตเดคเดฟเดšเตเดšเต‡เดฐเตเด‚. เด‡เดชเตเดชเต‹เตพ, เดจเดฎเตเด•เตเด•เต OSI เดฒเต†เดฏเตผ 5, เดธเต†เดทเดจเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเด‚ - เด…เดคเดฟเตฝ เด…เดตเตผ MTProto เดธเต†เดทเตป เดธเตเดฅเดพเดชเดฟเดšเตเดšเต.

เด•เต€เด•เตพ, เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ, เดธเต†เดทเดจเตเด•เตพ, เดกเดฟเดซเดฟ-เดนเต†เตฝเดฎเดพเตป

เด…เดตเตผ เด…เดคเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เด…เดตเดฟเดŸเต† เดธเตเดฅเดพเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ... เด’เดฐเต เดธเต†เดทเตป เดŽเดจเตเดจเดคเต เดธเดœเต€เดต เดธเต†เดทเดจเตเด•เตพเด•เตเด•เต เด•เต€เดดเดฟเดฒเตเดณเตเดณ เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเตฝ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเดจเตเดจ เด…เดคเต‡ เดธเต†เดทเตป เด…เดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เด•เตเดฐเดฎเดคเตเดคเดฟเตฝ.

เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเดฟเดจเตเดฑเต†เดฏเตเด‚ เดธเด‚เด˜เดŸเดจเดพ เดธเดฎเต€เดชเดจเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดตเดฟเดฎเตผเดถเดจเด‚. เดญเดพเด—เด‚ 1, เดธเดพเด™เตเด•เต‡เดคเดฟเด•เด‚: เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เดŽเดดเตเดคเตเดจเตเดจ เด…เดจเตเดญเดตเด‚ - TL, MT

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

เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เดฐเดฃเตเดŸเต เดธเตเดฅเดพเดชเดจเด™เตเด™เตพ เด‰เดฃเตเดŸเต เดธเดฎเตเดฎเต‡เดณเดจเด‚ - "เดจเดฟเดฒเดตเดฟเดฒเต† เดธเต†เดทเดจเตเด•เตพ" เดŽเดจเตเดจเดคเดฟเดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ เด”เดฆเตเดฏเต‹เด—เดฟเด• เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเตเดŸเต† เดฏเตเดเดฏเดฟเตฝ เด’เดจเตเดจเต, เด“เดฐเต‹ เดธเต†เดทเดจเตเด‚ เด’เดฐเต เดฎเตเดดเตเดตเตป เด‰เดชเด•เดฐเดฃเด‚ / เด’เดŽเดธเตเดฎเดพเดฏเดฟ เดฏเต‹เดœเดฟเด•เตเด•เตเดจเตเดจเต.
เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต MTPproto เดธเต†เดทเตป, เด…เดคเดฟเตฝ เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเตเดฑเต† เดธเต€เด•เตเดตเตปเดธเต เดจเดฎเตเดชเตผ (เดคเดพเดดเตเดจเตเดจ เดจเดฟเดฒเดฏเดฟเดฒเตเดณเตเดณ เด…เตผเดคเตเดฅเดคเตเดคเดฟเตฝ) เด‰เดฃเตเดŸเต, เดเดคเดพเดฃเต เดตเตเดฏเดคเตเดฏเดธเตเดค TCP เด•เดฃเด•เตเดทเดจเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เตเด‚. เด’เดฐเต‡ เดธเดฎเดฏเด‚ เดจเดฟเดฐเดตเดงเดฟ MTProto เดธเต†เดทเดจเตเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดซเดฏเตฝ เดกเต—เตบเดฒเต‹เดกเต เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เดพเตป.

เด‡เดต เดฐเดฃเตเดŸเดฟเดจเตเด‚ เด‡เดŸเดฏเดฟเตฝ เดธเต†เดทเดจเตเด•เตพ เด’เดฐเต เด†เดถเดฏเด‚ เด‰เดฃเตเดŸเต เด…เด‚เด—เต€เด•เดพเดฐเด‚. เด…เดงเดƒเดชเดคเดฟเดšเตเดš เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดจเดฎเตเด•เตเด•เต เด…เด™เตเด™เดจเต† เดชเดฑเดฏเดพเด‚ UI เดธเต†เดทเตป เดชเต‹เดฒเต† เดคเดจเตเดจเต†เดฏเดพเดฃเต เด…เด‚เด—เต€เด•เดพเดฐเด‚, เดชเด•เตเดทเต‡ เด…เดฏเตเดฏเต‹, เดŽเดฒเตเดฒเดพเด‚ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฃเต. เดจเดฎเตเด•เตเด•เต เดจเต‡เดพเด•เตเด•เดพเด‚:

  • เดชเตเดคเดฟเดฏ เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดฒเต† เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เด†เดฆเตเดฏเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต auth_key เด…เดคเต เด…เด•เตเด•เต—เดฃเตเดŸเดฟเดฒเต‡เด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต SMS เดตเดดเดฟ - เด…เดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด…เด‚เด—เต€เด•เดพเดฐเด‚
  • เด†เดฆเตเดฏเดคเตเดคเต‡เดคเดฟเดจเตเดณเตเดณเดฟเตฝ เด…เดคเต เดธเด‚เดญเดตเดฟเดšเตเดšเต MTPproto เดธเต†เดทเตป, เด‰เดณเตเดณเดคเต session_id เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‰เดณเตเดณเดฟเตฝ.
  • เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เด•เต‹เดฎเตเดชเดฟเดจเต‡เดทเตป เด…เด‚เด—เต€เด•เดพเดฐเด‚ ะธ session_id เดตเดฟเดณเดฟเด•เตเด•เดพเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต เด…เดงเดฟเด•เดพเดฐเด‚ - เดˆ เดตเดพเด•เตเด•เต เดšเดฟเดฒ เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเตเดŸเต† เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเดฒเตเด‚ เด•เต‹เดกเดฟเดฒเตเด‚ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเดจเตเดจเต
  • เดคเตเดŸเตผเดจเตเดจเต, เด‰เดชเดญเต‹เด•เตเดคเดพเดตเดฟเดจเต เดคเตเดฑเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ เดชเดฒเดคเตเด‚ MTPproto เดธเต†เดทเดจเตเด•เตพ เด…เดคเต‡ เด•เต€เดดเดฟเตฝ auth_key - เด…เดคเต‡ เดกเดฟเดธเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต.
  • เดคเตเดŸเตผเดจเตเดจเต, เด’เดฐเต เดฆเดฟเดตเดธเด‚ เด•เตเดฒเดฏเดจเตเดฑเต เดซเดฏเตฝ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เดฎเดฑเตเดฑเตŠเดฐเต เดกเดฟเดธเดฟ - เดˆ DC-เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เด’เดฐเต เดชเตเดคเดฟเดฏเดคเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด‚ auth_key !
  • เดฐเดœเดฟเดธเตโ€Œเดฑเตเดฑเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดชเตเดคเดฟเดฏ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฒเตเดฒเต†เดจเตเดจเตเด‚ เด…เดคเต เดคเดจเตเดจเต†เดฏเดพเดฃเต†เดจเตเดจเตเด‚ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเต† เด…เดฑเดฟเดฏเดฟเด•เตเด•เดพเตป เด…เด‚เด—เต€เด•เดพเดฐเด‚ (UI เดธเต†เดทเตป), เด•เตเดฒเดฏเดจเตเดฑเต API เด•เต‹เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต auth.exportAuthorization เดตเต€เดŸเตเดŸเดฟเตฝ เดกเดฟ.เดธเดฟ auth.importAuthorization เดชเตเดคเดฟเดฏ เดกเดฟเดธเดฟเดฏเดฟเตฝ.
  • เดŽเดฒเตเดฒเดพเด‚ เด’เดจเตเดจเตเดคเดจเตเดจเต†เดฏเดพเดฃเต, เดชเดฒเดคเตเด‚ เดคเตเดฑเดจเตเดจเดฟเดฐเดฟเด•เตเด•เดพเด‚ MTPproto เดธเต†เดทเดจเตเด•เตพ (เด“เดฐเต‹เดจเตเดจเดฟเดจเตเด‚ เด…เดคเดฟเดจเตเดฑเต‡เดคเดพเดฏ session_id) เดˆ เดชเตเดคเดฟเดฏ เดกเดฟเดธเดฟเด•เตเด•เต, เด•เต€เดดเดฟเตฝ เด…เดตเดจเตเดฑเต† auth_key.
  • เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เด•เตเดฒเดฏเดจเตเดฑเต เดคเดฟเด•เดžเตเดž เดซเต‹เตผเดตเต‡เดกเต เดฐเดนเดธเตเดฏเด‚ เด†เด—เตเดฐเดนเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚. เด“เดฐเต‹ auth_key เด†เดฏเดฟเดฐเตเดจเตเดจเต เดธเตเดฅเดฟเดฐเดฎเดพเดฏ เด•เต€ - เด“เดฐเต‹ เดกเดฟเดธเดฟเด•เตเด•เตเด‚ - เด•เต‚เดŸเดพเดคเต† เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเต เดตเดฟเดณเดฟเด•เตเด•เดพเด‚ auth.bindTempAuthKey เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเต เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด•เด‚ auth_key - เดตเต€เดฃเตเดŸเตเด‚, เด’เดจเตเดจเต เดฎเดพเดคเตเดฐเด‚ temp_auth_key เด“เดฐเต‹ เดกเดฟเดธเดฟเด•เตเด•เตเด‚, เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เดชเตŠเดคเตเดตเดพเดฏเดคเต MTPproto เดธเต†เดทเดจเตเด•เตพ เดˆ เดกเดฟ.เดธเดฟ.

เด…เดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด• เด‰เดชเตเดชเต (เดญเดพเดตเดฟ เดฒเดตเดฃเด™เตเด™เตพ) เดŽเดจเตเดจเดฟเดตเดฏเตเด‚ เด’เดจเตเดจเดพเดฃเต auth_key เด†. เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เด‡เดŸเดฏเดฟเตฝ เดชเด™เตเด•เดฟเดŸเตเดŸเต MTPproto เดธเต†เดทเดจเตเด•เตพ เด…เดคเต‡ เดกเดฟ.เดธเดฟ.

"เดตเตเดฏเดคเตเดฏเดธเตเดค TCP เด•เดฃเด•เตเดทเดจเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ" เดŽเดจเตเดคเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต? เด…เดคเดฟเดจเดพเตฝ เด‡เดคเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เด…เดคเตเดชเต‡เดพเดฒเดคเตเดคเต† เด’เดฐเต เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเดฟเดฒเต† เด…เด‚เด—เต€เด•เตƒเดค เด•เตเด•เตเด•เดฟ - เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดจเดฟเดฐเดตเดงเดฟ เดŸเดฟเดธเดฟเดชเดฟ เด•เดฃเด•เตเดทเดจเตเด•เตพ เด…เดคเต เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เตเดจเตเดจเต (เด…เดคเดฟเดœเต€เดตเดฟเด•เตเด•เตเดจเตเดจเต), เดŽเดจเตเดจเดพเตฝ เด’เดฐเต เดฆเดฟเดตเดธเด‚ เด…เดคเต เดฎเต‹เดถเดฎเดพเด•เตเด‚. HTTP-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ, เด’เดฐเต เดธเต†เดทเดจเดฟเดฒเต† MTProto เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด•เตเดฐเดฎเดพเดจเตเด—เดคเดฎเดพเดฏเดฟ เด…เด•เตเด•เดฎเดฟเดŸเตเดŸเต เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต; เด…เดตเตผ เดคเตเดฐเด™เตเด•เดคเตเดคเดฟเตฝ เดชเตเดฐเดตเต‡เดถเดฟเดšเตเดšเดพเตฝ, เด•เดฃเด•เตเดทเตป เดคเด•เดฐเดพเดฑเดฟเดฒเดพเดฏเดฟ - เด’เดฐเต เดชเตเดคเดฟเดฏ เด•เดฃเด•เตเดทเตป เดธเตเดฅเดพเดชเดฟเดšเตเดš เดถเต‡เดทเด‚, เดธเต†เตผเดตเตผ เดˆ เดธเต†เดทเดจเดฟเตฝ เดฎเตเดฎเตเดชเดคเตเดคเต† เดกเต†เดฒเดฟเดตเตผ เดšเต†เดฏเตเดฏเดพเดคเตเดคเดคเต†เดฒเตเดฒเดพเด‚ เดฆเดฏเดฏเต‹เดŸเต† เด…เดฏเดฏเตเด•เตเด•เตเด‚. TCP เด•เดฃเด•เตเดทเตป.

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเดธเดคเตเดคเต† เด…เดจเตเดตเต‡เดทเดฃเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดธเด‚เด—เตเดฐเดนเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดฟเดจเดฟเดŸเดฏเดฟเตฝ, เดžเด™เตเด™เตพ เดžเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเดฏเดจเตเดฑเต เด†เดฆเตเดฏเด‚ เดฎเตเดคเตฝ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹? - เดจเดฎเตเด•เตเด•เต เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เดพเด‚.

เด…เดคเดฟเดจเดพเตฝ เดจเดฎเตเด•เตเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚ auth_key เด† เดธเดฎเดฏเดคเตเดคเต เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดฟเดซเดฟ-เดนเต†เตฝเดฎเดพเตป เดชเดคเดฟเดชเตเดชเตเด•เตพ. เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดพเด‚...

Vasily, [19.06.18 20:05] data_with_hash := SHA1(เดกเดพเดฑเตเดฑ) + เดกเดพเดฑเตเดฑ + (เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เดฌเตˆเดฑเตเดฑเตเด•เตพ); เดฆเตˆเตผเด˜เตเดฏเด‚ 255 เดฌเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เต เดคเตเดฒเตเดฏเดฎเดพเดฃเต;
encrypted_data := RSA(data_with_hash, server_public_key); 255-เดฌเตˆเดฑเตเดฑเต เดจเต€เดณเดฎเตเดณเตเดณ เด’เดฐเต เดธเด‚เด–เตเดฏ (เดฌเดฟเด—เต เดŽเตปเดกเดฟเดฏเตป) เด†เดตเดถเตเดฏเดฎเดพเดฏ เดฎเต‹เดกเตเดฒเดธเดฟเตฝ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดถเด•เตเดคเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เด‰เดฏเตผเดคเตเดคเตเดจเตเดจเต, เดซเดฒเด‚ 256-เดฌเตˆเดฑเตเดฑเต เดธเด‚เด–เตเดฏเดฏเดพเดฏเดฟ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดตเตผเด•เตเด•เต เด•เตเดฑเดšเตเดšเต เดกเต‹เดชเตเดชเต เดกเดฟเดŽเดšเตเดšเต เด‰เดฃเตเดŸเต

เด†เดฐเต‹เด—เตเดฏเดฎเตเดณเตเดณ เด’เดฐเต เดตเตเดฏเด•เตเดคเดฟเดฏเตเดŸเต† DH เดชเต‹เดฒเต† เดคเต‹เดจเตเดจเตเดจเตเดจเดฟเดฒเตเดฒ
dx-เตฝ เดฐเดฃเตเดŸเต เดชเตŠเดคเต เด•เต€เด•เดณเดฟเดฒเตเดฒ

เดถเดฐเดฟ, เด…เดตเดธเดพเดจเด‚ เด‡เดคเต เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเต, เดชเด•เตเดทเต‡ เด’เดฐเต เด…เดตเดถเดฟเดทเตเดŸเด‚ เด…เดตเดถเต‡เดทเดฟเดšเตเดšเต - เดจเดฎเตเดชเตผ เดซเดพเด•เตเดŸเตผ เดšเต†เดฏเตเดฏเดพเตป เด…เดฆเตเดฆเต‡เดนเดคเตเดคเดฟเดจเต เด•เดดเดฟเดžเตเดžเตเดตเต†เดจเตเดจเต เด•เตเดฒเดฏเดจเตเดฑเต เดšเต†เดฏเตเดค เดœเต‹เดฒเดฟเดฏเตเดŸเต† เดคเต†เดณเดฟเดตเต. DoS เด†เด•เตเดฐเดฎเดฃเด™เตเด™เตพเด•เตเด•เต†เดคเดฟเดฐเดพเดฏ เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดŸเต† เดคเดฐเด‚. เด•เต‚เดŸเดพเดคเต† RSA เด•เต€ เด’เดฐเต เดฆเดฟเดถเดฏเดฟเตฝ เด’เดฐเต เดคเดตเดฃ เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‚, เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเดจเดพเดฏเดฟ new_nonce. เดŽเดจเตเดจเดพเตฝ เดˆ เดฒเดณเดฟเดคเดฎเดพเดฏ เด“เดชเตเดชเดฑเต‡เดทเตป เดตเดฟเดœเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเต เดจเต‡เดฐเดฟเดŸเต‡เดฃเตเดŸเดฟเดตเดฐเตเด‚?

Vasily, [20.06.18/00/26 XNUMX:XNUMX] เดŽเดจเดฟเด•เตเด•เต เด‡เดคเตเดตเดฐเต† appid เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดฒเดญเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ

เดžเดพเตป เดˆ เด…เดญเตเดฏเตผเดคเตเดฅเดจ DH-เดจเต เด…เดฏเดšเตเดšเต

เด•เต‚เดŸเดพเดคเต†, เด’เดฐเต เดชเดฟเดถเด•เต เด•เต‹เดกเดฟเดจเตเดฑเต† 4 เดฌเตˆเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเต เดŸเตเดฐเดพเตปเดธเตเดชเต‹เตผเดŸเตเดŸเต เดกเต‹เด•เตเด•เดฟเตฝ เดชเดฑเดฏเตเดจเตเดจเต. เด…เดคเตเดฐเดฏเต‡เดฏเตเดณเตเดณเต‚

เดถเดฐเดฟ, เด…เดตเตป เดŽเดจเตเดจเต‹เดŸเต เดชเดฑเดžเตเดžเต -404, เด…เดชเตเดชเต‹เตพ เดŽเดจเตเดคเดพเดฃเต?

เด…เดคเตเด•เตŠเดฃเตเดŸเต เดžเดพเตป เด…เดตเดจเต‹เดŸเต เดชเดฑเดžเตเดžเต: โ€œเด‡เดคเตเดชเต‹เดฒเตเดณเตเดณ เดซเดฟเด‚เด—เตผเดชเตเดฐเดฟเดจเตเดฑเต เด‰เดณเตเดณ เดธเต†เตผเดตเตผ เด•เต€ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฌเตเตพเดทเดฟเดฑเตเดฑเต เดชเดฟเดŸเดฟเด•เตเด•เต‚, เดŽเดจเดฟเด•เตเด•เต DH เดตเต‡เดฃเด‚,โ€ เด…เดคเต เด’เดฐเต เดฎเดฃเตเดŸเตป 404 เดŽเดจเตเดจเต เดชเตเดฐเดคเดฟเด•เดฐเดฟเดšเตเดšเต.

เดˆ เดธเต†เตผเดตเตผ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพ เดŽเดจเตเดคเดพเดฃเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต? เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเตเด‚? เดšเต‹เดฆเดฟเด•เตเด•เดพเตป เด†เดฐเตเดฎเดฟเดฒเตเดฒ (เดŽเดจเตเดจเดพเตฝ เด…เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเตฝ).

เด‡เดตเดฟเดŸเต† เดŽเดฒเตเดฒเดพ เดชเดฒเดฟเดถเดฏเตเด‚ เดกเต‹เด•เตเด•เดฟเดฒเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต

เดŽเดจเดฟเด•เตเด•เต เดฎเดฑเตเดฑเตŠเดจเตเดจเตเด‚ เดšเต†เดฏเตเดฏเดพเดจเดฟเดฒเตเดฒ, เด…เด•เตเด•เด™เตเด™เตพ เด…เด™เตเด™เต‹เดŸเตเดŸเตเด‚ เด‡เด™เตเด™เต‹เดŸเตเดŸเตเด‚ เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเต เดžเดพเตป เดธเตเดตเดชเตเดจเด‚ เด•เดฃเตเดŸเต

เดฐเดฃเตเดŸเต 32 เดฌเดฟเดฑเตเดฑเต เดจเดฎเตเดชเดฑเตเด•เตพ. เดŽเดฒเตเดฒเดพเดตเดฐเต†เดฏเตเด‚ เดชเต‹เดฒเต† เดžเดพเดจเตเด‚ เด…เดตเดฐเต† เดชเดพเด•เตเด•เต เดšเต†เดฏเตเดคเต

เดŽเดจเตเดจเดพเตฝ เด‡เดฒเตเดฒ, เด‡เดต เดฐเดฃเตเดŸเตเด‚ เด†เดฆเตเดฏเด‚ เดตเดฐเดฟเดฏเดฟเตฝ BE เด†เดฏเดฟ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต

เดตเดพเดกเดฟเด‚ เด—เต‹เดžเตเดšเดฑเต‹เดตเต, [20.06.18 15:49] เดˆ 404 เด•เดพเดฐเดฃเด‚?

เดตเดพเดธเดฟเดฒเดฟ, [20.06.18 15:49] เด…เดคเต†!

เดตเดพเดกเดฟเด‚ เด—เต‹เดžเตเดšเดฑเต‹เดตเต, [20.06.18 15:50] เด…เดคเดฟเดจเดพเตฝ เด…เดตเดจเต เดŽเดจเตเดคเดพเดฃเต "เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เด•เดดเดฟเดฏเดพเดคเตเดคเดคเต" เดŽเดจเตเดจเต เดŽเดจเดฟเด•เตเด•เต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเดจเตเดจเดฟเดฒเตเดฒ

เดตเดพเดธเดฟเดฒเดฟ, [20.06.18 15:50] เดเด•เดฆเต‡เดถเด‚

เดŽเดจเดฟเด•เตเด•เต เด…เดคเตเดคเดฐเด‚ เด’เดฐเต เดตเดฟเด˜เดŸเดจเด‚ เดชเตเดฐเดงเดพเดจ เด˜เดŸเด•เด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเดฏเดฟเดฒเตเดฒ%)

เดชเดฟเดถเด•เต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเดšเต†เดฏเตเดฏเตฝ เดชเต‹เดฒเตเด‚ เดžเด™เตเด™เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดคเดฟเดฒเตเดฒ

เดตเดพเดธเดฟเดฒเดฟ, [20.06.18 20:18] เด“, MD5 เด‰เด‚ เด‰เดฃเตเดŸเต. เด‡เดคเดฟเดจเด•เด‚ เดฎเต‚เดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดนเดพเดทเตเด•เตพ

เดชเตเดฐเดงเดพเดจ เดตเดฟเดฐเดฒเดŸเดฏเดพเดณเด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเต€เดคเดฟเดฏเดฟเตฝ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต:

digest = md5(key + iv)
fingerprint = substr(digest, 0, 4) XOR substr(digest, 4, 4)

SHA1, sha2 เดŽเดจเตเดจเดฟเดต

เด…เดคเตเด•เตŠเดฃเตเดŸเต เดตเต†เด•เตเด•เดพเด‚ auth_key Diffie-Hellman เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพเด•เตเด•เต 2048 เดฌเดฟเดฑเตเดฑเตเด•เตพ เดฒเดญเดฟเดšเตเดšเต. เด…เดŸเตเดคเตเดคเดคเต เดŽเดจเตเดคเดพเดฃเต? เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ, เดˆ เด•เต€เดฏเตเดŸเต† เดคเดพเดดเดคเตเดคเต† 1024 เดฌเดฟเดฑเตเดฑเตเด•เตพ เด’เดฐเต เดคเดฐเดคเตเดคเดฟเดฒเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเต... เดŽเดจเตเดจเดพเตฝ เด‡เดชเตเดชเต‹เตพ เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดšเดฟเดจเตเดคเดฟเด•เตเด•เดพเด‚. เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดžเด™เตเด™เตพเด•เตเด•เต เดธเต†เตผเดตเดฑเตเดฎเดพเดฏเดฟ เดชเด™เตเด•เดฟเดŸเตเดŸ เด’เดฐเต เดฐเดนเดธเตเดฏเดฎเตเดฃเตเดŸเต. TLS เดธเต†เดทเดจเตเดฑเต† เด’เดฐเต เด…เดจเดฒเต‹เด—เต เดธเตเดฅเดพเดชเดฟเดšเตเดšเต, เด‡เดคเต เดตเดณเดฐเต† เดšเต†เดฒเดตเต‡เดฑเดฟเดฏ เดจเดŸเดชเดŸเดฟเด•เตเดฐเดฎเดฎเดพเดฃเต. เดŽเดจเตเดจเดพเตฝ เดžเด™เตเด™เตพ เด†เดฐเดพเดฃเต†เดจเตเดจเต เดธเต†เตผเดตเดฑเดฟเดจเต เด‡เดชเตเดชเต‹เดดเตเด‚ เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ! เด‡เดคเตเดตเดฐเต† เด‡เดฒเตเดฒ, เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ. เด…เด‚เด—เต€เด•เดพเดฐเด‚. เด†. เดจเดฟเด™เตเด™เตพ เด’เดฐเดฟเด•เตเด•เตฝ ICQ-เตฝ เดšเต†เดฏเตโ€Œเดคเดคเตเดชเต‹เดฒเต† "เดฒเต‹เด—เดฟเตป-เดชเดพเดธเตโ€Œเดตเต‡เดกเต" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ SSH-เตฝ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดšเดฟเดฒ gitlab/github-เตฝ) เดชเต‹เดฒเต† "เดฒเต‹เด—เดฟเตป-เด•เต€" เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดšเดฟเดจเตเดคเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ. เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด…เดœเตเดžเดพเดคเดจเต† เดฒเดญเดฟเดšเตเดšเต. "เดˆ เดซเต‹เตบ เดจเดฎเตเดชเดฑเตเด•เตพ เดฎเดฑเตเดฑเตŠเดฐเต DC เด†เดฃเต เดธเตผเดตเต€เดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต" เดŽเดจเตเดจเต เดธเต†เตผเดตเตผ เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดžเตเดžเดพเดฒเต‹? เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "เดจเดฟเด™เตเด™เดณเตเดŸเต† เดซเต‹เตบ เดจเดฎเตเดชเตผ เดจเดฟเดฐเต‹เดงเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต" เดŽเดจเตเดจเดคเตเดชเต‹เดฒเตเด‚? เดจเดฎเตเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดเดฑเตเดฑเดตเตเด‚ เดฎเดฟเด•เดšเตเดšเดคเต, เดคเดพเด•เตเด•เต‹เตฝ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเดฎเต†เดจเตเดจ เดชเตเดฐเดคเต€เด•เตเดทเดฏเดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต, เด…เดชเตเดชเต‹เดดเต‡เด•เตเด•เตเด‚ เดšเต€เดžเตเดžเดดเตเด•เดฟเดชเตเดชเต‹เด•เดฟเดฒเตเดฒ.

เดตเดดเดฟเดฏเดฟเตฝ, เดžเด™เตเด™เตพ เด…เดคเต เดฑเดฟเดธเตผเดตเต‡เดทเดจเตเด•เดณเต‹เดŸเต† "เดธเตเดตเต€เด•เดฐเดฟเดšเตเดšเต". เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดžเด™เตเด™เตพ เดธเต†เตผเดตเดฑเดฟเดจเต† เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹? เดตเตเดฏเดพเดœเดฎเดพเดฃเต†เด™เตเด•เดฟเดฒเต‹? เด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเต‹เด—เตเดฐเดพเดซเดฟเด•เต เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เด†เดตเดถเตเดฏเดฎเดพเดฃเต:

Vasily, [21.06.18 17:53] เด…เดตเตผ เดฎเตŠเดฌเตˆเตฝ เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต 2kbit เดจเดฎเตเดชเตผ เดชเตเดฐเตˆเดฎเดฒเดฟเดฑเตเดฑเดฟ% เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต)

เดŽเดจเตเดจเดพเตฝ เด…เดคเต เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒ, เดจเดซเต€เดœเต‹เดต

Vasily, [21.06.18 18:02] เด…เดคเต เดฒเดณเดฟเดคเดฎเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต เดชเตเดฐเดฎเดพเดฃเด‚ เดชเดฑเดฏเตเดจเตเดจเดฟเดฒเตเดฒ

เดชเดฑเดžเตเดžเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เด”เดฆเตเดฏเต‹เด—เดฟเด• เด†เตปเดกเตเดฐเต‹เดฏเดฟเดกเต เด•เตเดฒเดฏเดจเตเดฑเต เดŽเดจเตเดคเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚? เดŽ เด…เดคเดพเดฃเดคเต (เด…เดคเต†, เดฎเตเดดเตเดตเตป เดซเดฏเดฒเตเด‚ เดฐเดธเด•เดฐเดฎเดพเดฃเต) - เด…เดตเตผ เดชเดฑเดฏเตเดจเตเดจเดคเต เดชเต‹เดฒเต†, เดžเดพเตป เด‡เดคเต เด‡เดตเดฟเดŸเต† เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เตเด‚:

278     static const char *goodPrime = "c71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5b";
279   if (!strcasecmp(prime, goodPrime)) {

เด‡เดฒเตเดฒ, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด…เดคเต เด‡เดชเตเดชเต‹เดดเตเด‚ เด…เดตเดฟเดŸเต†เดฏเตเดฃเตเดŸเต เดšเดฟเดฒเดคเต เด’เดฐเต เดธเด‚เด–เตเดฏเดฏเตเดŸเต† เดชเตเดฐเดพเดฅเดฎเดฟเด•เดคเดฏเตเด•เตเด•เดพเดฏเดฟ เดชเดฐเดฟเดถเต‹เดงเดจเด•เตพ เด‰เดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดตเตเดฏเด•เตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ เดŽเดจเดฟเด•เตเด•เต เด—เดฃเดฟเดคเดถเดพเดธเตเดคเตเดฐเดคเตเดคเดฟเตฝ เดตเต‡เดฃเตเดŸเดคเตเดฐ เด…เดฑเดฟเดตเดฟเดฒเตเดฒ.

เดถเดฐเดฟ, เดžเด™เตเด™เตพเด•เตเด•เต เดฎเดพเดธเตเดฑเตเดฑเตผ เด•เต€ เดฒเดญเดฟเดšเตเดšเต. เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดฏเดพเตป, เด…เดคเดพเดฏเดคเต. เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเดฏเตเด•เตเด•เตเด•, เดจเดฟเด™เตเด™เตพ AES เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‚เดŸเตเดคเตฝ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เดจเดŸเดคเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เด…เด‚เด—เต€เด•เตƒเดค เด•เต€เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเดŸเตเดคเตเดค 128 เดฌเตˆเดฑเตเดฑเตเด•เตพ เดฎเตเตปโ€Œเด•เต‚เดŸเตเดŸเดฟ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดชเดพเดกเดฟเด‚เด—เต เดฌเตˆเดฑเตเดฑเตเด•เตพ เด‰เตพเดชเตเดชเต†เดŸเต†, เดธเดจเตเดฆเต‡เดถ เดฌเต‹เดกเดฟเดฏเตเดŸเต† (เดธเต†เดทเตป, เดธเดจเตเดฆเต‡เดถ เดเดกเดฟ เดฎเตเดคเดฒเดพเดฏเดต เด‰เตพเดชเตเดชเต†เดŸเต†) SHA256-เดจเตเดฑเต† 32 เดฎเดงเตเดฏ เดฌเดฟเดฑเตเดฑเตเด•เดณเดพเดฃเต เดธเดจเตเดฆเต‡เดถ เด•เต€ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต.

Vasily, [22.06.18 14:08] เดถเดฐเดพเดถเดฐเดฟ, เดฌเดฟเดšเตเดšเต, เดฌเดฟเดฑเตเดฑเตเด•เตพ

เดฒเดญเดฟเดšเตเดšเต auth_key. เดŽเดฒเตเดฒเดพเด‚. เด…เดตเตผเด•เตเด•เดชเตเดชเตเดฑเด‚... เด…เดคเต เดชเตเดฐเดฎเดพเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒ. เด“เดชเตเดชเตบ เดธเต‹เดดเตเดธเต เด•เต‹เดกเต เดชเด เดฟเด•เตเด•เดพเตป เดฎเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ.

MTPproto 2.0 เดจเต 12 เดฎเตเดคเตฝ 1024 เดฌเตˆเดฑเตเดฑเตเด•เตพ เดตเดฐเต† เดชเดพเดกเดฟเด‚เด—เต เด†เดตเดถเตเดฏเดฎเดพเดฃเต†เดจเตเดจ เด•เดพเดฐเตเดฏเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•, เดซเดฒเดฎเดพเดฏเตเดฃเตเดŸเดพเด•เตเดจเตเดจ เดธเดจเตเดฆเต‡เดถ เดฆเตˆเตผเด˜เตเดฏเด‚ 16 เดฌเตˆเดฑเตเดฑเตเด•เตพ เด•เตŠเดฃเตเดŸเต เดนเดฐเดฟเด•เตเด•เดพเดฎเต†เดจเตเดจ เดตเตเดฏเดตเดธเตเดฅเดฏเตเด•เตเด•เต เดตเดฟเดงเต‡เดฏเดฎเดพเดฃเต.

เด…เดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เดŽเดคเตเดฐ เดชเดพเดกเดฟเด‚เด—เต เดšเต‡เตผเด•เตเด•เดฃเด‚?

เด…เดคเต†, เด’เดฐเต เดชเดฟเดถเด•เตเดฃเตเดŸเดพเดฏเดพเตฝ 404 เด‰เดฃเตเดŸเต

เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเตเดฑเต† เดกเดฏเด—เตเดฐเดพเดฎเตเด‚ เดตเดพเดšเด•เดตเตเด‚ เด†เดฐเต†เด™เตเด•เดฟเดฒเตเด‚ เดถเตเดฐเดฆเตเดงเดพเดชเต‚เตผเดตเตเดตเด‚ เดชเด เดฟเดšเตเดšเดพเตฝ, เด…เดตเดฟเดŸเต† MAC เด‡เดฒเตเดฒเต†เดจเตเดจเต เด…เดตเตผ เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเต. เดฎเดฑเตเดฑเต†เดตเดฟเดŸเต†เดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเตเดค เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดเดœเดฟเด‡ เดฎเต‹เดกเดฟเดฒเดพเดฃเต AES เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต. เด…เดตเตผ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด…เดตเดฐเตเดŸเต† เดชเดคเดฟเดตเตเดšเต‹เดฆเตเดฏเด™เตเด™เดณเดฟเตฝ เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดŽเดดเตเดคเตเดจเตเดจเต... เด‡เดตเดฟเดŸเต†, เดธเดจเตเดฆเต‡เดถ เด•เต€ เดคเดจเตเดจเต†, เดกเต€เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดกเดพเดฑเตเดฑเดฏเตเดŸเต† SHA เดนเดพเดทเต เด•เต‚เดŸเดฟเดฏเดพเดฃเต, เดธเดฎเด—เตเดฐเดค เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต - เด•เต‚เดŸเดพเดคเต† เด’เดฐเต เดชเตŠเดฐเตเดคเตเดคเด•เตเด•เต‡เดŸเต เด‰เดฃเตเดŸเดพเดฏเดพเตฝ, เดšเดฟเดฒ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เด…เดตเดฐเต† เดจเดฟเดถเดฌเตเดฆเดฎเดพเดฏเดฟ เด…เดตเด—เดฃเดฟเด•เตเด•เดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เดŽเดจเตเดจเดพเตฝ เดธเตเดฐเด•เตเดทเดฏเตเดŸเต† เด•เดพเดฐเตเดฏเดฎเต‹, เด…เดตเตผ เดจเดฎเตเดฎเต† เดคเด•เตผเดคเตเดคเดพเดฒเต‹?).

เดžเดพเตป เด’เดฐเต เด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเต‹เด—เตเดฐเดพเดซเตผ เด…เดฒเตเดฒ, เดธเตˆเดฆเตเดงเดพเดจเตเดคเดฟเด• เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดˆ เดฎเต‹เดกเดฟเตฝ เดคเต†เดฑเตเดฑเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚. เดชเด•เตเดทเต‡, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตโ€Œเด•เตโ€ŒเดŸเต‹เดชเตเดชเต เด‰เดฆเดพเดนเดฐเดฃเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เดŽเดจเดฟเด•เตเด•เต เด’เดฐเต เดชเตเดฐเดพเดฏเต‹เด—เดฟเด• เดชเตเดฐเดถเตโ€Œเดจเดคเตเดคเดฟเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดชเต‡เดฐเดฟเดŸเดพเตป เด•เดดเดฟเดฏเตเด‚. เด‡เดคเต เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เด•เดพเดทเต† (เดˆ D877F783D5D3EF8C) MTProto-เดฏเดฟเดฒเต† เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดชเต‹เดฒเต† เดคเดจเตเดจเต† เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดชเดคเดฟเดชเตเดชเต 1.0 เตฝ เดฎเดพเดคเตเดฐเด‚), เด…เดคเดพเดฏเดคเต. เด†เดฆเตเดฏเด‚ เดธเดจเตเดฆเต‡เดถ เด•เต€, เดชเดฟเดจเตเดจเต† เดกเดพเดฑเตเดฑ เดคเดจเตเดจเต† (เดŽเดตเดฟเดŸเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดงเดพเดจ เดตเดฒเดฟเดฏเดคเต เดฎเดพเดฑเตเดฑเดฟเดจเดฟเตผเดคเตเดคเตเด• auth_key 256 เดฌเตˆเดฑเตเดฑเตเด•เตพ, เด•เต‚เดŸเดพเดคเต† msg_key เด‰เดชเดฏเต‹เด—เดถเต‚เดจเตเดฏเด‚). เด…เดคเดฟเดจเดพเตฝ, เดตเดฒเดฟเดฏ เดซเดฏเดฒเตเด•เดณเดฟเตฝ เดชเตเดฐเดถเตเดจเด‚ เดถเตเดฐเดฆเตเดงเต‡เดฏเดฎเดพเด•เตเด‚. เด…เดคเดพเดฏเดคเต, เดจเดฟเด™เตเด™เตพ เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เดฐเดฃเตเดŸเต เดชเด•เตผเดชเตเดชเตเด•เตพ เดธเต‚เด•เตเดทเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต - เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเดคเตเด‚ เดกเต€เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเดคเตเด‚. เด•เต‚เดŸเดพเดคเต† เดฎเต†เด—เดพเดฌเตˆเดฑเตเดฑเตเด•เดณเต‹ เดธเตเดŸเตเดฐเต€เดฎเดฟเด‚เด—เต เดตเต€เดกเดฟเดฏเต‹เด•เดณเต‹ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต?.. เดธเดฟเดซเตผเดŸเต†เด•เตโ€Œเดธเตโ€Œเดฑเตเดฑเดฟเดจเต เดถเต‡เดทเด‚ MAC เด‰เดณเตเดณ เด•เตเดฒเดพเดธเดฟเด•เต เดธเตเด•เต€เดฎเตเด•เตพ เด…เดคเต เดธเตเดŸเตเดฐเต€เด‚ เดตเดพเดฏเดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เด‰เดŸเดจเดŸเดฟ เดธเด‚เดชเตเดฐเต‡เดทเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ MTPproto เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดฟ เดตเดฐเตเด‚ เด†เดฆเตเดฏเด‚ เดฎเตเดดเตเดตเตป เดธเดจเตเดฆเต‡เดถเดตเตเด‚ เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดกเต€เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•, เดคเตเดŸเตผเดจเตเดจเต เด…เดคเต เดจเต†เดฑเตเดฑเตเดตเตผเด•เตเด•เดฟเดฒเต‡เด•เตเด•เต‹ เดกเดฟเดธเตเด•เดฟเดฒเต‡เด•เตเด•เต‹ เดฎเดพเดฑเตเดฑเตเด•. เด…เดคเดฟเดจเดพเตฝ, เด•เดพเดทเต†เดฏเดฟเดฒเต† เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเดฟเดจเตเดฑเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดชเดคเดฟเดชเตเดชเตเด•เดณเดฟเตฝ user_data เดฎเดฑเตเดฑเตŠเดฐเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต - CTR เดฎเต‹เดกเดฟเตฝ AES เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต.

เดตเดพเดธเดฟเดฒเดฟ, [21.06.18 01:27] เด“, เดเดœเดฟเด‡ เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เดžเดพเตป เด•เดฃเตเดŸเต†เดคเตเดคเดฟ: เด•เต†เตผเดฌเดฑเต‹เดธเดฟเดจเดพเดฏเดฟ "เด†เดงเดฟเด•เดพเดฐเดฟเด•เดฎเดพเด•เตเด•เตเดจเตเดจ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เดฎเต‹เดกเดฟเดจเตเดฑเต†" เด†เดฆเตเดฏ เดถเตเดฐเดฎเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต เดเดœเดฟเด‡. เด‡เดคเต เด’เดฐเต เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸ เดถเตเดฐเดฎเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต (เด‡เดคเต เดธเดฎเด—เตเดฐเดค เดชเดฐเดฟเดฐเด•เตเดท เดจเตฝเด•เตเดจเตเดจเดฟเดฒเตเดฒ), เด…เดคเต เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดฟเดตเดจเตเดจเต. เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเดพเดฎเดพเดฃเต€เด•เดฐเดฃ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เดฎเต‹เดกเดฟเดจเดพเดฏเตเดณเตเดณ 20 เดตเตผเดทเดคเตเดคเต† เด…เดจเตเดตเต‡เดทเดฃเดคเตเดคเดฟเดจเตเดฑเต† เดคเตเดŸเด•เตเด•เดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต เด…เดคเต, เด‡เดคเต เด…เดŸเตเดคเตเดคเดฟเดŸเต† OCB, GCM เดชเต‹เดฒเตเดณเตเดณ เดฎเต‹เดกเตเด•เดณเดฟเตฝ เด…เดตเดธเดพเดจเดฟเดšเตเดšเต.

เด‡เดชเตเดชเต‹เตพ เดตเดฃเตเดŸเดฟเดฏเตเดŸเต† เดญเดพเด—เดคเตเดคเต เดจเดฟเดจเตเดจเตเดณเตเดณ เดตเดพเดฆเด™เตเด™เตพ:

เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเดจเต เดชเดฟเดจเตเดจเดฟเตฝ, เดจเดฟเด•เตเด•เต‹เดณเดพเดฏเต เดกเตเดฑเต‹เดตเดฟเดจเตเดฑเต† เดจเต‡เดคเตƒเดคเตเดตเดคเตเดคเดฟเดฒเตเดณเตเดณ เดŸเต€เด‚, เด†เดฑเต เดŽเดธเดฟเดŽเด‚ เดšเดพเดฎเตเดชเตเดฏเดจเตเดฎเดพเดฐเดพเดฃเต, เด…เดตเดฐเดฟเตฝ เดชเด•เตเดคเดฟเดฏเตเด‚ เด—เดฃเดฟเดคเดถเดพเดธเตเดคเตเดฐเดคเตเดคเดฟเตฝ เดชเดฟเดŽเดšเตเดšเต.เดกเดฟ. MTPproto-เดฏเตเดŸเต† เดจเดฟเดฒเดตเดฟเดฒเต† เดชเดคเดฟเดชเตเดชเต เดชเตเดฑเดคเตเดคเดฟเดฑเด•เตเด•เดพเตป เด…เดตเตผเด•เตเด•เต เดเด•เดฆเต‡เดถเด‚ เดฐเดฃเตเดŸเต เดตเตผเดทเดฎเต†เดŸเตเดคเตเดคเต.

เด…เดคเต เดฐเดธเด•เดฐเดฎเดพเดฃเต. เดคเดพเดดเดคเตเดคเต† เดจเดฟเดฒเดฏเดฟเตฝ เดฐเดฃเตเดŸเต เดตเตผเดทเด‚

เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต tls เดŽเดŸเตเด•เตเด•เดพเด‚

เดถเดฐเดฟ, เดžเด™เตเด™เตพ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเดจเตเด‚ เดฎเดฑเตเดฑเต เดธเต‚เด•เตเดทเตเดฎเดคเด•เดณเตเด‚ เดšเต†เดฏเตเดคเตเดตเต†เดจเตเดจเต เดชเดฑเดฏเดพเด‚. เดŸเดฟเดŽเดฒเตเดฒเดฟเตฝ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต เดšเต†เดฏเตเดค เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเดจเตเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เตพ เดจเดฟเดฐเดพเด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เด’เดŸเตเดตเดฟเตฝ เดธเดพเดงเดฟเด•เตเด•เตเดฎเต‹? เด…เดชเตเดชเต‹เตพ เดŽเดจเตเดคเต, เดŽเด™เตเด™เดจเต† เด…เดฏเดฏเตเด•เตเด•เดฃเด‚? เด‡เดตเดฟเดŸเต†, เดจเดฎเตเด•เตเด•เต เดฐเต€เดคเดฟ เดชเดฑเดฏเดพเด‚ initเด•เดฃเด•เตเดทเตป, เด’เดฐเตเดชเด•เตเดทเต‡ เด‡เดคเดพเดฃเต‹?

Vasily, [25.06.18 18:46] เด•เดฃเด•เตเดทเตป เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเตเดฑเต† เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดฒเตเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเดฒเตเด‚ เดตเดฟเดตเดฐเด™เตเด™เตพ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด‡เดคเต app_id, device_model, system_version, app_version, lang_code เดŽเดจเตเดจเดฟเดต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด’เดชเตเดชเด‚ เดšเดฟเดฒ เดšเต‹เดฆเตเดฏเด™เตเด™เดณเตเด‚

เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดŽเดจเตเดจเดชเต‹เดฒเต† เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป. เด“เดชเตเดชเตบ เดธเต‹เดดเตเดธเต เดชเด เดฟเด•เตเด•เดพเตป เดฎเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ

invokeWithLayer เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŽเดฒเตเดฒเดพเด‚ เดเด•เดฆเต‡เดถเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต†เด™เตเด•เดฟเตฝ, เด‡เดตเดฟเดŸเต† เดŽเดจเตเดคเดพเดฃเต เดคเต†เดฑเตเดฑเต? เด‡เดคเต เดฎเดพเดฑเตเดจเตเดจเต, เดžเด™เตเด™เตพเด•เตเด•เต เด‰เดฃเตเดŸเต†เดจเตเดจเต เดชเดฑเดฏเดพเด‚ - เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเต เด‡เดคเดฟเดจเด•เด‚ เดธเต†เตผเดตเดฑเดฟเดจเต‹เดŸเต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเต‹เดฆเดฟเด•เตเด•เดพเดจเตเดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต - เดžเด™เตเด™เตพ เด…เดฏเดฏเตเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดฃเตเดŸเต:

เดตเดพเดธเดฟเดฒเดฟ, [25.06.18 19:13] เด•เต‹เดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดฎเตเดชเต‹เตพ, เด†เดฆเตเดฏเดคเตเดคเต† เด•เต‹เตพ เดˆ เด•เตเดฐเดพเดชเตเดชเดฟเตฝ เดชเตŠเดคเดฟเดžเตเดžเดคเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เด•เตเดฐเดพเดชเตเดชเต เดคเดจเตเดจเต† เด‡เตปเดตเต‹เด•เตเด•เตเดตเดฟเดคเตเดคเตเดฒเต†เดฏเดฑเดฟเตฝ เดชเตŠเดคเดฟเดžเตเดžเดคเดพเดฃเต.

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต initConnection เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด•เต‹เตพ เด†เดฏเดฟเด•เตเด•เต‚เดŸเดพ, เดชเด•เตเดทเต‡ เด’เดฐเต เดฑเดพเดชเตเดชเตผ เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚? เด…เดคเต†, เด…เดคเต เดฎเดพเดฑเดฟเดฏเดคเตเดชเต‹เดฒเต†, เด“เดฐเต‹ เดธเต†เดทเดจเตเดฑเต†เดฏเตเด‚ เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เด“เดฐเต‹ เดคเดตเดฃเดฏเตเด‚ เด‡เดคเต เดšเต†เดฏเตเดฏเดฃเด‚, เดชเตเดฐเดงเดพเดจ เด•เต€ เดชเต‹เดฒเต† เด’เดฐเต เดคเดตเดฃเดฏเดฒเตเดฒ. เดชเด•เตเดทเต‡! เด‡เดคเต เด’เดฐเต เด…เดจเดงเดฟเด•เตƒเดค เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเต เดตเดฟเดณเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ! เด‡เดชเตเดชเต‹เตพ เด…เดคเต เดฌเดพเดงเด•เดฎเดพเด•เตเดจเตเดจ เด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเต†เดคเตเดคเดฟ เด‡เดคเต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเต‡เดœเต - เด…เดคเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต...

API เดฐเต€เดคเดฟเด•เดณเตเดŸเต† เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดญเดพเด—เด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เด…เดจเดงเดฟเด•เตƒเดค เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดฒเดญเตเดฏเดฎเดพเด•เต‚:

  • auth.sendCode
  • auth.resendCode
  • account.getPassword
  • auth.checkPassword
  • auth.checkPhone
  • auth.signUp
  • auth.signIn
  • auth.importAuthorization
  • help.getConfig
  • help.getNearestDc
  • help.getAppUpdate
  • help.getCdnConfig
  • langpack.getLangPack
  • langpack.getStrings
  • langpack.getDifference
  • langpack.getLanguages
  • langpack.getLanguage

เด…เดตเดฏเดฟเตฝ เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต, auth.sendCode, เด•เต‚เดŸเดพเดคเต† เดžเด™เตเด™เตพ api_id, api_hash เดŽเดจเตเดจเดฟเดต เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ เด†เดฆเตเดฏเดคเตเดคเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดฃเตเดŸเต, เด…เดคเดฟเดจเต เดถเต‡เดทเด‚ เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด•เต‹เดกเตเดณเตเดณ เด’เดฐเต SMS เดฒเดญเดฟเด•เตเด•เตเด‚. เดžเด™เตเด™เตพ เดคเต†เดฑเตเดฑเดพเดฏ เดกเดฟเดธเดฟเดฏเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ (เดˆ เดฐเดพเดœเตเดฏเดคเตเดคเต† เดŸเต†เดฒเดฟเดซเต‹เตบ เดจเดฎเตเดชเดฑเตเด•เตพ เดฎเดฑเตเดฑเตŠเดจเตเดจเดพเดฃเต เดจเตฝเด•เตเดจเตเดจเดคเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต), เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดกเดฟเดธเดฟเดฏเตเดŸเต† เดจเดฎเตเดชเดฑเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดชเดฟเดถเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚. เดกเดฟเดธเดฟ เดจเดฎเตเดชเตผ เดตเดดเดฟ เดเดคเต เดเดชเดฟ เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเดฒเดพเดฃเต เดจเดฟเด™เตเด™เตพ เด•เดฃเด•เตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป, เดžเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเด• help.getConfig. เด’เดฐเต เดธเดฎเดฏเดคเตเดคเต 5 เดŽเตปเดŸเตเดฐเดฟเด•เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเตเดณเตเดณเต‚, เดŽเดจเตเดจเดพเตฝ 2018 เดฒเต† เดชเตเดฐเดถเดธเตเดคเดฎเดพเดฏ เด‡เดตเดจเตเดฑเตเด•เตพเด•เตเด•เต เดถเต‡เดทเด‚, เดŽเดฃเตเดฃเด‚ เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดตเตผเดฆเตเดงเดฟเดšเตเดšเต.

เด…เดœเตเดžเดพเดคเดฎเดพเดฏเดฟ เดธเต†เตผเดตเดฑเดฟเตฝ เดžเด™เตเด™เตพ เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเต†เดคเตเดคเดฟ เดŽเดจเตเดจเต เด‡เดชเตเดชเต‹เตพ เด“เตผเด•เตเด•เตเด•. เด’เดฐเต เดเดชเดฟ เดตเดฟเดฒเดพเดธเด‚ เดฒเดญเดฟเด•เตเด•เดพเตป เดตเดณเดฐเต† เดšเต†เดฒเดตเต‡เดฑเดฟเดฏเดคเดฒเตเดฒเต‡? MTPproto-เดฏเตเดŸเต† เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดคเตเดค เดญเดพเด—เดคเตเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เด‡เดคเตเด‚ เดฎเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เดšเต†เดฏเตเดคเตเด•เต‚เดŸเดพ? เดžเดพเตป เดŽเดคเดฟเตผเดชเตเดชเต เด•เต‡เตพเด•เตเด•เตเดจเตเดจเต: "เดคเต†เดฑเตเดฑเดพเดฏ เดตเดฟเดฒเดพเดธเด™เตเด™เดณเดฟเตฝ เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เด†เตผเด•เต†เดŽเตป เด…เดฒเตเดฒเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดŽเด™เตเด™เดจเต† เด‰เดฑเดชเตเดชเดพเด•เตเด•เดพเดจเดพเด•เตเด‚?" เด‡เดคเต เดžเด™เตเด™เตพ เด“เตผเด•เตเด•เตเดจเตเดจเต, เดชเตŠเดคเตเดตเต‡, เด”เดฆเตเดฏเต‹เด—เดฟเด• เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพ RSA เด•เต€เด•เตพ เด‰เตพเดšเตเดšเต‡เตผเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดฏเตเดฎเต‹ เดธเดฌเตเดธเตเด•เตเดฐเตˆเดฌเต เดšเต†เดฏเตเดฏเตเด• เดˆ เดตเดฟเดตเดฐเด‚. เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เดฎเดฑเตเดฑเต เดšเดพเดจเดฒเตเด•เดณเดฟเดฒเต‚เดŸเต† เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจ เดคเดŸเดฏเตฝ เด’เดดเดฟเดตเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เด‡เดคเต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดšเต†เดฏเตเดคเตเดตเดฐเตเดจเตเดจเต (เดฏเตเด•เตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ, เด‡เดคเต MTProto-เดฏเดฟเตฝ เดคเดจเตเดจเต† เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ; เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต†เดจเตเดจเตเด‚ เดจเดฟเด™เตเด™เตพ เด…เดฑเดฟเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต).

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

เดตเดพเดธเดฟเดฒเดฟ, [10.07.18 14:45] https://core.telegram.org/method/help.getConfig

config#7dae33e0 [...] = Config;
help.getConfig#c4f9186b = Config;

https://core.telegram.org/api/datacenter

config#232d5905 [...] = Config;
help.getConfig#c4f9186b = Config;

เดธเตเด•เต€เดฎเดฟเตฝ, เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเดพเดฃเต

tdesktop เดธเตเด•เต€เดฎเดฏเดฟเตฝ เดฎเต‚เดจเตเดจเดพเดฎเดคเตเดคเต† เดฎเต‚เดฒเตเดฏเด‚ เด†เดฃเต

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

...เดžเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เดŽเด™เตเด™เดจเต†เดฏเต‹ API-เดฏเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเดฟเดฏเดคเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเต, เด…เดคเดพเดฏเดคเต. เด…เดŸเตเดคเตเดค เด˜เดŸเตเดŸเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต, MTPproto เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเดทเตเดŸเดฎเดพเดฏเต‹? เด…เดคเดฟเดถเดฏเดฟเด•เตเด•เดพเดจเดฟเดฒเตเดฒ:

Vasily, [28.06.18 02:04] Mm, เด…เดตเตผ e2e-เดฏเดฟเดฒเต† เดšเดฟเดฒ เด…เตฝเด—เต‹เดฐเดฟเดคเด™เตเด™เดณเดฟเดฒเต‚เดŸเต† เด…เดฒเดฏเตเด•เดฏเดพเดฃเต

Mtproto เดฐเดฃเตเดŸเต เดกเตŠเดฎเต†เดฏเตโ€Œเดจเตเด•เตพเด•เตเด•เตเดฎเตเดณเตเดณ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เด…เตฝเด—เต‹เดฐเดฟเดคเด™เตเด™เดณเตเด‚ เด•เต€เด•เดณเตเด‚, เด•เต‚เดŸเดพเดคเต† เด’เดฐเต เดฑเดพเดชเตเดชเตผ เด˜เดŸเดจเดฏเตเด‚ เดจเดฟเตผเดตเตเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต

เดŽเดจเตเดจเดพเตฝ เด…เดต เดธเตเดฑเตเดฑเดพเด•เตเด•เดฟเดจเตเดฑเต† เดตเดฟเดตเดฟเดง เดคเดฒเด™เตเด™เตพ เดจเดฟเดฐเดจเตเดคเดฐเด‚ เด•เดฒเตผเดคเตเดคเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ mtproto เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เด…เดตเดธเดพเดจเดฟเดšเตเดšเดคเต†เดจเตเดจเตเด‚ เด…เดŸเตเดคเตเดค เดฒเต†เดตเตฝ เด†เดฐเด‚เดญเดฟเดšเตเดšเดคเต†เดจเตเดจเตเด‚ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดฒเตเดฒ.

เด…เดต เดŽเด™เตเด™เดจเต† เด•เดฒเตผเดคเตเดคเตเดจเตเดจเต? เดถเดฐเดฟ, PFS-เดจเตเดณเตเดณ เด…เดคเต‡ เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด• เด•เต€ เด‡เดคเดพ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต (เดตเดดเดฟเดฏเดฟเตฝ, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเดฟเดจเต เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ). เด’เดฐเต API เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเตเดฐเด•เดพเดฐเดฎเดพเดฃเต เด‡เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต auth.bindTempAuthKey, เด…เดคเดพเดฏเดคเต. เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เด…เดคเต‡ เดธเดฎเดฏเด‚ เด…เดคเต เดคเดพเดดเตเดจเตเดจ เดจเดฟเดฒเดฏเดฟเดฒเตเดณเตเดณ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเดจเดฟเตฝ เด‡เดŸเดชเต†เดŸเตเดจเตเดจเต - เด…เดคเดฟเดจเต เดถเต‡เดทเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด…เดคเต เดตเต€เดฃเตเดŸเตเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. initConnection เดฎเตเดคเดฒเดพเดฏเดต., เด‡เดคเดฒเตเดฒ เดตเต†เดฑเตเด‚ เดธเดพเดงเดพเดฐเดฃ เด…เดญเตเดฏเตผเดคเตเดฅเดจ. เดซเต€เตฝเดกเต เด†เดฃเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดกเดฟเดธเดฟเด•เตเด•เต เด’เดฐเต เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด• เด•เต€ เดฎเดพเดคเตเดฐเดฎเต‡ เด‰เดฃเตเดŸเดพเด•เต‚ เดŽเดจเตเดจเดคเดพเดฃเต เดชเตเดฐเดคเตเดฏเต‡เด•เดค auth_key_id เด“เดฐเต‹ เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดฒเตเด‚ เด•เตเดฑเดžเตเดžเดคเต เดŽเดฒเตเดฒเดพ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เต€ เดฎเดพเดฑเตเดฑเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดŽเดชเตเดชเต‹เตพ เดตเต‡เดฃเดฎเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด• เด•เต€ "เดฎเดฑเด•เตเด•เดพเตป" เดธเต†เตผเดตเดฑเดฟเดจเต เด…เดตเด•เดพเดถเดฎเตเดฃเตเดŸเต - เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เดŽเดจเตเดคเตเดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเดฑเดฏเตเดจเตเดจเดฟเดฒเตเดฒ ... เดถเดฐเดฟ, เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต? เดญเดพเดตเดฟเดฏเดฟเดฒเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดฒเดตเดฃเด™เตเด™เตพ เดชเต‹เดฒเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเดฟเดฐเดตเดงเดฟ เด•เต€เด•เตพ เด‡เดฒเตเดฒเต‡, เด•เต‚เดŸเดพเดคเต†?..

MTProto เดคเต€เดฎเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸ เดฎเดฑเตเดฑเต เดšเดฟเดฒ เด•เดพเดฐเตเดฏเด™เตเด™เดณเตเดฃเตเดŸเต.

เดธเดจเตเดฆเต‡เดถ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ, msg_id, msg_seqno, เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด™เตเด™เตพ, เดคเต†เดฑเตเดฑเดพเดฏ เดฆเดฟเดถเดฏเดฟเดฒเตเดณเตเดณ เดชเดฟเด‚เด—เต, เดฎเดฑเตเดฑเต เดตเตเดฏเดคเดฟเดฐเดฟเด•เตเดคเดคเด•เตพ

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดจเดฟเด™เตเด™เตพ เด…เดตเดฐเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด…เดฑเดฟเดฏเต‡เดฃเตเดŸเดคเต? เด…เดตเตผ เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต "เดฒเต€เด•เตเด•เต" เด†เดฏเดคเดฟเดจเดพเตฝ, API-เดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด…เดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด…เดฑเดฟเดžเตเดžเดฟเดฐเดฟเด•เตเด•เดฃเด‚. msg_key-เดฏเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเดฟเดฒเตเดฒเต†เดจเตเดจเต เด•เดฐเตเดคเตเด•; เดคเดพเดดเดคเตเดคเต† เดจเดฟเดฒ เดžเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดŽเดฒเตเดฒเดพเด‚ เดกเต€เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเต. เดŽเดจเตเดจเดพเตฝ เดกเต€เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดกเดพเดฑเตเดฑเดฏเตเด•เตเด•เตเดณเตเดณเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดซเต€เตฝเดกเตเด•เตพ เด‰เดฃเตเดŸเต (เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เดฆเตˆเตผเด˜เตเดฏเดตเตเด‚, เด…เดคเดฟเดจเดพเตฝ เดชเดพเดกเดฟเด‚เด—เต เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต†เดจเตเดจเต เดžเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเด‚, เดชเด•เตเดทเต‡ เด…เดคเต เดชเตเดฐเดงเดพเดจเดฎเดฒเตเดฒ):

  • เด‰เดชเตเดชเต - int64
  • session_id - int64
  • message_id โ€” int64
  • seq_no - int32

เดฎเตเดดเตเดตเตป เดกเดฟเดธเดฟเด•เตเด•เตเด‚ เด’เดฐเต เด‰เดชเตเดชเต เดฎเดพเดคเตเดฐเดฎเต‡เดฏเตเดณเตเดณเต‚เดตเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเต† เด“เตผเดฎเตเดฎเดฟเดชเตเดชเดฟเด•เตเด•เดŸเตเดŸเต†. เดŽเดจเตเดคเดฟเดจเดพเดฃเต เด…เดตเดณเต† เด•เตเดฑเดฟเดšเตเดšเต เด…เดฑเดฟเดฏเตเดจเตเดจเดคเต? เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด‰เดณเตเดณเดคเตเด•เตŠเดฃเตเดŸเดฒเตเดฒ get_future_salts, เดเดคเต เด‡เดŸเดตเต‡เดณเด•เดณเดพเดฃเต เดธเดพเดงเตเดคเดฏเตเดณเตเดณเดคเต†เดจเตเดจเต เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด‰เดชเตเดชเต "เดšเตเดดเตเด•เดฟเดฏเดคเดพเดฃเต" เดŽเดจเตเดจเดคเดฟเดจเดพเตฝ, เดธเดจเตเดฆเต‡เดถเด‚ (เด…เดญเตเดฏเตผเดคเตเดฅเดจ) เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเด‚. เดธเต†เตผเดตเตผ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดชเตเดคเดฟเดฏ เด‰เดชเตเดชเต เด‡เดทเตเดฏเต‚ เดšเต†เดฏเตเดคเตเด•เตŠเดฃเตเดŸเต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด‚ new_session_created - เดŽเดจเตเดจเดพเตฝ เดชเดดเดฏเดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพ เด…เดคเต เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เต‡เดฃเตเดŸเดฟเดตเดฐเตเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต. เดˆ เดชเตเดฐเดถเตเดจเด‚ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเดฟเดจเต† เดฌเดพเดงเดฟเด•เตเด•เตเดจเตเดจเต.

เดธเต†เดทเดจเตเด•เตพ เดฎเตŠเดคเตเดคเดคเตเดคเดฟเตฝ เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ เดชเดฒ เด•เดพเดฐเดฃเด™เตเด™เดณเดพเตฝ เดˆ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดธเต†เตผเดตเดฑเดฟเดจเต† เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เด•เตเดฒเดฏเดจเตเดฑเต เดญเดพเด—เดคเตเดคเต เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต MTProto เดธเต†เดทเตป เดŽเดจเตเดคเดพเดฃเต? เด‡เดคเต เดฐเดฃเตเดŸเต เดธเด‚เด–เตเดฏเด•เดณเดพเดฃเต session_id ะธ seq_no เดˆ เดธเต†เดทเดจเดฟเดฒเต† เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ. เดถเดฐเดฟ, เด…เดŸเดฟเดธเตเดฅเดพเดจ TCP เด•เดฃเด•เตเดทเตป, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚. เดžเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเดฏเดจเตเดฑเต เด‡เดชเตเดชเต‹เดดเตเด‚ เดชเดฒ เด•เดพเดฐเตเดฏเด™เตเด™เดณเตเด‚ เดŽเด™เตเด™เดจเต† เดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเต เดชเดฑเดฏเดพเด‚, เด…เดตเตป เดตเดฟเดšเตเด›เต‡เดฆเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต€เดฃเตเดŸเตเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต. เด‡เดคเต เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ - เดชเตเดคเดฟเดฏ TCP เด•เดฃเด•เตเดทเดจเดฟเตฝ เดชเดดเดฏ เดธเต†เดทเตป เดคเตเดŸเตผเดจเตเดจเต, เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด• seq_no เด•เต‚เดŸเตเดคเตฝ. เด‡เดคเดฟเดจเต เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดธเต†เตผเดตเดฑเดฟเดจเต เด…เดคเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด•เดพเดฐเดฃเด‚ เด…เดคเดฟเดจเตเดฑเต† เดตเดถเดคเตเดคเต เด…เดคเต เด’เดฐเต เด•เตเดฏเต‚ เด•เต‚เดŸเดฟเดฏเดพเดฃเต, เดžเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดคเตเดชเต‹เดฒเต†.

เด…เดคเต เดŽเดจเตเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ seq_no? เด“, เด…เดคเตŠเดฐเต เด•เตเดธเตƒเดคเดฟ เดšเต‹เดฆเตเดฏเดฎเดพเดฃเต. เดŽเดจเตเดคเดพเดฃเต เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเดคเต†เดจเตเดจเต เดธเดคเตเดฏเดธเดจเตเดงเดฎเดพเดฏเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•:

เด‰เดณเตเดณเดŸเด•เตเด•เดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดธเดจเตเดฆเต‡เดถเด‚

เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เด…เด‚เด—เต€เด•เดพเดฐเด‚ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚. เด‡เดคเดฟเตฝ เดŽเดฒเตเดฒเดพ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเตเด‚ เดจเดฟเดฐเดตเดงเดฟ เดธเต‡เดตเดจ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต, เดซเดฒเดคเตเดคเดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเตเด‚ เด…เด‚เด—เต€เด•เดพเดฐเด™เตเด™เดณเตเด‚ เด’เดดเดฟเด•เต†.

เดธเดจเตเดฆเต‡เดถ เด•เตเดฐเดฎ เดจเดฎเตเดชเตผ (msg_seqno)

"เด‰เดณเตเดณเดŸเด•เตเด•เดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ" เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เด‡เดฐเดŸเตเดŸเดฟ เดŽเดฃเตเดฃเดคเตเดคเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏ 32-เดฌเดฟเดฑเตเดฑเต เดจเดฎเตเดชเตผ (เด…เด‚เด—เต€เด•เดพเดฐเด‚ เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดต, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เตพ เด…เดฒเตเดฒเดพเดคเตเดคเดต) เดˆ เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เด…เดฏเดšเตเดšเดฏเดพเตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดคเตเดŸเตผเดจเตเดจเต เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดธเดจเตเดฆเต‡เดถเด‚ เด’เดฐเต เด†เดฃเต†เด™เตเด•เดฟเตฝ เด’เดจเตเดจเดพเดฏเดฟ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต เด‰เดณเตเดณเดŸเด•เตเด•เดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดธเดจเตเดฆเต‡เดถเด‚. เด’เดฐเต เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด…เดคเดฟเดจเตเดฑเต† เดฎเตเดดเตเดตเตป เด‰เดณเตเดณเดŸเด•เตเด•เดคเตเดคเดฟเดจเตเด‚ เดถเต‡เดทเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต; เด…เดคเดฟเดจเดพเตฝ, เด…เดคเดฟเดจเตเดฑเต† เดธเต€เด•เตเดตเตปเดธเต เดจเดฎเตเดชเตผ เด…เดคเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เดธเต€เด•เตเดตเตปเดธเต เดจเดฎเตเดชเดฑเตเด•เดณเต‡เด•เตเด•เดพเตพ เดตเดฒเตเดคเต‹ เดคเตเดฒเตเดฏเดฎเต‹ เด†เดฃเต.

1 เดจเตเดฑเต† เดตเตผเดฆเตเดงเดจเดตเตเด‚ เดชเดฟเดจเตเดจเต€เดŸเต เดฎเดฑเตเดฑเตŠเดจเตเดจเต 2 เด‰เด‚ เด‰เดณเตเดณ เดเดคเต เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดธเตผเด•เตเด•เดธเดพเดฃเต เด‡เดคเต?.. เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เด…เดตเตผ เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเดคเต "ACK เดฏเตเดŸเต† เดเดฑเตเดฑเดตเตเด‚ เด•เตเดฑเดžเตเดž เด•เดพเดฐเตเดฏเดฎเดพเดฃเต, เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดคเต เด’เดฐเต เดธเด‚เด–เตเดฏเดฏเดพเดฃเต" เดŽเดจเตเดจเต เดžเดพเตป เดธเด‚เดถเดฏเดฟเด•เตเด•เตเดจเตเดจเต, เดชเด•เตเดทเต‡ เดซเดฒเด‚ เดธเดฎเดพเดจเดฎเดฒเตเดฒ - เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚, เด…เดคเต เดชเตเดฑเดคเตเดคเตเดตเดฐเตเดจเตเดจเต, เด…เดฏเดฏเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ เดชเดฒเดคเตเด‚ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด™เตเด™เตพ เดธเดฎเดพเดจเดฎเดพเดฃเต seq_no! เดŽเด™เตเด™เดจเต†? เดถเดฐเดฟ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดธเต†เตผเดตเตผ เดžเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต, เดžเด™เตเด™เตพ เดธเตเดตเดฏเด‚ เดจเดฟเดถเดฌเตเดฆเดค เดชเดพเดฒเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเตเดฑเต† เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เดฐเดธเต€เดคเต เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเต‡เดตเดจ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดžเด™เตเด™เดณเตเดŸเต† เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต‡ เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต เดจเดฎเตเดชเตผ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŸเดฟเดธเดฟเดชเดฟ เดชเดฐเดฟเดšเดฟเดคเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‡เดคเต เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเดจเตเดฏเดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด…เดคเต เดตเดณเดฐเต† เดตเดจเตเดฏเดฎเดฒเตเดฒเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚ เดŸเดฟเดธเดฟเดชเดฟเดฏเดฟเตฝ seq_no เดฎเดพเดฑเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด‚ เดชเต‹เด•เตเดจเตเดจเต seq_no เดฎเดฑเตเดตเดถเดคเตเดคเต, เดจเดฟเด™เตเด™เดณเต† เดตเดฟเดทเดฎเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดžเดพเตป เดคเดฟเดŸเตเด•เตเด•เด‚ เด•เต‚เดŸเตเดŸเตเด‚. MTPproto-เดฏเดฟเตฝ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด™เตเด™เตพ เดจเตฝเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต เด…เดฒเตเดฒ เด† เดธเดฎเดฏเดคเตเดคเต seq_no, TCP เดชเต‹เดฒเต†, เดŽเดจเตเดจเดพเตฝ เดตเดดเดฟ msg_id !

เด‡เดคเต เดŽเดจเตเดคเดพเดฃเต msg_id, เดˆ เดฎเต‡เด–เดฒเด•เดณเดฟเตฝ เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดงเดพเดจเดชเตเดชเต†เดŸเตเดŸเดคเต? เดชเต‡เดฐเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเต† เด’เดฐเต เด…เดฆเตเดตเดฟเดคเต€เดฏ เดธเดจเตเดฆเต‡เดถ เดเดกเดจเตเดฑเดฟเดซเดฏเตผ. เด‡เดคเต เด’เดฐเต 64-เดฌเดฟเดฑเตเดฑเต เดจเดฎเตเดชเดฑเดพเดฏเดฟ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเตฝ เดเดฑเตเดฑเดตเตเด‚ เดคเดพเดดเตเดจเตเดจ เดฌเดฟเดฑเตเดฑเตเด•เตพเด•เตเด•เต เดตเต€เดฃเตเดŸเตเด‚ "เดธเต†เตผเดตเตผ-เดจเต‹เดŸเตเดŸเต-เดธเต†เตผเดตเตผ" เดฎเดพเดœเดฟเด•เต เด‰เดฃเตเดŸเต, เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดต เดฏเตเดฃเดฟเด•เตเดธเต เดŸเตˆเด‚เดธเตเดฑเตเดฑเดพเดฎเตเดชเต เด†เดฃเต, เดซเตเดฐเดพเด•เตเดทเดฃเตฝ เดญเดพเด—เด‚ เด‰เตพเดชเตเดชเต†เดŸเต†, 32 เดฌเดฟเดฑเตเดฑเตเด•เตพ เด‡เดŸเดคเตเดคเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดฟ. เด†. เดŸเตˆเด‚เดธเตเดฑเตเดฑเดพเดฎเตเดชเต เดชเต†เตผเดธเต† (เด•เต‚เดŸเดพเดคเต† เดธเดฎเดฏเด™เตเด™เดณเดฟเตฝ เดตเดณเดฐเต†เดฏเดงเดฟเด•เด‚ เดตเตเดฏเดคเตเดฏเดพเดธเดฎเตเดณเตเดณ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดธเต†เตผเดตเตผ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด‚). เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตŠเดคเตเดตเต† เด‡เดคเต เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเต เด†เด—เต‹เดณเดฎเดพเดฏ เด’เดฐเต เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เด†เดฃเต†เดจเตเดจเต เดฎเดพเดฑเตเดจเตเดจเต. เด…เดคเต เดจเตฝเด•เดฟ - เดจเดฎเตเด•เตเด•เต เด“เตผเด•เตเด•เดพเด‚ session_id - เดžเด™เตเด™เตพเด•เตเด•เต เด‰เดฑเดชเตเดชเตเดฃเตเดŸเต: เด’เดฐเต เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเดฒเตเด‚ เด’เดฐเต เดธเต†เดทเดจเต เดตเต‡เดฃเตเดŸเดฟเดฏเตเดณเตเดณ เดธเดจเตเดฆเต‡เดถเด‚ เดฎเดฑเตเดฑเตŠเดฐเต เดธเต†เดทเดจเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เด…เดคเดพเดฏเดคเต, เด‡เดคเดฟเดจเด•เด‚ เด‰เดฃเตเดŸเต†เดจเตเดจเต เดฎเดพเดฑเตเดจเตเดจเต เดฎเต‚เดจเตเดจเต เดฒเต†เดตเตฝ - เดธเต†เดทเตป, เดธเต†เดทเตป เดจเดฎเตเดชเตผ, เดธเดจเตเดฆเต‡เดถ เดเดกเดฟ. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด…เดคเตเดคเดฐเด‚ เด…เดฎเดฟเดค เดธเด™เตเด•เต€เตผเดฃเตเดฃเดค, เดˆ เดฐเดนเดธเตเดฏเด‚ เดตเดณเดฐเต† เดตเดฒเตเดคเดพเดฃเต.

เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, msg_id เด†เดตเดถเตเดฏเดฎเดพเดฏ...

RPC: เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ, เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เตพ, เดชเดฟเดถเด•เตเด•เตพ. เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด™เตเด™เตพ.

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

rpc_result#f35c6d01 req_msg_id:long result:Object = RpcResult;

เด‡เดคเต เดเดคเต เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเดพเดฃเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเต†เดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เด‡เดตเดฟเดŸเต†เดฏเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ, API-เดฏเตเดŸเต† เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเตฝ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดจเดฎเตเดชเตผ เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด“เตผเดฎเตเดฎเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต - เดœเต‹เดฒเดฟ เด…เดธเดฎเดจเตเดตเดฟเดคเดฎเดพเดฃเต†เดจเตเดจเตเด‚ เด’เดฐเต‡ เดธเดฎเดฏเด‚ เดจเดฟเดฐเดตเดงเดฟ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตเดฐเต‹เด—เดฎเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเตเด‚ เดตเดฟเดถเดฆเต€เด•เดฐเดฟเด•เตเด•เต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต, เดเดคเต เด•เตเดฐเดฎเดคเตเดคเดฟเดฒเตเด‚ เดจเตฝเด•เดพเดตเตเดจเตเดจ เด‰เดคเตเดคเดฐเด™เตเด™เตพ? เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ เดคเตŠเดดเดฟเดฒเดพเดณเดฟเด•เดณเดฟเดฒเตเดฒ เดŽเดจเตเดจ เดชเดฟเดถเด•เต เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚, เด‡เดคเดฟเดจเต เดชเดฟเดจเตเดจเดฟเดฒเต† เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเตผ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚: เดจเดฟเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เด’เดฐเต TCP เด•เดฃเด•เตเดทเตป เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดจเตเดจ เดธเต†เตผเดตเตผ เด’เดฐเต เดซเตเดฐเดฃเตเดŸเต-เดŽเตปเดกเต เดฌเดพเดฒเตปเดธเดฑเดพเดฃเต, เด‡เดคเต เดฌเดพเด•เตเด•เตโ€ŒเดŽเตปเดกเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด•เตˆเดฎเดพเดฑเตเด•เดฏเตเด‚ เด…เดต เดตเดดเดฟ เดคเดฟเดฐเดฟเด•เต† เดถเต‡เด–เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. message_id. เด‡เดตเดฟเดŸเต† เดŽเดฒเตเดฒเดพเด‚ เดตเตเดฏเด•เตเดคเดตเตเด‚ เดฏเตเด•เตเดคเดฟเดธเดนเดตเตเด‚ เดจเดฒเตเดฒเดคเตเดฎเดพเดฃเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต.

เด…เดคเต†?.. เดชเดฟเดจเตเดจเต† เด†เดฒเต‹เดšเดฟเดšเตเดšเดพเดฒเต‹? เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, RPC เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเดจเตเด‚ เด’เดฐเต เดซเต€เตฝเดกเต เด‰เดฃเตเดŸเต msg_id! โ€œเดŽเดจเตเดฑเต† เด‰เดคเตเดคเดฐเดคเตเดคเดฟเดจเต เดจเดฟเด™เตเด™เตพ เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เตเดจเตเดจเดฟเดฒเตเดฒ!โ€ เดŽเดจเตเดจเต เดžเด™เตเด™เตพ เดธเต†เตผเดตเดฑเดฟเดจเต‹เดŸเต เด†เด•เตเดฐเต‹เดถเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต‹? เด…เดคเต†, เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดŽเดจเตเดคเดพเดฃเต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเดคเต? เดชเต‡เดœเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต เดจเดฎเตเดฎเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต

msgs_ack#62d6b459 msg_ids:Vector long = MsgsAck;

เด…เดคเต เด“เดฐเต‹ เดญเดพเด—เดคเตเดคเตเด‚ เดšเต†เดฏเตเดฏเดฃเด‚. เดŽเดจเตเดจเดพเตฝ เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด…เดฒเตเดฒ! เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต RpcResult เดฒเดญเดฟเดšเตเดšเดพเตฝ, เด…เดคเต เดคเดจเตเดจเต† เด’เดฐเต เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเดฎเดพเดฏเดฟ เดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดพเดฏเดคเต, เดธเต†เตผเดตเดฑเดฟเดจเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเต‹เดŸเต MsgsAck เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ - "เดŽเดจเดฟเด•เตเด•เดฟเดคเต เดฒเดญเดฟเดšเตเดšเต." RpcResult เด‰เดŸเดจเดŸเดฟ เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด…เดคเต เดฐเดฃเตเดŸเตเด‚ เด†เด•เดพเด‚.

เด…เดคเต†, เดจเดฟเด™เตเด™เตพ เด‡เดชเตเดชเต‹เดดเตเด‚ เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต! เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด‚. เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดธเต†เตผเดตเตผ เด…เดคเต เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเต เด•เดฃเด•เตเด•เดพเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚. เดตเต€เดฃเตเดŸเตเด‚ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเดตเตเด‚. เดŽเดจเตเดจเดพเตฝ เด‡เดตเดฟเดŸเต†, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดธเดฎเดฏเดชเดฐเดฟเดงเดฟเดฏเตเดŸเต† เดชเตเดฐเดถเตเดจเด‚ เด‰เดฏเตผเดจเตเดจเตเดตเดฐเตเดจเตเดจเต. เดจเดฎเตเด•เตเด•เต เด…เดตเดฐเต† เด•เตเดฑเดšเตเดšเต เด•เดดเดฟเดžเตเดžเต เดจเต‹เด•เตเด•เดพเด‚.

เด…เดคเดฟเดจเดฟเดŸเดฏเดฟเตฝ, เดธเดพเดงเตเดฏเดฎเดพเดฏ เดšเต‹เดฆเตเดฏ เดจเดฟเตผเดตเตเดตเดนเดฃ เดชเดฟเดถเด•เตเด•เตพ เดจเต‹เด•เตเด•เดพเด‚.

rpc_error#2144ca19 error_code:int error_message:string = RpcError;

เด“, เด†เดฐเต†เด™เตเด•เดฟเดฒเตเด‚ เด†เด•เตเดฐเต‹เดถเดฟเด•เตเด•เตเด‚, เด‡เดตเดฟเดŸเต† เด•เต‚เดŸเตเดคเตฝ เดฎเดพเดจเตเดทเดฟเด•เดฎเดพเดฏ เด’เดฐเต เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เด‰เดฃเตเดŸเต - เด’เดฐเต เดตเดฐเดฟเดฏเตเดฃเตเดŸเต! เดจเดฟเดจเด•เตเด•เดพเดตเดถเตเดฏเดคเตเดคเดฟเดจเตเดณเตเดณ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด•. เด‡เดตเดฟเดŸเต† เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•, เดŽเดจเตเดจเดพเตฝ เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดฒเตเดฒ. เด…เดคเดฟเตฝ เดจเดฟเดจเตเดจเดพเดฃเต เด•เต‹เดกเต เดŽเดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต เด…เดคเตเดชเต‡เดพเดฒเดคเตเดคเต† HTTP เดชเดฟเดถเด•เตเด•เตพ (เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เดณเตเดŸเต† เดธเต†เดฎเดพเดจเตเดฑเดฟเด•เตโ€Œเดธเต เดฎเดพเดจเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ, เดšเดฟเดฒ เดธเตเดฅเดฒเด™เตเด™เดณเดฟเตฝ เด…เดต เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏเดฟ เด•เต‹เดกเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต), เด•เต‚เดŸเดพเดคเต† เดฒเตˆเตป เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต CAPITAL_LETTERS_AND_NUMBERS. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, PHONE_NUMBER_OCCUPIED เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ FILE_PART_ะฅ_MISSING. เดถเดฐเดฟ, เด…เดคเดพเดฏเดคเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เดดเตเด‚ เดˆ เดฒเตˆเตป เด†เดตเดถเตเดฏเดฎเดพเดฃเต เดชเดพเดดเตเดธเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, FLOOD_WAIT_3600 เดจเดฟเด™เตเด™เตพ เด’เดฐเต เดฎเดฃเดฟเด•เตเด•เต‚เตผ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เดฃเด‚ เดŽเดจเตเดจเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต PHONE_MIGRATE_5, เดˆ เดชเตเดฐเดฟเดซเดฟเด•เตเดธเตเดณเตเดณ เด’เดฐเต เดŸเต†เดฒเดฟเดซเต‹เตบ เดจเดฎเตเดชเตผ 5-เดพเด‚ เดกเดฟเดธเดฟเดฏเดฟเตฝ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดคเดฐเด‚ เดญเดพเดทเดฏเตเดฃเตเดŸเต, เด…เดฒเตเดฒเต‡? เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดตเดพเดฆเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เดชเดคเดฟเดตเตเดณเตเดณเดตเตผ เดšเต†เดฏเตเดฏเตเด‚, เดถเดฐเดฟ.

เดตเต€เดฃเตเดŸเตเด‚, เด‡เดคเต เดธเต‡เดตเดจ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เดชเต‡เดœเดฟเดฒเดฒเตเดฒ, เดชเด•เตเดทเต‡, เดˆ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเตฝ เด‡เดคเดฟเดจเด•เด‚ เดชเดคเดฟเดตเตเดณเตเดณเดคเตเดชเต‹เดฒเต†, เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเดจเดพเด•เตเด‚ เดฎเดฑเตเดฑเตŠเดฐเต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเต‡เดœเดฟเตฝ. เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเด‚เดถเดฏเด‚ เดœเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดจเต‹เด•เตเด•เต‚, เดŸเตˆเดชเตเดชเดฟเด‚เด—เต/เดฒเต†เดฏเตผ เดฒเด‚เด˜เดจเด‚ - RpcError เด•เต‚เดŸเตเดฃเตเดŸเดพเด•เตเด•เดพเด‚ RpcResult. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เดชเตเดฑเดคเตเดคเต เดชเดพเดŸเดฟเดฒเตเดฒ? เดŽเดจเตเดคเดพเดฃเต เดจเดฎเตเดฎเตพ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เดพเดคเตเดคเดคเต?.. เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เด—เตเดฏเดพเดฐเดฃเตเดŸเดฟ RpcError เด‰เตพเดšเตเดšเต‡เตผเดคเตเดคเดฟเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ RpcResult, เดŽเดจเตเดจเดพเตฝ เดจเต‡เดฐเดฟเดŸเตเดŸเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดฐเต เดคเดฐเดคเตเดคเดฟเตฝ เด•เต‚เดŸเตเด•เดฏเดพเดฃเต‹?.. เด…เดคเดฟเดจเต เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เด…เดคเต เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเตฝ เด…เดฒเตเดฒ, เด…เดคเดพเดฏเดคเต. เด…เดคเต เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ req_msg_id ? ..

เดŽเดจเตเดจเดพเตฝ เดธเต‡เดตเดจ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฎเตเด•เตเด•เต เดคเตเดŸเดฐเดพเด‚. เดธเต†เตผเดตเตผ เดตเดณเดฐเต†เด•เตเด•เดพเดฒเดฎเดพเดฏเดฟ เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เดจเตเดจเต เด•เตเดฒเดฏเดจเตเดฑเต เดšเดฟเดจเตเดคเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚, เด•เต‚เดŸเดพเดคเต† เดˆ เด…เดคเตเดญเตเดคเด•เดฐเดฎเดพเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดŸเดคเตเดคเตเด•:

rpc_drop_answer#58e4a740 req_msg_id:long = RpcDropAnswer;

เดˆ เดšเต‹เดฆเตเดฏเดคเตเดคเดฟเดจเต เดธเดพเดงเตเดฏเดฎเดพเดฏ เดฎเต‚เดจเตเดจเต เด‰เดคเตเดคเดฐเด™เตเด™เดณเตเดฃเตเดŸเต, เดตเต€เดฃเตเดŸเตเด‚ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃ เดธเด‚เดตเดฟเดงเดพเดจเดตเตเดฎเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เตเดจเตเดจเต; เด…เดต เดŽเดจเตเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเต (เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดคเดฐเด™เตเด™เดณเตเดŸเต† เดชเตŠเดคเตเดตเดพเดฏ เดฒเดฟเดธเตเดฑเตเดฑเต เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเต) เด—เตƒเดนเดชเดพเด เดฎเดพเดฏเดฟ เดตเดพเดฏเดจเด•เตเด•เดพเดฐเดจเต เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเต (เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: เดตเดฟเดตเดฐเด™เตเด™เตพ เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต เดธเต‹เดดเตเดธเต เด•เต‹เดกเต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ).

เดฎเดฏเด•เตเด•เตเดฎเดฐเตเดจเตเดจเต เด†เดธเด•เตเดคเดฟ: เดธเดจเตเดฆเต‡เดถ เดจเดฟเดฒเด•เตพ

เดชเตŠเดคเตเดตเต‡, TL, MTPproto, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เดชเดฒ เดธเตเดฅเดฒเด™เตเด™เดณเตเด‚ เดชเตŠเดคเตเดตเต† เดถเดพเด เตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดตเดฟเด•เดพเดฐเด‚ เด…เดตเดถเต‡เดทเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เดฎเดฐเตเดฏเดพเดฆ, เดจเดฏเด‚, เดฎเดฑเตเดฑเตเดณเตเดณเดต เดŽเดจเตเดจเดฟเดต เด•เดพเดฐเดฃเด‚ เดฎเตƒเดฆเต เด•เดดเดฟเดตเตเด•เตพ เดžเด™เตเด™เตพ เด…เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดฎเดพเดจเตเดฏเดฎเดพเดฏเดฟ เดฎเต—เดจเด‚ เดชเดพเดฒเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเด‚เดญเดพเดทเดฃเด™เตเด™เดณเดฟเดฒเต† เด…เดถเตเดฒเต€เดฒเด™เตเด™เตพ เดธเต†เตปเดธเตผ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดˆ เดธเตเดฅเดฒเด‚ะžเดชเต‡เดœเดฟเดจเตเดฑเต† เดญเต‚เดฐเดฟเดญเดพเด—เดตเตเด‚ เดเด•เดฆเต‡เดถเด‚ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดตเดณเดฐเต†เด•เตเด•เดพเดฒเดฎเดพเดฏเดฟ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเตเด•เดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดค เด…เดณเดตเดฟเดฒเตเดณเตเดณ เดตเด•เตเดฐเดคเดฏเตเดŸเต† เดธเตˆเด•เตเด•เดฟเดณเตเด•เตพ เด•เดพเดฃเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดค เดŽเดจเดฟเด•เตเด•เต เดชเต‹เดฒเตเด‚ เด‡เดคเต เดžเต†เดŸเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต.

เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด™เตเด™เดณเต‹เดŸเต† เด‡เดคเต เดจเดฟเดฐเตเดชเดฆเตเดฐเดตเด•เดฐเดฎเดพเดฏเดฟ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เด…เดตเตผ เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเดจเตเดจเต

bad_msg_notification#a7eff811 bad_msg_id:long bad_msg_seqno:int error_code:int = BadMsgNotification;
bad_server_salt#edab447b bad_msg_id:long bad_msg_seqno:int error_code:int new_server_salt:long = BadMsgNotification;

เดถเดฐเดฟ, MTProto-เดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจ เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เด…เดตเดฐเตเดฎเดพเดฏเดฟ เด‡เดŸเดชเต†เดŸเต‡เดฃเตเดŸเดฟ เดตเดฐเตเด‚; โ€œเดคเดฟเดฐเตเดคเตเดคเตฝ - เดตเต€เดฃเตเดŸเตเด‚ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตโ€Œเดคเดคเต - เดธเดฎเดพเดฐเด‚เดญเดฟเดšเตเดšโ€ เดธเตˆเด•เตเด•เดฟเดณเดฟเตฝ, เดŽเดกเดฟเดฑเตเดฑเตเด•เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ เดคเต†เดฑเตเดฑเดพเดฏเดฟ เดชเต‹เดฏ เดธเด‚เด–เตเดฏ เดชเดฟเดถเด•เตเด•เดณเต‹ เด‰เดชเตเดชเต‹ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เด•เดพเดฐเตเดฏเดฎเดพเดฃเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดตเดฟเดŸเต† เดฐเดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เด‰เดฃเตเดŸเต:

  1. เดฏเดฅเดพเตผเดคเตเดฅ เดธเดจเตเดฆเต‡เดถเด‚ เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเดŸเตเดตเต†เดจเตเดจเดพเดฃเต เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚. เดžเด™เตเด™เตพเด•เตเด•เต เด•เตเดฑเดšเตเดšเต เด•เตเดฏเต‚เด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดคเต เดชเดฟเดจเตเดจเต€เดŸเต เดจเต‹เด•เตเด•เดพเด‚.
  2. เดŽเดจเตเดคเดพเดฃเต เดˆ เดตเดฟเดšเดฟเดคเตเดฐเดฎเดพเดฏ เดชเดฟเดถเด•เต เดจเดฎเตเดชเดฑเตเด•เตพ? 16, 17, 18, 19, 20, 32, 33, 34, 35, 48, 64... เดฎเดฑเตเดฑเต เดจเดฎเตเดชเดฑเตเด•เตพ เดŽเดตเดฟเดŸเต† เดŸเต‹เดฎเดฟ?

เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดชเดฑเดฏเตเดจเตเดจเต:

เดชเดฟเดถเด•เต_เด•เต‹เดกเต เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เด—เตเดฐเต‚เดชเตเดชเตเดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต เด‰เดฆเตเดฆเต‡เดถเตเดฏเด‚ (error_code >> 4): เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, 0x40 - 0x4f เด•เต‹เดกเตเด•เตพ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดตเดฟเด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต† เดชเดฟเดถเด•เตเด•เดณเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เดชเด•เตเดทเต‡, เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดฎเดฑเตเดฑเตŠเดฐเต เดฆเดฟเดถเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด’เดฐเต เดฎเดพเดฑเตเดฑเด‚, เดฐเดฃเตเดŸเดพเดฎเดคเดพเดฏเดฟ, เด…เดคเต เดชเตเดฐเดถเตเดจเดฎเดฒเตเดฒ, เดฎเดฑเตเดฑเต เด•เต‹เดกเตเด•เตพ เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต? เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเตเดฑเต† เดคเดฒเดฏเดฟเตฝ?.. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดต เดจเดฟเดธเตเดธเดพเดฐเด•เดพเดฐเตเดฏเด™เตเด™เดณเดพเดฃเต.

เดธเดจเตเดฆเต‡เดถ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเตเด•เดณเต†เดฏเตเด‚ เดธเดจเตเดฆเต‡เดถ เดชเด•เตผเดชเตเดชเตเด•เดณเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเดฟเตฝ เด†เดธเด•เตเดคเดฟ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต:

  • เดธเดจเตเดฆเต‡เดถ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เดตเดฟเดตเดฐเด™เตเด™เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจ
    เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เด•เตเดทเดฟเด•เตเด•เต เด…เดตเดฐเตเดŸเต† เด”เดŸเตเดŸเตโ€Œเด—เต‹เดฏเดฟเด‚เด—เต เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เดจเดฟเดฒเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดคเตเดคเต‡เด•เตเด•เต เดตเดฟเดตเดฐเด™เตเด™เตพ เดฒเดญเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดฎเดฑเตเดฑเต‡ เด•เด•เตเดทเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด…เดญเตเดฏเตผเดคเตเดฅเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚:
    msgs_state_req#da69fb52 msg_ids:Vector long = MsgsStateReq;
  • เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เดจเดฟเดฒเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐ เดธเดจเตเดฆเต‡เดถเด‚
    msgs_state_info#04deb57d req_msg_id:long info:string = MsgsStateInfo;
    เด‡เดตเดฟเดŸเต†, info เด‡เตปเด•เดฎเดฟเด‚เด—เต msg_ids เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด“เดฐเต‹ เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเตเด‚ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เด’เดฐเต เดฌเตˆเดฑเตเดฑเต เดธเดจเตเดฆเต‡เดถ เดจเดฟเดฒ เด…เดŸเด™เตเด™เตเดจเตเดจ เด’เดฐเต เดธเตเดŸเตเดฐเดฟเด‚เด—เต เด†เดฃเต:

    • 1 = เดธเดจเตเดฆเต‡เดถเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด’เดจเตเดจเตเด‚ เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ (msg_id เดตเดณเดฐเต† เด•เตเดฑเดตเดพเดฃเต, เดฎเดฑเตเดฑเต‡ เด•เด•เตเดทเดฟ เด…เดคเต เดฎเดฑเดจเตเดจเดฟเดฐเดฟเด•เตเด•เดพเด‚)
    • 2 = เดธเดจเตเดฆเต‡เดถเด‚ เดฒเดญเดฟเดšเตเดšเดฟเดฒเตเดฒ (msg_id เดธเด‚เดญเดฐเดฟเดšเตเดš เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเตเด•เดณเตเดŸเต† เดชเดฐเดฟเดงเดฟเดฏเดฟเตฝ เดตเดฐเตเด‚; เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฎเดฑเตเดฑเต‡ เด•เด•เตเดทเดฟเด•เตเด•เต เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด…เดคเตเดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚ เดฒเดญเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ)
    • 3 = เดธเดจเตเดฆเต‡เดถเด‚ เดฒเดญเดฟเดšเตเดšเดฟเดฒเตเดฒ (msg_id เดตเดณเดฐเต† เด‰เดฏเตผเดจเตเดจเดคเดพเดฃเต; เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฎเดฑเตเดฑเต‡ เด•เด•เตเดทเดฟเด•เตเด•เต เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด‡เดคเต เดฒเดญเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ)
    • 4 = เดธเดจเตเดฆเต‡เดถเด‚ เดฒเดญเดฟเดšเตเดšเต (เดˆ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เด…เดคเต‡ เดธเดฎเดฏเด‚ เด’เดฐเต เดฐเดธเต€เดคเต เด…เด‚เด—เต€เด•เดพเดฐเด‚ เด•เต‚เดŸเดฟเดฏเดพเดฃเต†เดจเตเดจเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•)
    • +8 = เดธเดจเตเดฆเต‡เดถเด‚ เด‡เดคเดฟเดจเด•เด‚ เด…เด‚เด—เต€เด•เดฐเดฟเดšเตเดšเต
    • +16 = เด…เด‚เด—เต€เด•เดพเดฐเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดค เดธเดจเตเดฆเต‡เดถเด‚
    • +32 = RPC เด…เดจเตเดตเต‡เดทเดฃเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดฒเต‹ เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เด‡เดคเดฟเดจเด•เด‚ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเดฏเต‹
    • +64 = เด‡เดคเดฟเดจเด•เด‚ เดœเดจเดฑเต‡เดฑเตเดฑเตเดšเต†เดฏเตโ€Œเดค เดธเดจเตเดฆเต‡เดถเดคเตเดคเต‹เดŸเตเดณเตเดณ เด‰เดณเตเดณเดŸเด•เตเด•เดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚
    • +128 = เดธเดจเตเดฆเต‡เดถเด‚ เด‡เดคเดฟเดจเด•เด‚ เดฒเดญเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เดฎเดฑเตเดฑเตŠเดฐเต เด•เด•เตเดทเดฟเด•เตเด•เต เด…เดฑเดฟเดฏเดพเด‚
      เดˆ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดคเตเดคเดฟเดจเต เด’เดฐเต เด…เด‚เด—เต€เด•เดพเดฐเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ. เด‡เดคเต เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฏ msgs_state_req-เดจเตเดฑเต† เด’เดฐเต เด…เด‚เด—เต€เด•เดพเดฐเดฎเดพเดฃเต, เด…เดคเดฟเตฝเดคเตเดคเดจเตเดจเต†.
      เดฎเดฑเตเดฑเตŠเดฐเต เด•เด•เตเดทเดฟเด•เตเด•เต เด…เดฏเดšเตเดšเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจ เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚ เด‡เดฒเตเดฒเต†เดจเตเดจเต เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เดคเต†เดณเดฟเดžเตเดžเดพเตฝ, เดธเดจเตเดฆเต‡เดถเด‚ เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดฎเดฑเตเด•เด•เตเดทเดฟเด•เตเด•เต เด’เดฐเต‡ เดธเดฎเดฏเด‚ เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดฃเตเดŸเต เดชเด•เตผเดชเตเดชเตเด•เตพ เดฒเดญเดฟเดšเตเดšเดพเดฒเตเด‚, เดกเตเดฏเต‚เดชเตเดฒเดฟเด•เตเด•เต‡เดฑเตเดฑเต เด…เดตเด—เดฃเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚. (เด•เต‚เดŸเตเดคเตฝ เดธเดฎเดฏเด‚ เด•เดŸเดจเตเดจเตเดชเต‹เดฏเดฟ, เดฏเดฅเดพเตผเดคเตเดฅ msg_id เด‡เดจเดฟ เดธเดพเดงเตเดคเดฏเตเดณเตเดณเดคเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดธเดจเตเดฆเต‡เดถเด‚ msg_copy-เตฝ เดชเตŠเดคเดฟเดžเตเดžเดคเดพเดฃเต).
  • เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เดจเดฟเดฒ เดธเตเดตเดฎเต‡เดงเดฏเดพ เด‰เดณเตเดณ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚
    เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เด•เตเดทเดฟเด•เตพ เด•เตˆเดฎเดพเดฑเตเดจเตเดจ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เดจเดฟเดฒ เดธเตเดตเดฎเต‡เดงเดฏเดพ เดฎเดฑเตเดฑเต‡ เด•เด•เตเดทเดฟเดฏเต† เด…เดฑเดฟเดฏเดฟเด•เตเด•เดพเด‚.
    msgs_all_info#8cc0d131 msg_ids:Vector long info:string = MsgsAllInfo
  • เด’เดฐเต เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเตเดฑเต† เดจเดฟเดฒเดฏเตเดŸเต† เดตเดฟเดชเตเดฒเต€เด•เตƒเดค เดตเต‹เดณเดฃเตเดŸเดฑเดฟ เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเด•เตเด•เต‡เดทเตป
    เดชเด™เตเด•เต โ‚ฌ |
    msg_detailed_info#276d3ec6 msg_id:long answer_msg_id:long bytes:int status:int = MsgDetailedInfo;
    msg_new_detailed_info#809db6df answer_msg_id:long bytes:int status:int = MsgDetailedInfo;
  • เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเดจเตเดณเตเดณ เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจ
    msg_resend_req#7d861a08 msg_ids:Vector long = MsgResendReq;
    เด…เดญเตเดฏเตผเดคเตเดฅเดฟเดšเตเดš เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เดตเดฟเดฆเต‚เดฐ เด•เด•เตเดทเดฟ เด‰เดŸเตป เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต [โ€ฆ]
  • เด‰เดคเตเดคเดฐเด™เตเด™เตพ เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเดจเตเดณเตเดณ เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจ
    msg_resend_ans_req#8610baeb msg_ids:Vector long = MsgResendReq;
    เดตเดฟเดฆเต‚เดฐ เด•เด•เตเดทเดฟ เด‰เดŸเตป เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดšเตเดšเตเด•เตŠเดฃเตเดŸเต เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต เด‰เดคเตเดคเดฐเด™เตเด™เตพ เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเดŸ เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต [โ€ฆ]
  • เดธเดจเตเดฆเต‡เดถ เดชเด•เตผเดชเตเดชเตเด•เตพ
    เดšเดฟเดฒ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ, msg_id เด‰เดณเตเดณ เด’เดฐเต เดชเดดเดฏ เดธเดจเตเดฆเต‡เดถเด‚ เด‡เดจเดฟ เดธเดพเดงเตเดคเดฏเดฟเดฒเตเดฒเดพเดคเตเดคเดคเต เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดคเตเดŸเตผเดจเตเดจเต, เด…เดคเต เด’เดฐเต เด•เต‹เดชเตเดชเดฟ เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเตฝ เดชเตŠเดคเดฟเดžเตเดžเต:
    msg_copy#e06046b2 orig_message:Message = MessageCopy;
    เด’เดฐเดฟเด•เตเด•เตฝ เดฒเดญเดฟเดšเตเดšเดพเตฝ, เดฑเดพเดชเตเดชเตผ เด‡เดฒเตเดฒเต†เดจเตเดจ เดฎเดŸเตเดŸเดฟเตฝ เดธเดจเตเดฆเต‡เดถเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, orig_message.msg_id เดŽเดจเตเดจ เดธเดจเตเดฆเต‡เดถเด‚ เดฒเดญเดฟเดšเตเดšเตเดตเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเดฏเดพเตฝ, เดชเตเดคเดฟเดฏ เดธเดจเตเดฆเต‡เดถเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ (เด…เดคเต‡ เดธเดฎเดฏเด‚, เด…เดคเตเด‚ orig_message.msg_id เด‰เด‚ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต). orig_message.msg_id-เดจเตเดฑเต† เดฎเต‚เดฒเตเดฏเด‚ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดจเตเดฑเต† msg_id-เดจเต‡เด•เตเด•เดพเตพ เด•เตเดฑเดตเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚.

เดŽเดจเตเดคเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต เดฎเดฟเดฃเตเดŸเดพเดคเดฟเดฐเดฟเด•เตเด•เดพเด‚ msgs_state_info เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เดพเดคเตเดค TL เดจเตเดฑเต† เดšเต†เดตเดฟเด•เตพ เดตเต€เดฃเตเดŸเตเด‚ เดชเตเดฑเดคเตเดคเต‡เด•เตเด•เต เดคเดณเตเดณเดฟเดจเดฟเตฝเด•เตเด•เตเดจเตเดจเต (เดžเด™เตเด™เตพเด•เตเด•เต เดฌเตˆเดฑเตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เดตเต†เด•เตเดฑเตเดฑเตผ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เดคเดพเดดเต†เดฏเตเดณเตเดณ เดฐเดฃเตเดŸเต เดฌเดฟเดฑเตเดฑเตเด•เดณเดฟเตฝ เด’เดฐเต enum เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด‰เดฏเตผเดจเตเดจ เดฐเดฃเตเดŸเต เดฌเดฟเดฑเตเดฑเตเด•เดณเดฟเตฝ เดซเตเดฒเดพเด—เตเด•เตพ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต). เด•เดพเดฐเตเดฏเด‚ เดตเต‡เดฑเต†เดฏเดพเดฃเต. เด‡เดคเตŠเด•เตเด•เต† เดŽเดจเตเดคเดฟเดจเดพเดฃเต เดชเตเดฐเดฏเต‹เด—เดคเตเดคเดฟเดฒเตเดณเตเดณเดคเต†เดจเตเดจเต เด†เตผเด•เตเด•เต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเดจเดธเตเดธเดฟเดฒเดพเดฏเต‹? เด’เดฐเต เดฏเดฅเดพเตผเดคเตเดฅ เด•เตเดฒเดฏเดจเตเดฑเดฟเตฝ เด†เดตเดถเตเดฏเดฎเตเดฃเตเดŸเต‹?.. เดชเตเดฐเดฏเดพเดธเดคเตเดคเต‹เดŸเต†, เดŽเดจเตเดจเดพเตฝ เด’เดฐเดพเตพ เดกเต€เดฌเด—เตเด—เดฟเด‚เด—เดฟเตฝ เดเตผเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด’เดฐเต เดธเด‚เดตเต‡เดฆเดจเดพเดคเตเดฎเด• เดฎเต‹เดกเดฟเตฝ เดเตผเดชเตเดชเต†เดŸเตเดŸเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเดพเตฝ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดฏเต‹เดœเดจเด‚ เดธเด™เตเด•เตฝเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚ - เดธเต†เตผเดตเดฑเดฟเดจเต‹เดŸเต เดŽเดจเตเดคเดพเดฃเต, เดŽเด™เตเด™เดจเต† เดŽเดจเตเดจเต เดšเต‹เดฆเดฟเด•เตเด•เตเด•. เดŽเดจเตเดจเดพเตฝ เด‡เดตเดฟเดŸเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต เดฑเต—เดฃเตเดŸเต เดŸเตเดฐเดฟเดชเตเดชเต.

เด“เดฐเต‹ เด•เด•เตเดทเดฟเดฏเตเด‚ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด…เดฏเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด• เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดคเด™เตเด™เดณเต† เด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เดณเตเด‚ เด…เดตเดฐเต‹เดŸเตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เดณเตเด‚ เด…เดœเตเดžเดพเดคเดฎเดพเดฏ เดธเดฎเดฏเดคเตเดคเต‡เด•เตเด•เต เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚. เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดˆ เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเตเดŸเต† เดธเดฎเดฏเดคเตเดคเต†เดฏเต‹ เดชเตเดฐเดพเดฏเต‹เด—เดฟเด• เดชเตเดฐเดฏเต‹เด—เดคเตเดคเต†เดฏเต‹ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ. เดเดฑเตเดฑเดตเตเด‚ เด…เดคเตเดญเตเดคเด•เดฐเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด‚, เด…เดต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด”เดฆเตเดฏเต‹เด—เดฟเด• เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเตเดŸเต† เด•เต‹เดกเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต! เดชเดฌเตเดฒเดฟเด•เต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดคเตเดค เดšเดฟเดฒเดคเต เด…เดตเดฐเต‹เดŸเต เดชเดฑเดžเตเดžเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต. เด•เต‹เดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเด• เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต, TL-เดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเดฒเต†เดจเตเดจเดชเต‹เดฒเต† เดฒเดณเดฟเดคเดฎเดฒเตเดฒ - เด‡เดคเต เด’เดฐเต (เดคเดพเดฐเดคเดฎเตเดฏเต‡เดจ) เดฏเตเด•เตเดคเดฟเดชเดฐเดฎเดพเดฏเดฟ เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดŸ เดญเดพเด—เดฎเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดญเดพเด—เดฎเดพเดฃเต, เด…เดคเดพเดฏเดคเต. เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด•เต‹เดกเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เด•เต‚เดŸเตเดคเตฝ เดธเดฎเดฏเด‚ เดตเต‡เดฃเตเดŸเดฟเดตเดฐเตเด‚.

เดชเดฟเด‚เด—เตเด•เดณเตเด‚ เดธเดฎเดฏเดตเตเด‚. เด•เตเดฏเต‚เด•เตพ.

เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚, เดธเต†เตผเดตเตผ เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดŠเดนเด™เตเด™เตพ (เดฌเดพเด•เตเด•เต†เตปเดกเตเด•เดณเดฟเดฒเตเดŸเดจเต€เดณเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเดŸเต† เดตเดฟเดคเดฐเดฃเด‚) เดžเด™เตเด™เตพ เด“เตผเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดตเดณเดฐเต† เดธเด™เตเด•เดŸเด•เดฐเดฎเดพเดฏ เด’เดฐเต เด•เดพเดฐเตเดฏเด‚ เดชเดฟเดจเตเดคเตเดŸเดฐเตเดจเตเดจเต - TCP-เดฏเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดกเต†เดฒเดฟเดตเดฑเดฟ เด—เตเดฏเดพเดฐเดจเตเดฑเดฟเด•เดณเตเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเดฟเดŸเตเดŸเตเด‚ (เด’เดจเตเดจเตเด•เดฟเตฝ เดกเดพเดฑเตเดฑ เดกเต†เดฒเดฟเดตเตผ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เดณเต† เดตเดฟเดŸเดตเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดฟเด™เตเด™เดณเต† เด…เดฑเดฟเดฏเดฟเด•เตเด•เตเด‚, เดชเด•เตเดทเต‡ เดชเตเดฐเดถเตเดจเด‚ เด‰เดฃเตเดŸเดพเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดกเดพเดฑเตเดฑ เดกเต†เดฒเดฟเดตเตผ เดšเต†เดฏเตเดฏเตเด‚), MTPproto-เดฏเดฟเดฒเต† เดคเดจเตเดจเต† เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด™เตเด™เตพ - เดฏเดพเดคเตŠเดฐเต เด‰เดฑเดชเตเดชเตเดฎเดฟเดฒเตเดฒ. เดธเต†เตผเดตเดฑเดฟเดจเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเดจเตเดฆเต‡เดถเด‚ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเดพเดจเต‹ เดตเดฒเดฟเดšเตเดšเต†เดฑเดฟเดฏเดพเดจเต‹ เด•เดดเดฟเดฏเตเด‚, เด…เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด’เดจเตเดจเตเด‚ เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เดตเตเดฏเดคเตเดฏเดธเตเดค เดคเดฐเด‚ เด•เตเดฐเดšเตเดšเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•.

เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ - เดธเดจเตเดฆเต‡เดถ เด•เตเดฏเต‚เด•เตพ. เดถเดฐเดฟ, เด’เดฐเต เด•เดพเดฐเตเดฏเด‚ เด•เตŠเดฃเตเดŸเต เดคเตเดŸเด•เตเด•เด‚ เดฎเตเดคเตฝ เดŽเดฒเตเดฒเดพเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต - เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เดพเดคเตเดค เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚. เดชเดฟเดจเตเดจเต† เดŽเดคเตเดฐ เดธเดฎเดฏเด‚ เด•เดดเดฟเดžเตเดžเต? เดคเดฎเดพเดถเด•เตเด•เดพเดฐเดจเต เด…เดตเดจเต† เด…เดฑเดฟเดฏเดพเด‚. เด’เดฐเตเดชเด•เตเดทเต‡ เด† เด…เดกเดฟเด•เตเดฑเตเดฑเดกเต เดธเต‡เดตเดจ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด•เตเดฐเดšเตเดšเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดˆ เดชเตเดฐเดถเตเดจเด‚ เดŽเด™เตเด™เดจเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเด‚, เดชเดฑเดฏเตเด•, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเดฟเตฝ เด…เดตเดฏเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดเด•เดฆเต‡เดถเด‚ 4 เด•เตเดฏเต‚เด•เดณเตเดฃเตเดŸเต (เด’เดฐเตเดชเด•เตเดทเต‡ เด•เต‚เดŸเตเดคเตฝ, เด‡เดคเดฟเดจเด•เด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดคเตเดชเต‹เดฒเต†, เด‡เดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพ เด…เดคเดฟเดจเตเดฑเต† เด•เต‹เดกเตเด‚ เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเตเด‚ เด•เต‚เดŸเตเดคเตฝ เด—เต—เดฐเดตเดฎเดพเดฏเดฟ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต; เด…เดคเต‡ เดธเดฎเดฏเด‚. เดธเดฎเดฏเด‚, เด‡เดคเต เด’เดฐเต เดธเดพเดฎเตเดชเดฟเดณเดพเดฏเดฟ เดŽเดŸเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเต เดžเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเด‚; MTPproto เดธเตเด•เต€เดฎเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดŽเดฃเตเดฃเด‚ เดคเดฐเด™เตเด™เตพ เด…เดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ).

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด‡เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต? เด’เดฐเตเดชเด•เตเดทเต‡, เดธเต†เตผเดตเตผ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเตผเดฎเดพเตผเด•เตเด•เต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดตเดฟเดถเตเดตเดพเดธเตเดฏเดค เด‰เดฑเดชเตเดชเดพเด•เตเด•เดพเตป เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดซเตเดฐเดฃเตเดŸเต เดฌเดพเดฒเตปเดธเดฑเดฟเตฝ เดฌเดซเดฑเดฟเด‚เด—เต เดชเต‹เดฒเตเด‚, เดˆ เดชเตเดฐเดถเตเดจเด‚ เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดฟ. เดจเดฟเดฐเดพเดถเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต, เดตเดพเดธเดฟเดฒเดฟ เด’เดฐเต เดฌเดฆเตฝ เด“เดชเตเดทเตป เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเต, เดฐเดฃเตเดŸเต เด•เตเดฏเต‚เด•เตพ เดฎเดพเดคเตเดฐเด‚, เดŸเดฟเดธเดฟเดชเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด…เตฝเด—เต‹เดฐเดฟเดคเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต - เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต RTT เด…เดณเด•เตเด•เตเด•, เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เดพเดคเตเดค เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต "เดตเดฟเตปเดกเต‹" (เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเดฟเตฝ) เดตเดฒเตเดชเตเดชเด‚ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เตเด•. เด…เดคเดพเดฏเดคเต, เดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต† เดฒเต‹เดกเต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดชเดฐเตเด•เตเด•เตป เดนเตเดฏเต‚เดฑเดฟเดธเตเดฑเตเดฑเดฟเด•เต, เดžเด™เตเด™เดณเตเดŸเต† เดŽเดคเตเดฐ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด’เดฐเต‡ เดธเดฎเดฏเด‚ เดšเดตเดšเตเดšเดฐเดšเตเดšเต เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเดฟเดฒเตเดฒ เดŽเดจเตเดจเดคเดพเดฃเต.

เดถเดฐเดฟ, เด…เดคเดพเดฏเดคเต, เดจเดฟเด™เตเด™เตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต, เด…เดฒเตเดฒเต‡? เดŸเดฟเดธเดฟเดชเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เดณเดฟเดจเต เดฎเตเด•เดณเดฟเตฝ เดตเต€เดฃเตเดŸเตเด‚ เดŸเดฟเดธเดฟเดชเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เด‡เดคเต เดตเดณเดฐเต† เดฎเต‹เดถเดฎเดพเดฏเดฟ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดค เดชเตเดฐเต‹เดŸเตเดŸเต‹เด•เตเด•เต‹เตพ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต.

เด“, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเดฟเดจเต เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เด•เตเดฏเต‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เดŽเดจเตเดคเดพเดฏเดพเดฒเตเด‚ เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ API เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดตเตเดฏเด•เตเดคเดฟเด•เตเด•เต เด‡เดคเต เดŽเดจเตเดคเดพเดฃเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต? เดจเต‹เด•เตเด•เต‚, เดจเดฟเด™เตเด™เตพ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดŸเดคเตเดคเตเดจเตเดจเต, เด…เดคเต เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เด‰เดŸเดจเดŸเดฟ เด…เดฏเดฏเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต? เด•เดพเดฐเดฃเด‚ เด‰เดคเตเดคเดฐเด‚ เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚ msg_id, เด‡เดคเต เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด•เดฎเดพเดฃเตะฐเดžเดพเดจเตŠเดฐเต เดฒเต‡เดฌเดฒเดพเดฃเต, เด…เดธเตˆเตปเดฎเต†เดจเตเดฑเต เด•เดดเดฟเดฏเตเดจเตเดจเดคเตเดฐ เดตเตˆเด•เตเดจเตเดจเดคเต เดตเดฐเต† เดจเต€เดŸเตเดŸเดฟเดตเต†เด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต - เดจเดฎเตเดฎเดณเตเด‚ เด…เดตเดจเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดธเดฎเดฏ เดชเตŠเดฐเตเดคเตเดคเด•เตเด•เต‡เดŸเต เด•เดพเดฐเดฃเด‚ เดธเต†เตผเดตเตผ เด…เดคเต เดจเดฟเดฐเดธเดฟเดšเตเดšเดพเตฝ (เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดจเดฎเตเดฎเตเดŸเต† เดธเดฎเดฏเดคเตเดคเต† เดตเตผเดคเตเดคเดฎเดพเดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเดพเดฑเตเดฑเตเดจเตเดจ เด’เดฐเต เดŠเดจเตเดจเตเดตเดŸเดฟ เด‰เดฃเตเดŸเดพเด•เตเด•เดพเด‚. เดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต† เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เดฃเด•เตเด•เดพเด•เตเด•เดฟเดฏ เด’เดฐเต เดกเต†เตฝเดฑเตเดฑ เดšเต‡เตผเดคเตเดคเต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต - เด”เดฆเตเดฏเต‹เด—เดฟเด• เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเดพเดฃเต เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต, เดชเด•เตเดทเต‡ เดฌเดซเดฑเดฟเด‚เด—เต เด•เดพเดฐเดฃเด‚ เด‡เดคเต เด…เดธเด‚เดธเตเด•เตƒเดคเดตเตเด‚ เด•เตƒเดคเตเดฏเดฎเดฒเตเดฒเดพเดคเตเดคเดคเตเดฎเดพเดฃเต). เด…เดคเดฟเดจเดพเตฝ, เดฒเตˆเดฌเตเดฐเดฑเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดฒเต‹เด•เตเด•เตฝ เดซเด‚เด—เตโ€Œเดทเตป เด•เต‹เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพ เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดจเดŸเดคเตเดคเตเดฎเตเดชเต‹เตพ, เดธเดจเตเดฆเต‡เดถเด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เด˜เดŸเตเดŸเด™เตเด™เดณเดฟเดฒเต‚เดŸเต† เด•เดŸเดจเตเดจเตเดชเต‹เด•เตเดจเตเดจเต:

  1. เด‡เดคเต เด’เดฐเต เด•เตเดฏเต‚เดตเดฟเตฝ เด•เดฟเดŸเด•เตเด•เตเดจเตเดจเต, เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
  2. เดจเดฟเดฏเดฎเดฟเดšเตเดšเต msg_id เดธเดจเตเดฆเต‡เดถเด‚ เดฎเดฑเตเดฑเตŠเดฐเต เด•เตเดฏเต‚เดตเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ - เดซเต‹เตผเดตเต‡เดกเดฟเด‚เด—เต เดธเดพเดงเตเดฏเดฎเดพเดฃเต; เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เตเด•.
  3. a) เดธเต†เตผเดตเตผ MsgsAck เดชเตเดฐเดคเดฟเด•เดฐเดฟเดšเตเดšเต - เดธเดจเตเดฆเต‡เดถเด‚ เด•เตˆเดฎเดพเดฑเดฟ, เดžเด™เตเด™เตพ เด…เดคเต "เดฎเดฑเตเดฑเต เด•เตเดฏเต‚เดตเดฟเตฝ" เดจเดฟเดจเตเดจเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเต.
    b) เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดคเดฟเดฐเดฟเดšเตเดšเตเด‚, เด…เดฏเดพเตพเด•เตเด•เต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดŸเดฟเดฒเตเดฒ, เด…เดตเตป เดฌเดพเดกเตโ€Œเด‚เดธเตเดœเดฟเดจเต เด‰เดคเตเดคเดฐเด‚ เดจเตฝเด•เดฟ - โ€œเดฎเดฑเตเดฑเตŠเดฐเต เด•เตเดฏเต‚เดตเดฟเตฝโ€ เดจเดฟเดจเตเดจเต เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเด•
    c) เด’เดจเตเดจเตเด‚ เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ, เดธเดจเตเดฆเต‡เดถเด‚ เดฎเดฑเตเดฑเตŠเดฐเต เด•เตเดฏเต‚เดตเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเต€เดฃเตเดŸเตเด‚ เด…เดฏเดฏเตเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต - เดŽเดจเตเดจเดพเตฝ เดŽเดชเตเดชเต‹เดดเดพเดฃเต†เดจเตเดจเต เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ.
  4. เดธเต†เตผเดตเตผ เด’เดŸเตเดตเดฟเตฝ เดชเตเดฐเดคเดฟเด•เดฐเดฟเดšเตเดšเต RpcResult - เดฏเดฅเดพเตผเดคเตเดฅ เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเดฟเดถเด•เต) - เดกเต†เดฒเดฟเดตเตผ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด• เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚, เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเตเด•เดณเตเดŸเต† เด‰เดชเดฏเต‹เด—เด‚ เดญเดพเด—เดฟเด•เดฎเดพเดฏเดฟ เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เตเด‚. เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด’เดจเตเดจเดพเดฏเดฟ เดชเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดธเต†เตผเดตเตผ เด…เดตเดฏเตโ€Œเด•เตเด•เต†เดฒเตเดฒเดพเด‚ เด’เดฐเต‡เดธเดฎเดฏเด‚ เด’เดฐเต เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเดคเตเดคเต‹เดŸเต† เดชเตเดฐเดคเดฟเด•เดฐเดฟเดšเตเดšเต. msg_id. เดชเด•เตเดทเต‡, เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเต†เดฑเตเดฑเต เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ, เด…เดตเตป เดˆ เดชเดพเดฏเตเด•เตเด•เต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด‚.

เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดฎเดฒเตเดฒเดพเดคเตเดค เดชเดฐเดฟเด—เดฃเดจเด•เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดจเตเดญเดตเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต, เดžเด™เตเด™เตพ เดจเดฟเดฐเดตเดงเดฟ เดŠเดจเตเดจเตเดตเดŸเดฟเด•เตพ เด•เดฃเตเดŸเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เด•เต‚เดŸเดพเดคเต†, เดฎเต‹เดถเด‚ เด‰เดชเดฆเต‡เดถเดคเตเดคเดฟเดจเตเดฑเต†เดฏเตเด‚ เดตเดพเดธเตเดคเตเดตเดฟเดฆเตเดฏเดฏเตเดŸเต†เดฏเตเด‚ เด•เต‚เดŸเตเดคเตฝ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เดžเด™เตเด™เตพ เด‡เดชเตเดชเต‹เตพ เด•เดพเดฃเตเด‚ - เด…เดคเตเดคเดฐเด‚ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ, เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เด…เดคเตเดคเดฐเด‚ เดคเต€เดฐเตเดฎเดพเดจเด™เตเด™เตพ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเดคเตเด‚ เดฎเต‚เดฒเตเดฏเดตเดคเตเดคเดพเดฃเต‹? เดšเต‹เดฆเตเดฏเด‚ เดตเดพเดšเดพเดŸเต‹เดชเดฎเดพเดฃเต (เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ เด…เดฒเตเดฒ).

เดจเดฎเตเดฎเตพ เดŽเดจเตเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเดพเดฃเต เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต? "เดธเดจเตเดฆเต‡เดถเด™เตเด™เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฎเดฏเด•เตเด•เตเดฎเดฐเตเดจเตเดจเต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ" เดŽเดจเตเดจ เดตเดฟเดทเดฏเดคเตเดคเดฟเตฝ "เดจเดฟเด™เตเด™เตพ เดตเดฟเดกเตเดขเดฟเดฏเดพเดฃเต, เดžเด™เตเด™เดณเตเดŸเต† เดฎเดฟเด•เดšเตเดš เดชเดฆเตเดงเดคเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดจเดธเตเดธเดฟเดฒเดพเดฏเดฟเดฒเตเดฒ!" เดŽเดจเตเดจเดคเตเดชเต‹เดฒเตเดณเตเดณ เดŽเดคเดฟเตผเดชเตเดชเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดชเตเดชเต‹เดดเตเด‚ เดŠเดนเดฟเด•เตเด•เดพเด‚. (เดธเดพเดงเดพเดฐเดฃ เด†เดณเตเด•เตพ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เดชเต‹เดฒเต† เด†เดฆเตเดฏเด‚ เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดŽเดดเตเดคเตเด•, เดชเดพเด•เตเด•เดฑเตเดฑเต เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเดฟเดจเตเดฑเต† เดฏเตเด•เตเดคเดฟเดฏเตเด‚ เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เดณเตเด‚ เดธเดนเดฟเดคเด‚, เดชเดฟเดจเตเดจเต† เดžเด™เตเด™เตพ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เตเด‚), เดคเตเดŸเตผเดจเตเดจเต เดธเดฎเดฏเด™เตเด™เตพ/เดธเดฎเดฏเดชเดฐเดฟเดงเดฟเด•เตพ เดคเดฟเด•เดšเตเดšเตเด‚ เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดตเตเด‚ เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸเดตเตเดฎเดพเดฏ เดšเต‹เดฆเตเดฏเดฎเดพเดฃเต, เด‡เดตเดฟเดŸเต†เดฏเตเดณเตเดณเดคเต†เดฒเตเดฒเดพเด‚ เดตเดณเดฐเต†เด•เตเด•เดพเดฒเดฎเดพเดฏเดฟ เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต. เด•เดพเดฒเดนเดฐเดฃเดชเตเดชเต†เดŸเดฒเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดจเดฎเตเดฎเต‹เดŸเต เดŽเดจเตเดคเดพเดฃเต เดชเดฑเดฏเตเดจเตเดจเดคเต?

เด’เดฐเต RPC เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต (เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ, เด’เดฐเต RPC เด…เดจเตเดตเต‡เดทเดฃเด‚) เด’เดฐเต เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดธเต€เดคเต เด’เดฐเต เดธเต†เตผเดตเตผ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด’เดฐเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดตเดณเดฐเต†เด•เตเด•เดพเดฒเด‚ เดจเต€เดฃเตเดŸเตเดจเดฟเตฝเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เดธเต†เตผเดตเตผ เด†เดฆเตเดฏเด‚ เด’เดฐเต เดฐเดธเต€เดคเต เด…เด•เตเดจเต‹เดณเดœเตเดฎเต†เดจเตเดฑเต เด…เดฏเดšเตเดšเต‡เด•เตเด•เดพเด‚, เด•เตเดฑเดšเตเดšเต เด•เดดเดฟเดžเตเดžเต, RPC เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดคเดจเตเดจเต†.

เด’เดฐเต เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเตเดฑเต† เดฐเดธเต€เดคเต (เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ, เด’เดฐเต RPC เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚) เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดตเดณเดฐเต† เดตเตˆเด•เดฟ เด•เตˆเดฎเดพเดฑเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ (เด…เดคเต เดœเดจเดฑเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดคเดพเตฝ, เดฐเดธเต€เดคเต เด•เดดเดฟเดžเตเดžเต 60-120 เดธเต†เด•เตเด•เตปเดกเต เด•เดดเดฟเดžเตเดžเต, เด…เดŸเตเดคเตเดค RPC เด…เดจเตเดตเต‡เดทเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด…เด‚เด—เต€เด•เดพเดฐเด‚ เดšเต‡เตผเด•เตเด•เตเด•. เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚). เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดฆเต€เตผเด˜เดจเดพเดณเดคเตเดคเต‡เด•เตเด•เต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด•เดพเดฐเดฃเดฎเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดงเดพเดฐเดพเดณเด‚ เด…เด‚เด—เต€เด•เตƒเดคเดฎเดฒเตเดฒเดพเดคเตเดค เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ (เดชเดฑเดฏเตเด•, 16-เดฒเดงเดฟเด•เด‚), เด•เตเดฒเดฏเดจเตเดฑเต เด’เดฐเต เดธเตเดฑเตเดฑเดพเตปเดกเต-เดŽเดฒเต‹เตบ เด…เด‚เด—เต€เด•เดพเดฐเด‚ เด•เตˆเดฎเดพเดฑเตเดจเตเดจเต.

... เดžเดพเตป เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต: เดจเดฎเตเด•เตเด•เต เด…เดคเต เดŽเดคเตเดฐเดฏเดพเดฃเต†เดจเตเดจเตเด‚ เดŽเด™เตเด™เดจเต† เดตเต‡เดฃเดฎเต†เดจเตเดจเตเด‚ เดจเดฎเตเด•เตเด•เต เดคเดจเตเดจเต† เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเดพเตฝ เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต† เด†เดฏเดฟเดฐเดฟเด•เตเด•เดŸเตเดŸเต† เดŽเดจเตเดจเต เดจเดฎเตเด•เตเด•เต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดพเด‚.

เดชเดฟเด‚เด—เตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต:

เดชเดฟเด‚เด—เต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ (PING/PONG)

ping#7abe77ec ping_id:long = Pong;

เด’เดฐเต เดชเตเดฐเดคเดฟเด•เดฐเดฃเด‚ เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เด…เดคเต‡ เด•เดฃเด•เตเดทเดจเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด‚:

pong#347773c5 msg_id:long ping_id:long = Pong;

เดˆ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพเด•เตเด•เต เด…เด‚เด—เต€เด•เดพเดฐเด™เตเด™เตพ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ. เด’เดฐเต เดชเดฟเด™เตเด™เดฟเดจเตเดฑเต† เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดพเดฏเดฟ เดฎเดพเดคเตเดฐเดฎเต‡ เด’เดฐเต เดชเต‹เด‚เด—เต เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด•เดฏเตเดณเตเดณเต‚, เด’เดฐเต เดชเดฟเด‚เด—เต เด‡เดฐเตเดตเดถเดคเตเดคเตเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

เดฎเดพเดฑเตเดฑเดฟเดตเดšเตเดš เด•เดฃเด•เตเดทเตป เด•เตเดฒเต‹เดทเตผ + PING

ping_delay_disconnect#f3427b8c ping_id:long disconnect_delay:int = Pong;

เดชเดฟเด‚เด—เต เดชเต‹เดฒเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เด•เต‚เดŸเดพเดคเต†, เด‡เดคเต เดฒเดญเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚, เดธเต†เตผเดตเตผ เด’เดฐเต เดŸเตˆเดฎเตผ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดฎเตเดฎเตเดชเดคเตเดคเต† เดŽเดฒเตเดฒเดพ เดŸเตˆเดฎเดฑเตเด•เดณเตเด‚ เดธเตเดตเดฏเดฎเต‡เดต เดชเตเดจเดƒเดธเดœเตเดœเดฎเดพเด•เตเด•เตเดจเตเดจ เด…เดคเต‡ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฐเต เดชเตเดคเดฟเดฏ เดธเดจเตเดฆเต‡เดถเด‚ เดฒเดญเดฟเดšเตเดšเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดจเดฟเดฒเดตเดฟเดฒเต† เด•เดฃเด•เตเดทเตป disconnect_delay เดธเต†เด•เตเด•เตปเดกเตเด•เตพเด•เตเด•เต เดถเต‡เดทเด‚ เด…เดคเต เด…เดŸเดฏเตเด•เตเด•เตเด‚. เด•เตเดฒเดฏเดจเตเดฑเต เด“เดฐเต‹ 60 เดธเต†เด•เตเด•เตปเดกเดฟเดฒเตเด‚ เด’เดฐเดฟเด•เตเด•เตฝ เดˆ เดชเดฟเด‚เด—เตเด•เตพ เด…เดฏเดฏเตเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดคเต 75 เดธเต†เด•เตเด•เตปเดกเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏ disconnect_delay เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟเดฏเต‡เด•เตเด•เดพเด‚.

เดจเดฟเดจเด•เตเด•เต เดญเตเดฐเดพเดจเตเดคเดพเดฃเต‡เดพ?! 60 เดธเต†เด•เตเด•เตปเดกเตเด•เตพเด•เตเด•เตเดณเตเดณเดฟเตฝ, เดŸเตเดฐเต†เดฏเดฟเตป เดธเตเดฑเตเดฑเต‡เดทเดจเดฟเตฝ เดชเตเดฐเดตเต‡เดถเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดฏเดพเดคเตเดฐเด•เตเด•เดพเดฐเต† เด‡เดฑเด•เตเด•เตเด•เดฏเตเด‚ เด•เดฏเดฑเตเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚, เดตเต€เดฃเตเดŸเตเด‚ เดŸเดฃเดฒเดฟเดฒเต† เดฌเดจเตเดงเด‚ เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเด‚. 120 เดธเต†เด•เตเด•เตปเดกเดฟเดจเตเดณเตเดณเดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด…เดคเต เด•เต‡เตพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด…เดคเต เดฎเดฑเตเดฑเตŠเดจเตเดจเดฟเตฝ เดŽเดคเตเดคเตเด‚, เด•เดฃเด•เตเดทเตป เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดคเด•เดฐเตเด‚. เดถเดฐเดฟ, เด•เดพเดฒเตเด•เตพ เดŽเดตเดฟเดŸเต† เดจเดฟเดจเตเดจเดพเดฃเต เดตเดฐเตเดจเตเดจเดคเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต - โ€œเดžเดพเตป เด’เดฐเต เดฑเดฟเด‚เด—เดฟเด‚เด—เต เด•เต‡เดŸเตเดŸเต, เดชเด•เตเดทเต‡ เด…เดคเต เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต†เดจเตเดจเต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒโ€, เด…เดตเดฟเดŸเต† เดจเดพเด—เดฒเดฟเดจเตเดฑเต† เด…เตฝเด—เต‹เดฐเดฟเดคเด‚, เดธเด‚เดตเต‡เดฆเดจเดพเดคเตเดฎเด• เดœเต‹เดฒเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเตเดณเตเดณ TCP_NODELAY เด“เดชเตเดทเดจเตเด‚ เด‰เดฃเตเดŸเต. เดชเด•เตเดทเต‡, เด•เตเดทเดฎเดฟเด•เตเด•เดฃเด‚, เด…เดคเดฟเดจเตเดฑเต† เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเด‚ - 200 เดฎเตเดฑเตเด•เต† เดชเดฟเดŸเดฟเด•เตเด•เตเด• เดฎเดฟเดฒเตเดฒเดฟเดธเต†เด•เตเด•เดจเตเดฑเตเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดถเดฐเดฟเด•เตเด•เตเด‚ เดธเดฎเดพเดจเดฎเดพเดฏ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดšเดฟเดคเตเดฐเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดธเดพเดงเตเดฏเดฎเดพเดฏ เดฐเดฃเตเดŸเต เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเตฝ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด…เดคเต 5 เดธเต†เด•เตเด•เตปเดกเต เดจเต‡เดฐเดคเตเดคเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดฟเดตเต†เด•เตเด•เตเด•, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ โ€œเด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต...โ€ เดŽเดจเตเดจ เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเดจเตเดฑเต† เดธเดฎเดฏเดชเดฐเดฟเดงเดฟ เด‡เดชเตเดชเต‹เตพ. เดชเด•เตเดทเต‡ เด‡เดจเดฟ เดตเต‡เดฃเตเดŸ.

เด’เดŸเตเดตเดฟเตฝ, เดชเดฟเด‚เด—เตเดธเต. เด…เดคเดพเดฏเดคเต, เดŸเดฟเดธเดฟเดชเดฟ เด•เดฃเด•เตเดทเดจเตเดฑเต† เดฒเตˆเดตเตเดจเต†เดธเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต. เด‡เดคเต เดคเดฎเดพเดถเดฏเดพเดฃเต, เดชเด•เตเดทเต‡ เดเด•เดฆเต‡เดถเด‚ 10 เดตเตผเดทเด‚ เดฎเตเดฎเตเดชเต เดžเดพเตป เดžเด™เตเด™เดณเตเดŸเต† เดซเดพเด•เตเด•เตฝเดฑเตเดฑเดฟเดฏเตเดŸเต† เดกเต‹เดฎเดฟเดฒเต† เดธเดจเตเดฆเต‡เดถเดตเดพเดนเด•เดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด’เดฐเต เดตเดฟเดฎเตผเดถเดจเดพเดคเตเดฎเด• เดตเดพเดšเด•เด‚ เดŽเดดเตเดคเดฟ - เด…เดตเดฟเดŸเต†เดฏเตเดณเตเดณ เดฐเดšเดฏเดฟเดคเดพเด•เตเด•เดณเตเด‚ เด•เตเดฒเดฏเดจเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเต†เตผเดตเดฑเดฟเดจเต† เดชเดฟเด‚เด—เต เดšเต†เดฏเตเดคเต, เดคเดฟเดฐเดฟเดšเตเดšเตเด‚ เด…เดฒเตเดฒ. เดŽเดจเตเดจเดพเตฝ เดฎเต‚เดจเตเดจเดพเด‚ เดตเตผเดท เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเด•เตพ เด’เดฐเต เด•เดพเดฐเตเดฏเดฎเดพเดฃเต, เด’เดฐเต เด…เดจเตเดคเดพเดฐเดพเดทเตเดŸเตเดฐ เด“เดซเต€เดธเต เดฎเดฑเตเดฑเตŠเดจเตเดจเดพเดฃเต, เด…เดฒเตเดฒเต‡?

เด†เดฆเตเดฏเด‚, เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธ เดชเดฐเดฟเดชเดพเดŸเดฟ. เด’เดฐเต เดŸเดฟเดธเดฟเดชเดฟ เด•เดฃเด•เตเดทเตป, เดชเดพเด•เตเด•เดฑเตเดฑเต เดŽเด•เตเดธเตเดšเต‡เดžเตเดšเดฟเดจเตเดฑเต† เด…เดญเดพเดตเดคเตเดคเดฟเตฝ, เด†เดดเตเดšเด•เดณเต‹เดณเด‚ เดœเต€เดตเดฟเด•เตเด•เดพเด‚. เด‰เดฆเตเดฆเต‡เดถเตเดฏเดคเตเดคเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเต เด‡เดคเต เดจเดฒเตเดฒเดคเตเด‚ เดšเต€เดคเตเดคเดฏเตเดฎเดพเดฃเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต SSH เด•เดฃเด•เตเดทเตป เดคเตเดฑเดจเตเดจเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเดดเตเดจเตเดจเต‡เดฑเตเดฑเต, เดฑเต‚เดŸเตเดŸเตผ เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดคเต, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดฅเดฒเดคเตเดคเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เดฟเดฏเต†เดคเตเดคเตเดจเตเดจเดคเต เดจเดฒเตเดฒเดคเดพเดฃเต - เดˆ เดธเต†เตผเดตเดฑเดฟเดฒเต‚เดŸเต†เดฏเตเดณเตเดณ เดธเต†เดทเตป เด•เต€เดฑเดฟเดฏเดฟเดฒเตเดฒ (เดจเดฟเด™เตเด™เตพ เด’เดจเตเดจเตเด‚ เดŸเตˆเดชเตเดชเต เดšเต†เดฏเตเดคเดฟเดฒเตเดฒ, เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ) , เด…เดคเต เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต. เดธเต†เตผเดตเดฑเดฟเตฝ เด†เดฏเดฟเดฐเด•เตเด•เดฃเด•เตเด•เดฟเดจเต เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เด…เดคเต เดฎเต‹เดถเดฎเดพเดฃเต, เด“เดฐเต‹เดฐเตเดคเตเดคเดฐเตเด‚ เดฑเดฟเดธเต‹เดดเตโ€Œเดธเตเด•เตพ (เดนเดฒเต‹, เดชเต‹เดธเตเดฑเตเดฑเตโ€Œเด—เตเดฐเต†เดธเต!) เดเดฑเตเดฑเต†เดŸเตเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เด•เตเดฒเดฏเดจเตเดฑเดฟเดจเตเดฑเต† เดนเต‹เดธเตเดฑเตเดฑเต เดตเดณเดฐเต†เด•เตเด•เดพเดฒเด‚ เดฎเตเดฎเตเดชเต เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เดพเด‚ - เดชเด•เตเดทเต‡ เดžเด™เตเด™เตพเด•เตเด•เต เด…เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด…เดฑเดฟเดฏเดฟเดฒเตเดฒ.

เด’เดฐเต เด…เดงเดฟเด• เด•เดพเดฐเดฃเดคเตเดคเดพเตฝ เดšเดพเดฑเตเดฑเต/เดเดŽเด‚ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เด•เต‡เดธเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต - เด“เตบเดฒเตˆเตป เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเตเด•เตพ. เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต โ€œเดตเต€เดฃเตเดชเต‹เดฏเดฟโ€ เดŽเด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด…เดตเดจเตเดฑเต† เดธเด‚เดญเดพเดทเด•เดฐเต† เด…เดฑเดฟเดฏเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚, เดœเดฌเตเดฌเดฑเดฟเดจเตเดฑเต† เดธเตเดฐเดทเตโ€ŒเดŸเดพเด•เตเด•เตพ เดตเดฐเตเดคเตเดคเดฟเดฏ (20 เดตเตผเดทเดคเตเดคเต‡เด•เตเด•เต เดคเดฟเดฐเตเดคเตเดคเดฟเดฏ) เด’เดฐเต เดคเต†เดฑเตเดฑเดฟเตฝ เดจเดฟเด™เตเด™เตพ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเด‚ - เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เดตเดฟเดšเตเด›เต‡เดฆเดฟเดšเตเดšเต, เดชเด•เตเดทเต‡ เด…เดตเตป เด“เตบเดฒเตˆเดจเดฟเดฒเดพเดฃเต†เดจเตเดจเต เดตเดฟเดถเตเดตเดธเดฟเดšเตเดšเต เด…เดตเตผ เด…เดฆเตเดฆเต‡เดนเดคเตเดคเดฟเดจเต เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดŽเดดเตเดคเตเดจเตเดจเดคเต เดคเตเดŸเดฐเตเดจเตเดจเต (เด‡เดตเดฏเตเด‚ เด‡เดตเดฏเดฟเตฝ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเดŸเต. เดตเดฟเดšเตเด›เต‡เดฆเดฟเด•เตเด•เตเดจเตเดจเดคเต เด•เดฃเตเดŸเต†เดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เด•เตเดฑเดšเตเดšเต เดฎเดฟเดจเดฟเดฑเตเดฑเต เดฎเตเดฎเตเดชเต). เด‡เดฒเตเดฒ, TCP_KEEPALIVE เด“เดชเตเดทเตป, TCP เดŸเตˆเดฎเดฑเตเด•เตพ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดฎเดจเดธเดฟเดฒเดพเด•เตเด•เดพเดคเตเดค เดชเดฒเดฐเตเด‚ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏเดฟ (เดชเดคเตเดคเต เดธเต†เด•เตเด•เดจเตเดฑเตเด•เตพ เดชเต‹เดฒเต† เดตเดจเตเดฏเดฎเดพเดฏ เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ เดธเดœเตเดœเต€เด•เดฐเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต) เดŽเดฑเดฟเดฏเตเดจเตเดจเดคเต เด‡เดตเดฟเดŸเต† เดธเดนเดพเดฏเดฟเด•เตเด•เดฟเดฒเตเดฒ - OS เด•เต‡เตผเดฃเตฝ เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด‰เดฑเดชเตเดชเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเดจเตเดฑเต† เดฎเต†เดทเต€เตป เดธเดœเต€เดตเดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เดธเดพเดงเดพเดฐเดฃ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด•เต‚เดŸเดพเดคเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด‚ (เด‡เดคเต เดฎเดฐเดตเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด•เดฐเตเดคเตเดจเตเดจเตเดฃเตเดŸเต‹? เด‰เดฌเตเดฃเตเดŸเต 18.04-เดฒเต† เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต เดŽเดจเดฟเด•เตเด•เต เด’เดจเตเดจเดฟเดฒเดงเดฟเด•เด‚ เดคเดตเดฃ เดฎเดฐเดตเดฟเดšเตเดšเต).

เด…เดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดจเดฟเด™เตเด™เตพ เดชเดฟเด‚เด—เต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต เดธเต†เตผเดตเตผ เด•เตเดฒเดฏเดจเตเดฑเต, เดคเดฟเดฐเดฟเดšเตเดšเตเด‚ เด…เดฒเตเดฒ - เด•เตเดฒเดฏเดจเตเดฑเต เด‡เดคเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด•เดฃเด•เตเดทเตป เดคเด•เดฐเดพเดฑเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดชเดฟเด‚เด—เต เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเดฟเดฒเตเดฒ, เดฒเด•เตเดทเตเดฏเด‚ เด•เตˆเดตเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ.

เดŸเต†เดฒเดฟเด—เตเดฐเดพเดฎเดฟเตฝ เดจเดฎเตเดฎเตพ เดŽเดจเตเดคเดพเดฃเต เด•เดพเดฃเตเดจเตเดจเดคเต? เด‡เดคเต เดจเต‡เดฐเต† เดตเดฟเดชเดฐเต€เดคเดฎเดพเดฃเต! เดถเดฐเดฟ, เด…เดคเดพเดฏเดคเต. เด”เดชเดšเดพเดฐเดฟเด•เดฎเดพเดฏเดฟ, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เด‡เดฐเตเดตเดถเดคเตเดคเตเด‚ เดชเดฐเดธเตเดชเดฐเด‚ เดชเดฟเด‚เด—เต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚. เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ, เด‰เดชเดญเต‹เด•เตเดคเดพเด•เตเด•เตพ เด’เดฐเต เดŠเดจเตเดจเตเดตเดŸเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต ping_delay_disconnect, เด‡เดคเต เดธเต†เตผเดตเดฑเดฟเตฝ เดŸเตˆเดฎเตผ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเดจเตเดจเต. เด•เตเดทเดฎเดฟเด•เตเด•เดฃเด‚, เดชเดฟเด‚เด—เต เด‡เดฒเตเดฒเดพเดคเต† เดŽเดคเตเดฐ เด•เดพเดฒเด‚ เด…เดตเดฟเดŸเต† เดคเดพเดฎเดธเดฟเด•เตเด•เดฃเดฎเต†เดจเตเดจเต เดคเต€เดฐเตเดฎเดพเดจเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต เด•เตเดฒเดฏเดจเตเดฑเดฒเตเดฒ. เดธเต†เตผเดตเตผ, เด…เดคเดฟเดจเตเดฑเต† เดฒเต‹เดกเดฟเดจเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ, เดจเดจเตเดจเดพเดฏเดฟ เด…เดฑเดฟเดฏเดพเด‚. เดชเด•เตเดทเต‡, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดจเดฟเด™เตเด™เตพ เดตเดฟเดญเดตเด™เตเด™เดณเต† เด•เดพเดฐเตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เดฆเตเดทเตเดŸ เดชเดฟเดจเต‹เดšเตเดšเดฟเดฏเต‹ เด†เดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด’เดฐเต เดŠเดจเตเดจเตเดตเดŸเดฟ เดšเต†เดฏเตเดฏเตเด‚ ...

เด…เดคเต เดŽเด™เตเด™เดจเต† เดฐเต‚เดชเด•เตฝเดชเดจ เดšเต†เดฏเตเดฏเดฃเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต?

เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚/VKontakte เดŸเต€เด‚ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เดณเตเดŸเต† เด—เดคเดพเด—เดค (เดคเดพเดดเตเดจเตเดจ) เดคเดฒเดคเตเดคเดฟเดฒเตเด‚ เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ เด…เดตเดฐเตเดŸเต† เด•เตเดฑเดžเตเดž เดฏเต‹เด—เตเดฏเดคเด•เดณเดฟเดฒเตเด‚ เดตเดณเดฐเต† เด•เดดเดฟเดตเตเดณเตเดณเดตเดฐเดฒเตเดฒเต†เดจเตเดจเต เดฎเตเด•เดณเดฟเตฝ เดชเดฑเดžเตเดž เดตเดธเตเดคเตเดคเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดžเดพเตป เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเต.

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เด‡เดคเต เดตเดณเดฐเต† เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏเดคเต, เดŸเต†เดฒเดฟเด—เตเดฐเดพเด‚ เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดฑเตเดฑเตเด•เตพเด•เตเด•เต เดŽเด™เตเด™เดจเต† เดŽเดคเดฟเตผเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚? TCP เด•เดฃเด•เตเดทเดจเต† เด…เดคเดฟเดœเต€เดตเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดธเต†เดทเตป เด‰เดฃเตเดŸเดพเด•เตเด•เดพเตป เด…เดตเตผ เดถเตเดฐเดฎเดฟเดšเตเดšเต เดŽเดจเตเดจ เดตเดธเตเดคเตเดค เดคเด•เดฐเตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต, เด‡เดชเตเดชเต‹เตพ เดกเต†เดฒเดฟเดตเตผ เดšเต†เดฏเตเดฏเดพเดคเตเดคเดคเต, เดžเด™เตเด™เตพ เดชเดฟเดจเตเดจเต€เดŸเต เดกเต†เดฒเดฟเดตเตผ เดšเต†เดฏเตเดฏเตเด‚. เด…เดตเตผ เด’เดฐเตเดชเด•เตเดทเต‡ เด’เดฐเต เดฏเตเดกเดฟเดชเดฟ เด—เดคเดพเด—เดคเด‚ เดจเดŸเดคเตเดคเดพเดจเตเด‚ เดถเตเดฐเดฎเดฟเดšเตเดšเต, เดชเด•เตเดทเต‡ เด…เดตเตผ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด•เตพ เดจเต‡เดฐเดฟเดŸเตเด•เดฏเตเด‚ เด…เดคเต เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต (เด…เดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเตป เดถเต‚เดจเตเดฏเดฎเดพเดฏเดคเต - เดตเต€เดฎเตเดชเดฟเดณเด•เตเด•เดพเตป เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ). เดŽเดจเตเดจเดพเตฝ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เตพ เดชเตŠเดคเตเดตเต†เดฏเตเด‚ เดŸเดฟเดธเดฟเดชเดฟ เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดตเดฟเดŸเต† เด†เดถเตเดฐเดฏเดฟเด•เตเด•เดพเด‚, เดŽเดตเดฟเดŸเต†เดฏเดพเดฃเต เดจเดฟเด™เตเด™เตพ เด…เดคเต เดธเตเดตเดฏเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต (เดŽเด™เตเด™เดจเต†), เด‡เดคเต เด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเต‹เด—เตเดฐเดพเดซเดฟเดฏเตเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดถเตเดฐเดฎเดตเตเด‚ เด•เดพเดฐเดฃเด‚ โ€œเดฐเดฃเตเดŸเต เดชเด•เตเดทเดฟเด•เตพ เด’เดฐเต เด•เดฒเตเดฒเต", เด‡เดคเดพเดฃเต เดซเดฒเด‚.

เด…เดคเต เดŽเด™เตเด™เดจเต† เด†เดตเดถเตเดฏเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต? เดŽเดจเตเดจ เดตเดธเตเดคเตเดคเดฏเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ msg_id เดฑเต€เดชเตเดฒเต‡ เด†เด•เตเดฐเดฎเดฃเด™เตเด™เตพ เดคเดŸเดฏเดพเตป เด•เตเดฐเดฟเดชเตโ€Œเดฑเตเดฑเต‹เด—เตเดฐเดพเดซเดฟเด•เต เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ เดจเดฟเดจเตเดจเต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŸเตˆเด‚เดธเตเดฑเตเดฑเดพเดฎเตเดชเต เด†เดฃเต, เด…เดคเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด…เดฆเตเดตเดฟเดคเต€เดฏ เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เดซเด‚เด—เตโ€Œเดทเตป เด…เดฑเตเดฑเดพเดšเตเดšเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เด’เดฐเต เดคเต†เดฑเตเดฑเดพเดฃเต. เด…เดคเดฟเดจเดพเตฝ, เดจเดฟเดฒเดตเดฟเดฒเต† เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเตผ เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ เดฎเดพเดฑเตเดฑเดพเดคเต† เดคเดจเตเดจเต† (เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดธเตเดŸเตเดฐเต€เด‚ เดœเดจเดฑเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดˆ เดชเต‹เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดฎเดฑเตเดฑเตŠเดฐเต เดญเดพเด—เดคเตเดคเดฟเดจเตเดฑเต† เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ API เดตเดฟเดทเดฏเดฎเดพเดฃเดฟเดคเต), เด’เดฐเดพเตพเด•เตเด•เต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

  1. เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต TCP เด•เดฃเด•เตเดทเตป เด•เตˆเดตเดถเด‚ เดตเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเต†เตผเดตเตผ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด‚ เดเดฑเตเดฑเต†เดŸเตเด•เตเด•เตเดจเตเดจเต - เด…เดคเต เดธเต‹เด•เตเด•เดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดพเดฏเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เดชเดฟเดถเด•เต เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เตเด•, เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเด• เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดคเดฟเดฐเดฟเด•เต† เดจเตฝเด•เตเด•, เดจเดทเตเดŸเด™เตเด™เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ. เด…เดชเตเดชเต‹เตพ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฃเด‚ เดเดกเดฟเด•เดณเตเดŸเต† เดตเต†เด•เตโ€ŒเดŸเดฑเดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต โ€œเด…เดตเดธเดพเดจเด‚ เดฒเดญเดฟเดšเตเดš seq_noโ€ - TCP-เดฏเดฟเดฒเต† เดชเต‹เดฒเต† เด’เดฐเต เดธเด‚เด–เตเดฏ (เดฐเดฃเตเดŸเต เดจเดฎเตเดชเดฑเตเด•เตพ - เดจเดฟเด™เตเด™เดณเตเดŸเต† seq เด‰เด‚ เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเดšเตเดšเดคเตเด‚). เดžเด™เตเด™เตพ เดŽเดฒเตเดฒเดพเดฏเตโ€Œเดชเตเดชเต‹เดดเตเด‚ เดธเต†เดทเดจเดฟเดฒเดพเดฃเต, เด…เดฒเตเดฒเต‡?
  2. เดฑเต€เดชเตเดฒเต‡ เด†เด•เตเดฐเดฎเดฃเด™เตเด™เตพ เดคเดŸเดฏเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดŸเตˆเด‚เดธเตเดฑเตเดฑเดพเดฎเตเดชเต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดซเต€เตฝเดกเดพเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต, เด’เดฐเต เดฒเดพ เดจเต‹เตปเดธเต. เด‡เดคเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เดฎเดฑเตเดฑเตŠเดจเตเดจเดฟเดจเต†เดฏเตเด‚ เดฌเดพเดงเดฟเด•เตเด•เดฟเดฒเตเดฒ. เดฎเดคเดฟ เด’เดชเตเดชเด‚ uint32 - เดจเดฎเตเดฎเตเดŸเต† เด‰เดชเตเดชเต เด•เตเดฑเดžเตเดžเดคเต เด“เดฐเต‹ เดชเด•เตเดคเดฟ เดฆเดฟเดตเดธเดตเตเด‚ เดฎเดพเดฑเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเดฒเดตเดฟเดฒเต† เดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดชเต‚เตผเดฃเตเดฃเดธเด‚เด–เตเดฏเดฏเตเดŸเต† เดฒเต‹-เด“เตผเดกเตผ เดฌเดฟเดฑเตเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต 16 เดฌเดฟเดฑเตเดฑเตเด•เตพ เด…เดจเตเดตเดฆเดฟเด•เตเด•เดพเด‚, เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดต - เด’เดฐเต เดธเต†เด•เตเด•เตปเดกเดฟเดจเตเดฑเต† เด’เดฐเต เดญเดพเด—เดคเตเดคเต‡เด•เตเด•เต (เด‡เดชเตเดชเต‹เดดเดคเตเดคเต‡เดคเต เดชเต‹เดฒเต†).
  3. เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดคเต msg_id เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดฒเตเด‚ - เดฌเดพเด•เตเด•เต†เตปเดกเตเด•เดณเดฟเดฒเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเต† เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ, เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เด•เตเดฒเดฏเดจเตเดฑเต เดเดกเดฟเดฏเตเด‚ เดฐเดฃเตเดŸเดพเดฎเดคเดพเดฏเดฟ, เดธเต†เดทเตป เดเดกเดฟเดฏเตเด‚ เด‰เดฃเตเดŸเต. เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเดพเดฏเดฟ เด’เดฐเต เด•เดพเดฐเตเดฏเด‚ เดฎเดพเดคเตเดฐเด‚ เดฎเดคเดฟ seq_no.

เด‡เดคเต เดเดฑเตเดฑเดตเตเด‚ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏ เด“เดชเตเดทเดจเดฒเตเดฒ; เด’เดฐเต เดธเดฎเตเดชเต‚เตผเดฃเตเดฃ เดฑเดพเตปเดกเด‚ เด’เดฐเต เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚ - เด’เดฐเต เดธเดจเตเดฆเต‡เดถเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดฎเตเดชเต‹เตพ เด‡เดคเต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด‰เดฏเตผเดจเตเดจ เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ API-เตฝ เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดตเดพเดธเตเดคเตเดตเดฟเดฆเตเดฏเดฏเต† เด†เดชเต‡เด•เตเดทเดฟเด•เดคเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เต‡เดตเดฒเดฎเดพเดฏเดฟ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต เดจเดฒเตเดฒเดคเต, เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดฎเดฑเตเดฑเตŠเดฐเต เดญเดพเด—เดคเตเดคเดฟเดจเตเดณเตเดณ เดตเดฟเดทเดฏเดฎเดพเดฃเต, เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฒเตเดฒ.

API?

เดคเดพ-เดฆเดพเด‚! เด…เดคเดฟเดจเดพเตฝ, เดตเต‡เดฆเดจเดฏเตเด‚ เดŠเดจเตเดจเตเดตเดŸเดฟเดฏเตเด‚ เดจเดฟเดฑเดžเตเดž เด’เดฐเต เดชเดพเดคเดฏเดฟเดฒเต‚เดŸเต† เดชเต‹เดฐเดพเดŸเดฟเดฏ เดžเด™เตเด™เตพเด•เตเด•เต เด’เดŸเตเดตเดฟเตฝ เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เดเดคเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเด‚ เด…เดฏเดฏเตโ€Œเด•เตเด•เดพเดจเตเด‚ เด…เดตเดฏเตเด•เตเด•เต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดคเตเดคเดฐเด™เตเด™เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เดธเต†เตผเดตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเตเด•เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดžเตเดžเต (เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเดŸเต† เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดฒเตเดฒ, เด…เดคเต เดคเดจเตเดจเต†. เด†เตผเด•เตเด•เต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดคเต เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดชเตเดทเต เดชเต‹เดฒเต† เดžเด™เตเด™เตพเด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต).

เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•, เด‡เดชเตเดชเต‹เตพ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดชเต‡เดณเดฟเดฒเต† เด’เดฐเต‡เดฏเตŠเดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‰เดฃเตเดŸเดพเด•เตเด‚! (เดตเดพเด•เตเดฏเด˜เดŸเดจ เดชเดฐเดฟเดšเดฟเดคเดฎเดฒเตเดฒเดพเดคเตเดคเดตเตผเด•เตเด•เต, เด…เดจเตเด—เตเดฐเดนเดคเตเดคเดฟเดจเตเดฑเต† เด†เดฆเตเดฏ เดตเดพเดฆเด‚ เดตเดธเตเดคเตเดตเดฟเดจเตเดฑเต† เดกเดพเดฑเตเดฑเดพ เด˜เดŸเดจเดฏเดพเดฃเต, เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต เด…เดคเดฟเดจเตเดฑเต† เด•เตเดฒเดพเดธเดพเดฃเต):

2019.10.24 12:00:51 $1 = {
'cb' => 'TeleUpd::__ANON__',
'out' => bless( {
'filter' => bless( {}, 'Telegram::ChannelMessagesFilterEmpty' ),
'channel' => bless( {
'access_hash' => '-6698103710539760874',
'channel_id' => '1380524958'
}, 'Telegram::InputPeerChannel' ),
'pts' => '158503',
'flags' => 0,
'limit' => 0
}, 'Telegram::Updates::GetChannelDifference' ),
'req_id' => '6751291954012037292'
};
2019.10.24 12:00:51 $1 = {
'in' => bless( {
'req_msg_id' => '6751291954012037292',
'result' => bless( {
'pts' => 158508,
'flags' => 3,
'final' => 1,
'new_messages' => [],
'users' => [],
'chats' => [
bless( {
'title' => 'ะฅัƒะปะธะฝะพะผะธะบะฐ',
'username' => 'hoolinomics',
'flags' => 8288,
'id' => 1380524958,
'access_hash' => '-6698103710539760874',
'broadcast' => 1,
'version' => 0,
'photo' => bless( {
'photo_small' => bless( {
'volume_id' => 246933270,
'file_reference' => '
'secret' => '1854156056801727328',
'local_id' => 228648,
'dc_id' => 2
}, 'Telegram::FileLocation' ),
'photo_big' => bless( {
'dc_id' => 2,
'local_id' => 228650,
'file_reference' => '
'secret' => '1275570353387113110',
'volume_id' => 246933270
}, 'Telegram::FileLocation' )
}, 'Telegram::ChatPhoto' ),
'date' => 1531221081
}, 'Telegram::Channel' )
],
'timeout' => 300,
'other_updates' => [
bless( {
'pts_count' => 0,
'message' => bless( {
'post' => 1,
'id' => 852,
'flags' => 50368,
'views' => 8013,
'entities' => [
bless( {
'length' => 20,
'offset' => 0
}, 'Telegram::MessageEntityBold' ),
bless( {
'length' => 18,
'offset' => 480,
'url' => 'https://alexeymarkov.livejournal.com/[url_ะฒั‹ั€ะตะทะฐะฝ].html'
}, 'Telegram::MessageEntityTextUrl' )
],
'reply_markup' => bless( {
'rows' => [
bless( {
'buttons' => [
bless( {
'text' => '???? 165',
'data' => 'send_reaction_0'
}, 'Telegram::KeyboardButtonCallback' ),
bless( {
'data' => 'send_reaction_1',
'text' => '???? 9'
}, 'Telegram::KeyboardButtonCallback' )
]
}, 'Telegram::KeyboardButtonRow' )
]
}, 'Telegram::ReplyInlineMarkup' ),
'message' => 'ะ ะฒะพั‚ ะธ ะฝะพะฒะฐั ะบะฝะธะณะฐ! 
// [ั‚ะตะบัั‚ ัะพะพะฑั‰ะตะฝะธั ะฒั‹ั€ะตะทะฐะฝ ั‡ั‚ะพะฑ ะฝะต ะฝะฐั€ัƒัˆะฐั‚ัŒ ะฟั€ะฐะฒะธะป ะฅะฐะฑั€ะฐ ะพ ั€ะตะบะปะฐะผะต]
ะฝะฐะฟะตั‡ะฐั‚ะฐัŽ.',
'to_id' => bless( {
'channel_id' => 1380524958
}, 'Telegram::PeerChannel' ),
'date' => 1571724559,
'edit_date' => 1571907562
}, 'Telegram::Message' ),
'pts' => 158508
}, 'Telegram::UpdateEditChannelMessage' ),
bless( {
'pts' => 158508,
'message' => bless( {
'edit_date' => 1571907589,
'to_id' => bless( {
'channel_id' => 1380524958
}, 'Telegram::PeerChannel' ),
'date' => 1571807301,
'message' => 'ะŸะพั‡ะตะผัƒ ะ’ั‹ ัั‡ะธั‚ะฐะตั‚ะต Facebook ะฟะปะพั…ะพะน ะบะพะผะฟะฐะฝะธะตะน? ะœะพะถะตั‚ะต ะฟั€ะพะบะพะผะผะตะฝั‚ะธั€ะพะฒะฐั‚ัŒ? ะŸะพ-ะผะพะตะผัƒ, ัั‚ะพ ัˆะธะบะฐั€ะฝะฐั ะบะพะผะฟะฐะฝะธั. ะ‘ะตะท ะดะพะปะณะพะฒ, ั ั…ะพั€ะพัˆะตะน ะฟั€ะธะฑั‹ะปัŒัŽ, ะฐ ะตัะปะธ ั€ะตัˆะฐั‚ ะดะธะฒั‹ ะฟะปะฐั‚ะธั‚ัŒ, ั‚ะพ ะธ ะตั‰ะต ะผะพะณัƒั‚ ะฝะตั…ะธะปะพ ะฟะพะดะพั€ะพะถะฐั‚ัŒ.
ะ”ะปั ะผะตะฝั ะพั‚ะฒะตั‚ ัะพะฒะตั€ัˆะตะฝะฝะพ ะพั‡ะตะฒะธะดะตะฝ: ะฟะพั‚ะพะผัƒ ั‡ั‚ะพ Facebook ะดะตะปะฐะตั‚ ัƒะถะฐัะฝั‹ะน ะฟะพ ะบะฐั‡ะตัั‚ะฒัƒ ะฟั€ะพะดัƒะบั‚. ะ”ะฐ, ัƒ ะฝะตะณะพ ะผะพะฝะพะฟะพะปัŒะฝะพะต ะฟะพะปะพะถะตะฝะธะต ะธ ะดะฐ, ะธะผ ะฟะพะปัŒะทัƒะตั‚ัั ะพะณั€ะพะผะฝะพะต ะบะพะปะธั‡ะตัั‚ะฒะพ ะปัŽะดะตะน. ะะพ ะผะธั€ ะฝะต ัั‚ะพะธั‚ ะฝะฐ ะผะตัั‚ะต. ะšะพะณะดะฐ-ั‚ะพ ะฒะปะฐะดะตะปัŒั†ะฐะผ ะะพะบะธะธ ะฑั‹ะปะพ ัะผะตัˆะฝะพ ะพั‚ ะฟะตั€ะฒะพะณะพ ะะนั„ะพะฝะฐ. ะžะฝะธ ะดัƒะผะฐะปะธ, ั‡ั‚ะพ ะปัƒั‡ัˆะต ะะพะบะธะธ ะฝะธั‡ะตะณะพ ะฑั‹ั‚ัŒ ะฝะต ะผะพะถะตั‚ ะธ ะพะฝะฐ ะฝะฐะฒัะตะณะดะฐ ะพัั‚ะฐะฝะตั‚ัั ัะฐะผั‹ะผ ัƒะดะพะฑะฝั‹ะผ, ะบั€ะฐัะธะฒั‹ะผ ะธ ั‚ะฒั‘ั€ะดั‹ะผ ั‚ะตะปะตั„ะพะฝะพะผ - ะธ ะดะพะปั ั€ั‹ะฝะบะฐ ัั‚ะพ ะบั€ะฐัะฝะพั€ะตั‡ะธะฒะพ ะดะตะผะพะฝัั‚ั€ะธั€ะพะฒะฐะปะฐ. ะขะตะฟะตั€ัŒ ะธะผ ะฝะต ัะผะตัˆะฝะพ.
ะšะพะฝะตั‡ะฝะพ, ั€ะตะฟั‚ะธะปะพะธะดั‹ ัะพะฟั€ะพั‚ะธะฒะปััŽั‚ัั ะฝะฐะฟะพั€ัƒ ะผะพะปะพะดั‹ั… ะณะตะฝะธะตะฒ: ั‚ะฐะบ ะฆัƒะบะตั€ะฑะตั€ะณะพะผ ะฑั‹ะป ะฟะพะถั€ะฐะฝ Whatsapp, ะฟะพั‚ะพะผ Instagram. ะะพ ะฒัั‘ ะธะผ ะฝะต ะฟะพะถั€ะฐั‚ัŒ, ะŸะฐัˆะฐ ะ”ัƒั€ะพะฒ ะฝะต ะฟั€ะพะดะฐั‘ั‚ัั!
ะขะฐะบ ะฑัƒะดะตั‚ ะธ ั ะคะตะนัะฑัƒะบะพะผ. ะะตะปัŒะทั ะฒัั‘ ะฒั€ะตะผั ะดะตะปะฐั‚ัŒ ะณะพะฒะฝะพ. ะšั‚ะพ-ั‚ะพ ะบะพะณะดะฐ-ั‚ะพ ัะดะตะปะฐะตั‚ ั…ะพั€ะพัˆะธะน ะฟั€ะพะดัƒะบั‚, ะบัƒะดะฐ ะฒัั‘ ะธ ัƒะนะดัƒั‚.
#ัะพั†ัะตั‚ะธ #facebook #ะฐะบั†ะธะธ #ั€ะตะฟั‚ะธะปะพะธะดั‹',
'reply_markup' => bless( {
'rows' => [
bless( {
'buttons' => [
bless( {
'data' => 'send_reaction_0',
'text' => '???? 452'
}, 'Telegram::KeyboardButtonCallback' ),
bless( {
'text' => '???? 21',
'data' => 'send_reaction_1'
}, 'Telegram::KeyboardButtonCallback' )
]
}, 'Telegram::KeyboardButtonRow' )
]
}, 'Telegram::ReplyInlineMarkup' ),
'entities' => [
bless( {
'length' => 199,
'offset' => 0
}, 'Telegram::MessageEntityBold' ),
bless( {
'length' => 8,
'offset' => 919
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'offset' => 928,
'length' => 9
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'length' => 6,
'offset' => 938
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'length' => 11,
'offset' => 945
}, 'Telegram::MessageEntityHashtag' )
],
'views' => 6964,
'flags' => 50368,
'id' => 854,
'post' => 1
}, 'Telegram::Message' ),
'pts_count' => 0
}, 'Telegram::UpdateEditChannelMessage' ),
bless( {
'message' => bless( {
'reply_markup' => bless( {
'rows' => [
bless( {
'buttons' => [
bless( {
'data' => 'send_reaction_0',
'text' => '???? 213'
}, 'Telegram::KeyboardButtonCallback' ),
bless( {
'data' => 'send_reaction_1',
'text' => '???? 8'
}, 'Telegram::KeyboardButtonCallback' )
]
}, 'Telegram::KeyboardButtonRow' )
]
}, 'Telegram::ReplyInlineMarkup' ),
'views' => 2940,
'entities' => [
bless( {
'length' => 609,
'offset' => 348
}, 'Telegram::MessageEntityItalic' )
],
'flags' => 50368,
'post' => 1,
'id' => 857,
'edit_date' => 1571907636,
'date' => 1571902479,
'to_id' => bless( {
'channel_id' => 1380524958
}, 'Telegram::PeerChannel' ),
'message' => 'ะŸะพัั‚ ะฟั€ะพ 1ะก ะฒั‹ะทะฒะฐะป ะฑัƒั€ะฝัƒัŽ ะฟะพะปะตะผะธะบัƒ. ะงะตะปะพะฒะตะบ 10 (ะฒะธะดะธะผะพ, 1ั-ะฟั€ะพะณั€ะฐะผะผะธัั‚ะพะฒ) ะตะดะธะฝะพะดัƒัˆะฝะพ ะฝะฐะฟะธัะฐะปะธ:
// [ั‚ะตะบัั‚ ัะพะพะฑั‰ะตะฝะธั ะฒั‹ั€ะตะทะฐะฝ ั‡ั‚ะพะฑ ะฝะต ะฝะฐั€ัƒัˆะฐั‚ัŒ ะฟั€ะฐะฒะธะป ะฅะฐะฑั€ะฐ ะพ ั€ะตะบะปะฐะผะต]
ะฏ ะฑั‹ ะดะพะฑะฐะฒะธะป, ั‡ั‚ะพ ะฑะปะตัั‚ัั‰ะฐั ัƒ 1ะก ะดะธัั‚ั€ะธะฑัƒั†ะธั, ะฐ ะผะฐั€ะบะตั‚ะธะฝะณ... ะฝัƒ, ั‚ะฐะบะพะต.'
}, 'Telegram::Message' ),
'pts_count' => 0,
'pts' => 158508
}, 'Telegram::UpdateEditChannelMessage' ),
bless( {
'pts' => 158508,
'pts_count' => 0,
'message' => bless( {
'message' => 'ะ—ะดั€ะฐะฒัั‚ะฒัƒะนั‚ะต, ั€ะฐััะบะฐะถะธั‚ะต, ะฟะพะถะฐะปัƒะนัั‚ะฐ, ั‡ะตะผ ะฒั€ะตะดะธั‚ ัะบะพะฝะพะผะธะบะต 1ะก?
// [ั‚ะตะบัั‚ ัะพะพะฑั‰ะตะฝะธั ะฒั‹ั€ะตะทะฐะฝ ั‡ั‚ะพะฑ ะฝะต ะฝะฐั€ัƒัˆะฐั‚ัŒ ะฟั€ะฐะฒะธะป ะฅะฐะฑั€ะฐ ะพ ั€ะตะบะปะฐะผะต]
#ัะพั„ั‚ #it #ัะบะพะฝะพะผะธะบะฐ',
'edit_date' => 1571907650,
'date' => 1571893707,
'to_id' => bless( {
'channel_id' => 1380524958
}, 'Telegram::PeerChannel' ),
'flags' => 50368,
'post' => 1,
'id' => 856,
'reply_markup' => bless( {
'rows' => [
bless( {
'buttons' => [
bless( {
'data' => 'send_reaction_0',
'text' => '???? 360'
}, 'Telegram::KeyboardButtonCallback' ),
bless( {
'data' => 'send_reaction_1',
'text' => '???? 32'
}, 'Telegram::KeyboardButtonCallback' )
]
}, 'Telegram::KeyboardButtonRow' )
]
}, 'Telegram::ReplyInlineMarkup' ),
'views' => 4416,
'entities' => [
bless( {
'offset' => 0,
'length' => 64
}, 'Telegram::MessageEntityBold' ),
bless( {
'offset' => 1551,
'length' => 5
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'length' => 3,
'offset' => 1557
}, 'Telegram::MessageEntityHashtag' ),
bless( {
'offset' => 1561,
'length' => 10
}, 'Telegram::MessageEntityHashtag' )
]
}, 'Telegram::Message' )
}, 'Telegram::UpdateEditChannelMessage' )
]
}, 'Telegram::Updates::ChannelDifference' )
}, 'MTProto::RpcResult' )
};
2019.10.24 12:00:51 $1 = {
'in' => bless( {
'update' => bless( {
'user_id' => 2507460,
'status' => bless( {
'was_online' => 1571907651
}, 'Telegram::UserStatusOffline' )
}, 'Telegram::UpdateUserStatus' ),
'date' => 1571907650
}, 'Telegram::UpdateShort' )
};
2019.10.24 12:05:46 $1 = {
'in' => bless( {
'chats' => [],
'date' => 1571907946,
'seq' => 0,
'updates' => [
bless( {
'max_id' => 141719,
'channel_id' => 1295963795
}, 'Telegram::UpdateReadChannelInbox' )
],
'users' => []
}, 'Telegram::Updates' )
};
2019.10.24 13:01:23 $1 = {
'in' => bless( {
'server_salt' => '4914425622822907323',
'unique_id' => '5297282355827493819',
'first_msg_id' => '6751307555044380692'
}, 'MTProto::NewSessionCreated' )
};
2019.10.24 13:24:21 $1 = {
'in' => bless( {
'chats' => [
bless( {
'username' => 'freebsd_ru',
'version' => 0,
'flags' => 5440,
'title' => 'freebsd_ru',
'min' => 1,
'photo' => bless( {
'photo_small' => bless( {
'local_id' => 328733,
'volume_id' => 235140688,
'dc_id' => 2,
'file_reference' => '
'secret' => '4426006807282303416'
}, 'Telegram::FileLocation' ),
'photo_big' => bless( {
'dc_id' => 2,
'file_reference' => '
'volume_id' => 235140688,
'local_id' => 328735,
'secret' => '71251192991540083'
}, 'Telegram::FileLocation' )
}, 'Telegram::ChatPhoto' ),
'date' => 1461248502,
'id' => 1038300508,
'democracy' => 1,
'megagroup' => 1
}, 'Telegram::Channel' )
],
'users' => [
bless( {
'last_name' => 'Panov',
'flags' => 1048646,
'min' => 1,
'id' => 82234609,
'status' => bless( {}, 'Telegram::UserStatusRecently' ),
'first_name' => 'Dima'
}, 'Telegram::User' )
],
'seq' => 0,
'date' => 1571912647,
'updates' => [
bless( {
'pts' => 137596,
'message' => bless( {
'flags' => 256,
'message' => 'ะกะพะทะดะฐั‚ัŒ ะดะถะตะนะป ั ะธะผะตะฝะตะผ ะฟะพะบะพั€ะพั‡ะต ??',
'to_id' => bless( {
'channel_id' => 1038300508
}, 'Telegram::PeerChannel' ),
'id' => 119634,
'date' => 1571912647,
'from_id' => 82234609
}, 'Telegram::Message' ),
'pts_count' => 1
}, 'Telegram::UpdateNewChannelMessage' )
]
}, 'Telegram::Updates' )
};

เด…เดคเต†, เดฎเดจเดชเตเดชเต‚เตผเดตเตเดตเด‚ เด’เดฐเต เดธเตโ€Œเดชเต‹เดฏเดฟเดฒเตผ เด…เดฒเตเดฒ - เดจเดฟเด™เตเด™เตพ เด‡เดคเต เด‡เดคเตเดตเดฐเต† เดตเดพเดฏเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดฎเตเดจเตเดจเต‹เดŸเตเดŸเต เดชเต‹เดฏเดฟ เด…เดคเต เดšเต†เดฏเตเดฏเตเด•!

เด“, เดตเดพเดฏเต~~... เด‡เดคเต เดŽเด™เตเด™เดจเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเดจเตเดจเต? เดตเดณเดฐเต† เดชเดฐเดฟเดšเดฟเดคเดฎเดพเดฏ เดŽเดจเตเดคเต‹ เด’เดจเตเดจเต... เด’เดฐเตเดชเด•เตเดทเต‡ เด‡เดคเต JSON-เดฒเต† เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดตเต†เดฌเต API-เดฏเตเดŸเต† เดกเดพเดฑเตเดฑเดพ เด˜เดŸเดจเดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚, เด•เตเดฒเดพเดธเตเด•เดณเตเด‚ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเตเด•เดณเดฟเตฝ เด…เดฑเตเดฑเดพเดšเตเดšเต เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเตŠเดดเดฟเดšเตเดšเดพเตฝ?..

เด…เดชเตเดชเต‹ เด‡เด™เตเด™เดจเต†เดฏเตŠเด•เตเด•เต†เดฏเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต... เดŽเดจเตเดคเดพเดฃเต เดธเด–เดพเด•เตเด•เดณเต‡? เดคเตเดŸเด™เตเด™เตเดจเตเดจเต?..เดŽเดšเตเดšเตเดŸเดฟเดŸเดฟเดชเดฟเดŽเดธเดฟเดฒเต‚เดŸเต†เดฏเตเดณเตเดณ JSON เดฎเดพเดคเตเดฐเด‚ เดฒเดณเดฟเดคเดฎเดพเด•เดฟเดฒเตเดฒเต‡?! เดชเด•เดฐเด‚ เดจเดฎเตเด•เตเด•เต เดŽเดจเตเดคเดพเดฃเต เดฒเดญเดฟเดšเตเดšเดคเต? เดชเตเดฐเดฏเดคเตเดจเด‚ เดตเดฟเดฒเดชเตเดชเต†เดŸเตเดŸเต‹?

TL+MTPproto เดŽเดจเตเดคเดพเดฃเต เดžเด™เตเด™เตพเด•เตเด•เต เดจเตฝเด•เดฟเดฏเดคเต†เดจเตเดจเตเด‚ เดเดคเตŠเด•เตเด•เต† เด‡เดคเดฐเดฎเดพเตผเด—เด™เตเด™เตพ เดธเดพเดงเตเดฏเดฎเดพเดฃเต†เดจเตเดจเตเด‚ เดจเดฎเตเด•เตเด•เต เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเดพเด‚. เดถเดฐเดฟ, เด…เดญเตเดฏเตผเดคเตเดฅเดจ-เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดฎเต‹เดกเดฒเดฟเตฝ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ HTTP, เด’เดฐเต เดฎเต‹เดถเด‚ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต‹, เดŽเดจเตเดจเดพเตฝ TLS-เดจเต เดฎเตเด•เดณเดฟเตฝ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเต‹?

เด•เต‹เด‚เดชเดพเด•เตเดŸเต เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต‡เดทเตป. JSON-เดจเต เดธเดฎเดพเดจเดฎเดพเดฏ เดˆ เดกเดพเดฑเตเดฑเดพ เด˜เดŸเดจ เด•เดพเดฃเตเดฎเตเดชเต‹เตพ, เด‡เดคเดฟเดจเตเดฑเต† เดฌเตˆเดจเดฑเดฟ เดชเดคเดฟเดชเตเดชเตเด•เตพ เด‰เดฃเตเดŸเต†เดจเตเดจเต เดžเดพเตป เด“เตผเด•เตเด•เตเดจเตเดจเต. เดจเดฎเตเด•เตเด•เต MsgPack เดตเต‡เดฃเตเดŸเดคเตเดฐ เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดพเดคเตเดคเดคเดพเดฏเดฟ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚, เดชเด•เตเดทเต‡, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, CBOR - เด’เดฐเต เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต RFC 7049. เด…เดคเต เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเต‡เดฏเดฎเดพเดฃเต เดŸเดพเด—เตเด•เตพ, เด’เดฐเต เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃ เดธเด‚เดตเดฟเดงเดพเดจเดฎเดพเดฏเดฟ, เด’เดชเตเดชเด‚ เด‡เดคเดฟเดจเด•เด‚ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดฃเตเดŸเต เดฒเดญเตเดฏเดฎเดพเดฃเต:

  • 25 + 256 - เด†เดตเตผเดคเตเดคเดฟเดšเตเดšเตเดณเตเดณ เดตเดฐเดฟเด•เตพ เดฒเตˆเตป เดจเดฎเตเดชเดฑเดฟเดฒเต‡เด•เตเด•เต เดฑเดซเดฑเตปเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดตเดฟเดฒเด•เตเดฑเดžเตเดž เด•เด‚เดชเตเดฐเดทเตป เดฐเต€เดคเดฟ
  • 26 - เด•เตเดฒเดพเดธเต เดจเดพเดฎเดตเตเด‚ เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเตเด‚ เด‰เดณเตเดณ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต เดšเต†เดฏเตเดค เดชเต‡เตพ เด’เดฌเตเดœเด•เตเดฑเตเดฑเต
  • 27 - เดคเดฐเด‚ เดจเดพเดฎเดตเตเด‚ เด•เตบเดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเตผ เด†เตผเด—เตเดฏเตเดฎเต†เดจเตเดฑเตเด•เดณเตเด‚ เด‰เดณเตเดณ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต เดšเต†เดฏเตเดค เดญเดพเดทเดพ-เดธเตเดตเดคเดจเตเดคเตเดฐ เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเต

เดถเดฐเดฟ, เดธเตเดŸเตเดฐเดฟเด‚เด—เตเด‚ เด’เดฌเตโ€Œเดœเด•เตโ€Œเดฑเตเดฑเต เดชเดพเด•เตเด•เดฟเด‚เด—เตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟ TL-เดฒเตเด‚ CBOR-เดฒเตเด‚ เด’เดฐเต‡ เดกเดพเดฑเตเดฑ เดธเต€เดฐเดฟเดฏเดฒเตˆเดธเต เดšเต†เดฏเตเดฏเดพเตป เดžเดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเต. เดซเดฒเด‚ เด’เดฐเต เดฎเต†เด—เดพเดฌเตˆเดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเดตเดฟเดŸเต†เดฏเต‹ CBOR-เดจเต เด…เดจเตเด•เต‚เดฒเดฎเดพเดฏเดฟ เดตเตเดฏเดคเตเดฏเดพเดธเดชเตเดชเต†เดŸเดพเตป เดคเตเดŸเด™เตเด™เดฟ:

cborlen=1039673 tl_len=1095092

เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‰เดชเดธเด‚เดนเดพเดฐเด‚: เดธเดฟเตปเด•เตเดฐเตŠเดฃเตˆเดธเต‡เดทเตป เดชเดฐเดพเดœเดฏเดคเตเดคเดฟเดจเตเดฑเต†เดฏเต‹ เด…เดœเตเดžเดพเดค เดเดกเดจเตเดฑเดฟเดซเดฏเดฑเดฟเดจเตเดฑเต†เดฏเต‹ เดชเตเดฐเดถเตโ€Œเดจเดคเตเดคเดฟเดจเต เดตเดฟเดงเต‡เดฏเดฎเดฒเตเดฒเดพเดคเตเดค, เดคเดพเดฐเดคเดฎเตเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดตเตเดจเตเดจ เด•เดพเดฐเตเดฏเด•เตเดทเดฎเดคเดฏเต‹เดŸเต†, เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดฒเดณเดฟเดคเดฎเดพเดฏ เดซเต‹เตผเดฎเดพเดฑเตเดฑเตเด•เตพ เด‰เดฃเตเดŸเต.

เดตเต‡เด—เดคเตเดคเดฟเดฒเตเดณเตเดณ เด•เดฃเด•เตเดทเตป เดธเตเดฅเดพเดชเดจเด‚. เด‡เดคเดฟเดจเตผเดคเตเดฅเด‚ เดชเตเดจเดƒเดธเด‚เดฏเต‹เดœเดจเดคเตเดคเดฟเดจเต เดถเต‡เดทเด‚ เดชเต‚เดœเตเดฏเด‚ RTT (เด•เต€ เด‡เดคเดฟเดจเด•เด‚ เด’เดฐเต เดคเดตเดฃ เดœเดจเดฑเต‡เดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ) - เด†เดฆเตเดฏเดคเตเดคเต† MTPproto เดธเดจเตเดฆเต‡เดถเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฌเดพเดงเด•เดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เดšเดฟเดฒ เดฑเดฟเดธเตผเดตเต‡เดทเดจเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ - เด…เดคเต‡ เด‰เดชเตเดชเต เด…เดŸเดฟเด•เตเด•เตเด•, เดธเต†เดทเตป เดšเต€เดžเตเดžเดคเดฒเตเดฒ, เดฎเตเดคเดฒเดพเดฏเดต. เดชเด•เดฐเด‚ TLS เดŽเดจเตเดคเดพเดฃเต เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต? เดตเดฟเดทเดฏเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด‰เดฆเตเดงเดฐเดฃเดฟ:

TLS-เตฝ PFS เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, TLS เดธเต†เดทเตป เดŸเดฟเด•เตเด•เดฑเตเดฑเตเด•เตพ (RFC 5077) เด•เต€เด•เตพ เดตเต€เดฃเตเดŸเตเด‚ เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเดพเดคเต†เดฏเตเด‚ เดธเต†เตผเดตเดฑเดฟเตฝ เดชเตเดฐเดงเดพเดจ เดตเดฟเดตเดฐเด™เตเด™เตพ เดธเต‚เด•เตเดทเดฟเด•เตเด•เดพเดคเต†เดฏเตเด‚ เด’เดฐเต เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดธเต†เดทเตป เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต. เด†เดฆเตเดฏ เด•เดฃเด•เตเดทเตป เดคเตเดฑเดจเตเดจเต เด•เต€เด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดธเต†เตผเดตเตผ เด•เดฃเด•เตเดทเตป เดจเดฟเดฒ เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เด•เตเดฒเดฏเดจเตเดฑเดฟเดฒเต‡เด•เตเด•เต เด•เตˆเดฎเดพเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต (เด’เดฐเต เดธเต†เดทเตป เดŸเดฟเด•เตเด•เดฑเตเดฑเดฟเดจเตเดฑเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ). เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เด•เดฃเด•เตเดทเตป เดชเตเดจเดฐเดพเดฐเด‚เดญเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด•เตเดฒเดฏเดจเตเดฑเต เดธเต†เดทเตป เด•เต€ เด‰เตพเดชเตเดชเต†เดŸเต† เด’เดฐเต เดธเต†เดทเตป เดŸเดฟเด•เตเด•เดฑเตเดฑเต เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต. เดŸเดฟเด•เตเด•เดฑเตเดฑเต เดคเดจเตเดจเต† เด’เดฐเต เดคเดพเตฝเด•เดพเดฒเดฟเด• เด•เต€ (เดธเต†เดทเตป เดŸเดฟเด•เตเด•เดฑเตเดฑเต เด•เต€) เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดธเต†เตผเดตเดฑเดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด•เตเดฒเดธเตเดฑเตเดฑเต‡เตผเดกเต เดธเตŠเดฒเตเดฏเต‚เดทเดจเตเด•เดณเดฟเตฝ SSL เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดซเตเดฐเดฃเตเดŸเตโ€ŒเดŽเตปเดกเต เดธเต†เตผเดตเดฑเตเด•เดณเดฟเดฒเตเด‚ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดตเต‡เดฃเด‚.[10]. เด…เดคเดฟเดจเดพเตฝ, เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด• เดธเต†เตผเดตเตผ เด•เต€เด•เตพ เดตเดฟเดŸเตเดŸเตเดตเต€เดดเตเดš เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เด’เดฐเต เดธเต†เดทเตป เดŸเดฟเด•เตเด•เดฑเตเดฑเดฟเดจเตเดฑเต† เด†เดฎเตเด–เด‚ PFS เดฒเด‚เด˜เดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดต เดฆเต€เตผเด˜เด•เดพเดฒเดคเตเดคเต‡เด•เตเด•เต เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ (เด“เดชเตเดชเตบเดŽเดธเตเดŽเดธเตเดŽเตฝ, nginx, Apache เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเดจเตเดฑเต† เดฎเตเดดเตเดตเตป เดธเดฎเดฏเดตเตเด‚ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต; เดœเดจเดชเตเดฐเดฟเดฏ เดธเตˆเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต เดจเดฟเดฐเดตเดงเดฟ เดฎเดฃเดฟเด•เตเด•เต‚เดฑเตเด•เตพเด•เตเด•เตเดณเตเดณ เดคเดพเด•เตเด•เต‹เตฝ, เดฆเดฟเดตเดธเด™เตเด™เตพ เดตเดฐเต†).

เด‡เดตเดฟเดŸเต† RTT เดชเต‚เดœเตเดฏเดฎเดฒเตเดฒ, เดจเดฟเด™เตเด™เตพ เด•เตเดฑเดžเตเดžเดคเต ClientHello, ServerHello เดŽเดจเตเดจเดฟเดต เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เด•เตเดฒเดฏเดจเตเดฑเต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟเดฏเดคเดฟเดจเตŠเดชเตเดชเด‚ เดกเดพเดฑเตเดฑ เด…เดฏเดฏเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดŽเดจเตเดจเดพเตฝ เด‡เดตเดฟเดŸเต† เดจเดฎเตเดฎเตพ เด“เตผเด•เตเด•เดฃเด‚, เดชเตเดคเดฟเดฏเดคเดพเดฏเดฟ เดคเตเดฑเดจเตเดจ เด•เดฃเด•เตเดทเดจเตเด•เดณเตเดŸเต† เด•เต‚เดŸเตเดŸเด‚ เด‰เดณเตเดณ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดตเต†เดฌเต เด‡เดฒเตเดฒ, เดฎเดฑเดฟเดšเตเดšเต เด’เดฐเต เดฎเต†เดธเดžเตเดšเตผ เด†เดฃเต, เด‡เดคเดฟเดจเตเดฑเต† เด•เดฃเด•เตเดทเตป เดชเดฒเดชเตเดชเต‹เดดเตเด‚ เด’เดจเตเดจเต‹ เด…เดคเดฟเดฒเดงเดฟเด•เดฎเต‹ เดฆเต€เตผเด˜เด•เดพเดฒ, เดตเต†เดฌเต เดชเต‡เดœเตเด•เดณเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดคเดพเดฐเดคเดฎเตเดฏเต‡เดจ เดนเตเดฐเดธเตเดตเดฎเดพเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเดพเดฃเต - เดŽเดฒเตเดฒเดพเด‚ เดฎเตพเดŸเตเดŸเดฟเดชเตเดฒเด•เตโ€Œเดธเต เดšเต†เดฏเตเดคเดคเดพเดฃเต. เด†เดจเตเดคเดฐเดฟเด•เดฎเดพเดฏเดฟ. เด…เดคเดพเดฏเดคเต, เดžเด™เตเด™เตพ เดตเดณเดฐเต† เดฎเต‹เดถเด‚ เดธเดฌเตโ€Œเดตเต‡ เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดŽเดคเตเดคเดฟเดฏเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดคเต เดคเดฟเด•เดšเตเดšเตเด‚ เดธเตเดตเต€เด•เดพเดฐเตเดฏเดฎเดพเดฃเต.

เดฎเดฑเตเดฑเต†เดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดฎเดฑเดจเตเดจเต‹? เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเดฟเตฝ เดŽเดดเตเดคเตเด•.

เดคเตเดŸเดฐเตเด‚!

เดˆ เดชเต‹เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดชเดฐเดฎเตเดชเดฐเดฏเตเดŸเต† เดฐเดฃเตเดŸเดพเด‚ เดญเดพเด—เดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพ เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดฎเดฒเตเดฒ, เดธเด‚เด˜เดŸเดจเดพเดชเดฐเดฎเดพเดฏ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเด‚ - เดธเดฎเต€เดชเดจเด™เตเด™เตพ, เดชเตเดฐเดคเตเดฏเดฏเดถเดพเดธเตเดคเตเดฐเด‚, เด‡เดจเตเดฑเตผเดซเต‡เดธเต, เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเต‹เดŸเตเดณเตเดณ เดฎเดจเต‹เดญเดพเดตเด‚ เดฎเตเดคเดฒเดพเดฏเดต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดตเดฟเดŸเต† เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเดšเตเดš เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดตเดฟเดตเดฐเด™เตเด™เดณเตเดŸเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ.

เดฎเต‚เดจเตเดจเดพเด‚ เดญเดพเด—เด‚ เดธเดพเด™เตเด•เต‡เดคเดฟเด• เด˜เดŸเด•เด‚ / เดตเดฟเด•เดธเดจ เด…เดจเตเดญเดตเด‚ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดคเตเดŸเดฐเตเด‚. เดจเดฟเด™เตเด™เตพ เดชเด เดฟเด•เตเด•เตเด‚, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต:

  • เดตเตˆเดตเดฟเดงเตเดฏเดฎเดพเตผเดจเตเดจ TL เดคเดฐเด™เตเด™เดณเตเดณเตเดณ เดชเดพเตปเดกเดฎเต‹เดฃเดฟเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดคเตเดŸเตผเดšเตเดš
  • เดšเดพเดจเดฒเตเด•เดณเต†เดฏเตเด‚ เดธเต‚เดชเตเดชเตผ เด—เตเดฐเต‚เดชเตเดชเตเด•เดณเต†เดฏเตเด‚ เด•เตเดฑเดฟเดšเตเดšเต เด…เดœเตเดžเดพเดคเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด™เตเด™เตพ
  • เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เดกเดฏเดฒเต‹เด—เตเด•เตพ เดฑเต‹เดธเตเดฑเตเดฑเดฑเดฟเดจเต‡เด•เตเด•เดพเตพ เดฎเต‹เดถเดฎเดพเดฃเต
  • เด•เต‡เดตเดฒ vs เด†เดชเต‡เด•เตเดทเดฟเด• เดธเดจเตเดฆเต‡เดถ เดตเดฟเดฒเดพเดธเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต
  • เดซเต‹เดŸเตเดŸเต‹เดฏเตเด‚ เดšเดฟเดคเตเดฐเดตเตเด‚ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เดŽเดจเตเดคเดพเดฃเต
  • เด‡เดฎเต‹เดœเดฟ เด‡เดฑเตเดฑเดพเดฒเดฟเด•เต เดตเดพเดšเด•เดคเตเดคเดฟเตฝ เดŽเด™เตเด™เดจเต† เด‡เดŸเดชเต†เดŸเตเดจเตเดจเต

เดฎเดฑเตเดฑเต เดŠเดจเตเดจเตเดตเดŸเดฟเด•เดณเตเด‚! เด‡เดตเดฟเดŸเต†เดคเตเดคเดจเตเดจเต† เดจเดฟเตฝเด•เตเด•เตเด•!

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•