เบเปเปเบเบปเบเบกเบฒเบเบตเป, เบเปเปเบเบงเบฒเบกเบเปเบฝเบงเบเบฑเบ Telegram เบเบตเปเบเบต, เบญเปเบฒเบ Durov เบกเบตเบเบงเบฒเบกเบชเบฐเบซเบฅเบฒเบเปเบฅเบฐเบกเบตเบเบฐเบชเบปเบเบเบฒเบเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบฅเบฐเบเบปเบเปเบเบทเบญเบเปเบฒเบ, เปเบฅเบฐเบญเบทเปเบเป. เปเบเปเปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเบเบฐเบเบฒเบเบปเบเบขเบนเปเปเบHabre. เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบกเบตเบเบปเบเบเปเบฒเบเบงเบเบซเบเปเบญเบเบซเบผเบฒเบเปเบเป immersed เบเบปเบเปเบญเบเปเบเบญเบธเบเบฐเบเบญเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ - เบซเบผเบฒเบเบเบตเปเบชเบธเบ, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเปเบญเบเบเปเบฒเบเบเปเบฒเบเบเบฒเบ (เปเบฅเบฐเบเปเบญเบเบเปเบฒเบเปเบเบเบเปเบฒเบเบเบฒเบ MTProto) JSON-based Bot API, เปเบฅเบฐเบเบปเบเบเบฐเบเบดเปเบฅเปเบงเบเบฝเบเปเบเปเบเบญเบกเบฎเบฑเบ. เบเปเบฝเบงเบเบฑเบเบชเบฑเบเบเบฒ เบเบฒเบเบเปเบญเบเบเปเปเบฅเบฐ PR เบเบฑเบเปเบปเบเบเบตเปเปเบนเบเบญเปเบญเบกเบเบนเปเบชเบปเปเบเบเปเบฒเบง. เปเบเบทเบญเบเบซเบเบถเปเบเบเบตเปเบฅเบฐเปเบเบดเปเบเบซเบเบถเปเบเบเปเบญเบเบซเบเปเบฒเบเบตเป, เปเบเบทเปเบญเบเบฎเปเบงเบกเบเบฒเบเบเบญเบเบเปเบญเบเบขเบนเป Eshelon NGO Vasily (เบซเบเปเบฒเปเบชเบเบเบฒเบ, เบเบฑเบเบเบตเบเบญเบเบฅเบฒเบงเปเบHabrรฉเปเบเปเบเบทเบเบฅเบถเบเบฅเปเบฒเบเบเปเบญเบกเบเบฑเบเบฎเปเบฒเบ) เปเบฅเบตเปเบกเบเบฝเบเบฅเบนเบเบเปเบฒ Telegram เบเบญเบเบเบปเบเปเบญเบเบเบฑเปเบเปเบเปเบเบปเปเบเปเบ Perl, เปเบฅเบฐเบเปเปเบกเบฒเบเบนเปเบเบฝเบเบเบญเบเบชเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเปเปเบเบปเปเบฒเบฎเปเบงเบก. เปเบเบฑเบเบซเบเบฑเบ Perl, เบเบฒเบเบเบปเบเบเบฐเบเบฒเบกเบเบฑเบเบเบต? เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบงเบกเบตเบขเบนเปเปเบเบเบฒเบชเบฒเบญเบทเปเบเปเบฅเปเบง, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบตเปเบเปเปเปเบกเปเบเบเบธเบ, เบกเบฑเบเบญเบฒเบเบเบฐเปเบเบฑเบเบเบฒเบชเบฒเบญเบทเปเบเบเบตเปเบเปเปเบกเบต. เบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเปเบญเบกเปเบฅเปเบง, เปเบฅเบฐเบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบกเบเบนเปเบเบฝเบเบเปเบญเบเปเบเบเบฑเบเบซเบกเบปเบ เบเบฒเบ scratch. เบเบดเปเบเปเบเบเบงเปเบฒเบเบฑเปเบ, เบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบเปเบกเปเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเบซเบเปเบฒเปเบเบทเปเบญเบเบท, เปเบเปเบขเบทเบเบขเบฑเบ. เบเปเบงเบเบเบฐเบฅเบดเบเบเบฐเบเบฑเบเบเบตเปเปเบเปเบชเปเบเบงเบฒเบกเบเบญเบเปเบ, เบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเบเบฝเบเปเบเปเบญเบตเบเปเบชเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเบตเปเบเบฝเบกเบเปเบญเบกเบเบฒเบเบเบนเปเบเบฐเบฅเบดเบเปเบฅเบฐเปเบงเปเบงเบฒเบเปเบเบกเบฑเบเปเบเบเบเบฒเบเบญเบ (เบขเปเบฒเบเปเบเบเปเปเบเบฒเบก, เบเบตเปเปเบกเปเบเบซเบปเบงเบเปเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเบชเบญเบ). เปเบเบเบฑเบเบเบธเบเบฑเบ, เบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบฎเบฑเบเบงเบฝเบเปเบเปเบเบตเปเบเบฅเบฐเบเบฑเบ "เบชเบฐเปเบฅเปเบ" (เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบฎเบฑเบเบเบฒเบเบฎเปเบญเบเบเป API เปเบ).
เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบฐเบเปเปเบกเบตเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบซเบผเบทเบเบฐเบเบดเบเบชเบฒเบเบซเบผเบฒเบเปเบเบเบธเบเบเบญเบเบซเบปเบงเบเปเปเบเบตเป. เปเบเปเบเบฐเบกเบตเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบเบญเบทเปเบเปเบเปเบฒเบเบงเบเบซเบผเบฒเบเปเบฅเบฐ crutches เบเบฒเบเบฑเบเบเบฐเบเบฐ (เบเบฑเบเปเบเบฑเบเบเบฐเปเบซเบเบเบชเปเบฒเบฅเบฑเบเบเบนเปเบเบตเปเบเบฐเบเปเปเบเบฝเบเบเบฒเบ scratch, เปเบเปเบเบฐเปเบเปเบซเปเบญเบเบชเบฐเบซเบกเบธเบเปเบเบเบฒเบชเบฒเปเบเบเปเปเบเบฒเบก). เบเบฑเปเบเบเบฑเปเบ, เปเบเบปเปเบฒเบซเบกเบฒเบเบเบปเปเบเบเปเปเบกเปเบเปเบเบทเปเบญเบเบฐเบเบฒเบเบฒเบกเบเบฐเบเบดเบเบฑเบเบฅเบนเบเบเปเบฒเบเบฒเบ scratch เบญเบตเบเบเบฒเบกเปเบญเบเบฐเบชเบฒเบเบเบฒเบเบเบฒเบ. เบเบฑเปเบเปเบกเปเบ, เปเบซเปเบชเบปเบกเบกเบธเบเบงเปเบฒเบฅเบฐเบซเบฑเบเปเบซเบผเปเบเบเบญเบเบฅเบนเบเบเปเบฒเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบทเบเบเบดเบ (เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เปเบเบเบฒเบเบเบตเบชเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบงเบกเปเบญเบปเบฒเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบซเบปเบงเบเปเปเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบเบตเปเปเบกเปเบเบเบงเบฒเบกเบเบดเบ. เปเบเบตเบเบเบถเปเบ เบเบฑเปเบเบเบฑเปเบ), เปเบเป, เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เบกเบตเบกเบฒเบเบเบฐเบเบฒเบเปเบเบฑเปเบ RFC - เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเบฝเบเบฅเบนเบเบเปเบฒเบเบฒเบกเปเบเบทเปเบญเบเปเบเบชเบฐเปเบเบฒเบฐ, "เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเบดเปเบ" เบขเบนเปเปเบเบฅเบฐเบซเบฑเบเปเบซเบผเปเบ, เบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบเบเบฒเบเบเบฒเบ (Telegram Desktop, เบกเบทเบเบท), เบซเบผเบท Telethon เบเบตเปเบเปเปเปเบเบฑเบเบเบฒเบเบเบฒเบ?
เบเบฒเบชเบฒ:
เปเบญเบเบฐเบชเบฒเบ... เบกเบฑเบเบกเบตเบขเบนเปเบเป? เบกเบฑเบโเปเบเบฑเบโเบเบงเบฒเบกโเบเบดเบโ?.. เบเปเบญเบเบเบตเปเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเปเบเบฑเบเบเบฑเบเบเบฝเบเบซเบเบธเปเบก? Binary serialization: TL (Type Language) เปเบฅเบฐเบฎเบนเบเปเบเบเบเบญเบเบกเบฑเบ, เปเบฅเบฐเบเบฑเปเบ, เปเบฅเบฐเบซเบผเบฒเบเบเปเบฒเบเบตเปเบซเบเปเบฒเบขเปเบฒเบเบญเบทเปเบเป เบฅเบฒเบเบฅเบฐเบญเบฝเบเบชเบฑเปเบเปเบเบญเบเบเบธเบเบเปเบญเบเบเบญเบ syntax TL เบชเปเบฒเบฅเบฑเบเบเบนเปเบเบตเปเบเปเปเบเปเบญเบเบเบฒเบเบญเปเบฒเบเปเบญเบเบฐเบชเบฒเบเบเบตเปเปเบเบฑเบเบเบฒเบเบเบฒเบ vector, เปเบเบดเปเบเบเปเปเปเบเบตเบเบเปเบญเบเบญเบญเบเบกเบฒ เบเบฒเบเบเบฐเบเบดเบเบฑเบ TL เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเปเบเบฅเบฐเบซเบฑเบ เบเบฒเบเบเบฐเปเบเบเปเบเบเบฒเบชเบฒเบเบฐเปเบเบ เบฎเบธเปเบ. เบเบฑเปเบ
MT Proto เบเบฑเปเบเบเบฒเบเบเบปเบเบชเบปเปเบ เบเบฐเปเบ, เบเปเปเบเบงเบฒเบก, เบเบญเบเบเบฐเบเบธเบก, Diffie-Hellman เบเปเปเบเบงเบฒเบก, msg_id, msg_seqno, เบเบฒเบเบขเบทเบเบขเบฑเบ, pings เปเบเบเบดเบเบเบฒเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเปเบฅเบฐ idiosyncrasies เบญเบทเปเบเป RPC: เบเบฒเบเบฎเปเบญเบเบเป, เบเปเบฒเบเบญเบ, เบเบงเบฒเบกเบเบดเบเบเบฒเบ. เบเบฒเบเบขเบทเบเบขเบฑเบ. เบเบฒเบเบเบดเบเบขเบฒเปเบชเบเบเบดเบ: เบชเบฐเบเบฒเบเบฐเบเบฒเบเบเปเปเบเบงเบฒเบก Pings เปเบฅเบฐเปเบงเบฅเบฒ. เบเบดเบง. เบกเบฑเบเบเบงเบเบเบฐเบเบทเบเบญเบญเบเปเบเบเปเบเบงเปเบ?
API? เบเบดเบโเบเบฒเบกโเบเบญเบโเบเปเปโเปเบ!
เปเบญเบเบฐเบชเบฒเบ... เบกเบฑเบเบกเบตเบขเบนเปเบเป? เบกเบฑเบโเปเบเบฑเบโเบเบงเบฒเบกโเบเบดเบโ?..
เบเบดเปเบเบชเปเบงเบเบเบญเบเบเบฑเบเบเบถเบเบชเปเบฒเบฅเบฑเบเบเบปเบเบเบงเบฒเบกเบเบตเปเปเบเปเปเบฅเบตเปเบกเบเบปเปเบเบเบตเปเบเบฐเปเบเบฑเบเบเปเบฒเปเบเบฅเบฐเบเบนเบฎเปเบญเบเบเบตเปเบเปเบฒเบเบกเบฒ. เปเบงเบฅเบฒเบเบฑเบเบซเบกเบปเบเบเบตเปเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเปเบเบฒเบเบเบฒเบ
เบเปเบญเบเบเบตเปเบเบฐเปเบฅเบตเปเบกเบเบปเปเบเปเบเบฑเบเบเบฑเบเบเบฝเบเบซเบเบธเปเบก?
เบกเบฑเบเบเปเปเบชเปเบฒเบเบฑเบเบงเปเบฒเบเปเบฒเบเบเบฐเบเบฝเบเบเบฒเบเบเบธเบเปเบฅเบตเปเบกเบเบปเปเบเบซเบผเบทเปเบเป, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ, เบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเปเบญเบกเบเบตเปเบเบฐเปเบฎเบฑเบเปเบเบฑเปเบ api_id
ะธ api_hash
(เบเบนเปเบเบตเปเปเบเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ VKontakte API เบเบฑเบเบเบตเปเบเบปเปเบฒเปเบ) เปเบเบเบเบตเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฐเบเปเบฒเบเบปเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ. เบเบตเป เบเปเบฒโเบเปเบญเบ เปเบฎเบฑเบเบกเบฑเบเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบเบปเบเบซเบกเบฒเบ, เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบงเบปเปเบฒเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบงเปเบฒเปเบเบฑเบเบซเบเบฑเบเบเบนเปเบเบฝเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบตเบเปเบเปเบกเบฑเบเบขเบนเปเปเบเบเบฒเบเบเบตเบชเบญเบ. เบเปเบฒเบเบญเบฒเบเบเบฐเบเปเปเบเบเบฑเบเบเปเบฒเบเบฒเบเบเบปเบเบชเบญเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบงเบเบกเบฑเบเบกเบตเบเปเบฒเบเบฑเบเบซเบผเบฒเบ - เบเบงเบฒเบกเบเบดเบเปเบฅเปเบงเปเบกเปเบเบงเปเบฒเบเบญเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเปเบเป เบเบฝเบโเปเบเปโเบซเบเบถเปเบโ app, เบชเบฐเบเบฑเปเบเบขเปเบฒเบเปเบฒเบงเปเบเบปเปเบฒเปเบเปเบเบกเบฑเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบ, เบเบฒเบเบกเบธเบกเปเบเบดเปเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบเบงเบเบเบฐเบชเบปเบเปเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเปเบเปเบเบทเบญเบเบเบฒเบ Telegram เบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฑเบเบเบธเบเปเบญเบเบฐเบชเบฒเบ, เปเบเปเบเบเบญเบ, เปเบฅเบฐเบญเบทเปเบเป. เบเบฑเปเบเปเบกเปเบ, เบเบปเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเบปเบกเบกเบธเบเบงเปเบฒเบชเบฐเบเบฒเบเบเบตเปเบเบตเปเบกเบต docks เปเบเปเบเบทเบเบเบฐเบเบดเปเบกเปเบงเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบเปเบฅเบฐเบชเบทเบเบเปเปเปเบฎเบฑเบเบงเบฝเบเปเบเบเบชเบฐเปเบเบฒเบฐเบเบฑเบเบเบนเปเบเบตเปเปเบฅเบตเปเบกเบชเปเบฒเบเบฅเบนเบเบเปเบฒ, เปเบเบฒเบฐเบงเปเบฒ. เบกเบฑเบเบเปเบฒเบเบเบถเปเบ. เปเบเปเบเปเปเบกเบต, เบเปเปเบกเบตเบซเบเบฑเบเบเปเบฒเบเบเบทเบงเปเบฒเปเบเปเบเบทเบเบชเบฑเบเปเบเบเปเบซเบฑเบ, เบเปเปเบกเบตเบเปเปเบกเบนเบเบกเบฒ.
เปเบฅเบฐเบเปเบฒเบเปเบฒเบเบเบฝเบเบเบฒเบ scratch, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเบเปเบฒเปเบเปเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเบเบตเปเปเบเปเบฎเบฑเบเปเบกเปเบเบเบปเบงเบเบดเบเปเบฅเปเบงเบเบฑเบเปเบเบฑเบเบเบฒเบเบเบฒเบงเปเบ. เปเบเบดเบเปเบกเปเบเบงเปเบฒ
เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบฑเบเบเปเบญเบเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบ MTProto, เปเบเบซเบผเบฒเบเบฅเบฐเบเบฑเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ (เบเปเบญเบเบงเปเบฒเปเบเบทเบญเบเปเบฒเบเบเปเบฒเบเบเบฐเปเบเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบ OS kernel เปเบงเบปเปเบฒเบงเปเบฒ, เบเบฒเบเบฅเบฐเปเบกเบตเบเบเบฑเปเบ), เบซเบปเบงเบเปเปเปเบซเบเป, เปเบเบฑเบเบเบงเบเปเบฅเบฐเบเบตเปเบฎเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเปเบเบงเบดเบเบตเบเบฒเบ ...
Binary serialization: TL (Type Language) เปเบฅเบฐเบฎเบนเบเปเบเบเบเบญเบเบกเบฑเบ, เปเบฅเบฐเบเบฑเปเบ, เปเบฅเบฐเบซเบผเบฒเบเบเปเบฒเบเบตเปเบซเบเปเบฒเบขเปเบฒเบเบญเบทเปเบเป
เบซเบปเบงเบเปเปเบเบตเป, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เปเบกเปเบเบเบธเบเปเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบซเบฒเบเบญเบ Telegram. เปเบฅเบฐเบเบฐเบกเบตเบเปเบฒเปเบงเบปเปเบฒเบเบตเปเบเบตเปเบฎเปเบฒเบเบซเบผเบฒเบเบเปเบฒเบเปเบฒเบเบเบฐเบเบฒเบเบฒเบกเปเบเบฒเบฐเปเบฅเบดเบเบกเบฑเบ.
เบเบฑเปเบเบเบฑเปเบ, เบเบตเปเปเบกเปเบเปเบเบเบงเบฒเบ. เบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเปเบฒโเบเบตเปโเบกเบฒโเปเบเบดเบโเบเบดเบโเปเบโเบเบญเบโเบเปเบฒเบโ, เปเบงเบปเปเบฒโเบงเปเบฒโ,
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 ++ (เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเปเปเปเบกเปเบ). เปเบฅเบฐเบชเบฑเบเบเบฒเบฅเบฑเบเบญเบทเปเบเปเบเบฑเบเบซเบกเบปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเปเบเบงเปเบ, เปเบเบทเปเบญเบเบซเบกเบฒเบเบเปเบฒเบเบฒเบก, เปเบเบทเปเบญเบเบซเบกเบฒเบ exclamation, เปเบเบตเปเบเบฑเบ, hash marks (เปเบฅเบฐเปเบเปเบเบญเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบซเบกเบฒเบเปเบเบดเบเบชเบดเปเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบชเบฐเบเบฒเบเบเบตเปเบเปเบฒเบเป), เบเบฒเบเบเบฑเปเบเบเบฐเบเบธเบเบฑเบเปเบฅเบฐเบเบฒเบเบเบฑเปเบเบเปเปเปเบกเปเบ, เปเบฅเบเบเบฒเบเบชเบดเบเบซเบปเบ - เปเบฅเบฐเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบ, เบงเบดเบเบตเบเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบตเป. เบเบปเบเบเบฐเบเบด (เปเบเบดเปเบเบเบฐเบเปเปเบเบทเบเบเบฐเบเบดเปเบชเบเปเบเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ) byte stream? เบเปเบฒเบเบเบฐเบเปเบญเบเบญเปเบฒเบเปเบญเบเบฐเบชเบฒเบ (เปเบกเปเบเปเบฅเปเบง, เบกเบตเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบ schema เปเบเบฅเบธเปเบ JSON เบขเบนเปเปเบเปเป - เปเบเปเบเบฑเปเบเบเปเปเปเบเปเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบเบฑเบเปเบเบเบเบงเปเบฒเบเบตเป).
เปเบเบตเบเบซเบเปเบฒ
เบเบนเปเบญเปเบฒเบเบเบตเปเบเบธเปเบเปเบเบตเบเบเบฑเบเบเบฒเบชเบฒเบเบตเปเบกเบตเบเบฐเปเบซเบเบเปเบฅเบฐเบเบฐเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ inference เบเบฐ, เปเบเปเบเบญเบ, เปเบเบดเปเบเบเบฒเบชเบฒเบเปเบฒเบญเบฐเบเบดเบเบฒเบเปเบเบเบฒเบชเบฒเบเบตเป, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเบเบปเบงเบขเปเบฒเบ, เบซเบผเบฒเบเบเบตเปเบเบธเปเบเปเบเบตเบ, เปเบฅเบฐเบชเบฒเบกเบฒเบเปเบงเบปเปเบฒเปเบเปเบงเปเบฒเบเบตเปเปเบกเปเบเบเบปเบงเบเบดเบเปเบฅเปเบงเบเปเปเบเปเปเบเบตเปเบเบซเบผเบฑเบเบเบฒเบ. เบเปเปโเบเบฑเบเบเปเบฒเบโเบเบท:
- เปเบกเปเบเปเบฅเปเบง, เปเบเบปเปเบฒโเบซเบกเบฒเบ เบชเบฝเบเบเบต, เปเบเปเบญเบฐเบเบดเบเบฒ, เบเบฒเบ เบเปเปเบเบฑเบเบฅเบธเปเบเป
- เบเบฒเบเบชเบถเบเบชเบฒเบขเบนเปเปเบเบกเบฐเบซเบฒเบงเบดเบเบฐเบเบฒเปเบฅเบฅเบฑเบเปเบเบเปเบเบเบเปเบฒเบเบเบฑเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเบเบฑเบเบเบฒเบงเบดเบเบฒเบชเบฐเปเบเบฒเบฐเบเปเบฒเบเปเบญเบเบต - เบเปเปเปเบกเปเบเบเบธเบเบเบปเบเปเบเปเบฎเบฝเบเบงเบดเบเบฒเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบ
- เบชเบธเบเบเปเบฒเบ, เบเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบ, เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบกเบฑเบเปเบกเปเบ เบเปเปเบเปเบญเบเบเบฒเบ, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบกเบตเบเบฝเบเปเบเปเบเบธเบเบเปเบญเบเบเบตเปเบเปเบฒเบเบฑเบเบเบญเบเปเบกเปเบเบฐเบเบฑเปเบ TL เบเบตเปเปเบเปเบญเบฐเบเบดเบเบฒเบเปเบกเปเบเบเบทเบเบเปเบฒเปเบเป
เบเบฑเปเบเบเบตเปเบเปเบฒเบง #perl
เปเบเปเบเบทเบญเบเปเบฒเบ FreeNode IRC, เบเบนเปเบเบตเปเบเบฐเบเบฒเบเบฒเบกเบเบฐเบเบดเบเบฑเบเบเบฐเบเบนเบเบฒเบ Telegram เบซเบฒ Matrix (เบเบฒเบเปเบเบเปเบฒเบญเปเบฒเบเบญเบตเบเปเบกเปเบเบเปเปเบเบทเบเบเปเบญเบเบเบฒเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ):
เบกเบฑเบเบฎเบนเปเบชเบถเบเบเบทเบเบฑเบเบงเปเบฒเบเบฒเบเบเบปเบเปเบเปเบเบทเบเบเปเบฒเบชเบฐเปเบซเบเบตเปเบซเปเบเบดเบกเบเบดเบเบชเบฐเบเบตเปเบเบฑเบเบเบฑเปเบเบเปเบฒเบญเบดเบ, เบเบทเปเบเปเบเบฑเปเบ, เปเบฅเบฐเปเบฅเบตเปเบกเบเบฐเบเบฒเบเบฒเบกเบซเบผเบตเปเบเบเบฑเบเบกเบฑเบ, เบเปเปเบชเบปเบเปเบเปเบเปเปเบงเปเบฒเบกเบฑเบเบเปเบฒเปเบเบฑเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ.
เปเบเบดเปเบเบเบปเบงเบเปเบฒเบเปเบญเบ, เบเปเบฒเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบเปเบเบปเปเบฒ (int, เบเบฒเบง, เปเบฅเบฐเบญเบทเปเบเป) เปเบเบฑเบเบชเบดเปเบเบเบตเปเบเบฐเบเบปเบกเบเปเปเปเบเปเบเบฑเปเบเบเปเบฒเบเบฒเบก - เปเบเบเบตเปเบชเบธเบเบเบงเบเปเบเบปเบฒเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเปเบงเบเบเบปเบเปเบญเบ - เบเบปเบงเบขเปเบฒเบ, เปเบซเปเบเบฐเบเบฒเบเบฒเบกเปเบญเบปเบฒเบกเบฒเบเบฒเบเบเบงเบเบกเบฑเบ. vector. เบเบฑเปเบเปเบกเปเบ, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบเบงเบ, เบเปเบฒ เบซเบฒเบ เบเปเบฒเบ เปเบ เบซเบฒ เบชเบดเปเบ เบเบตเป เปเบเป เบฎเบฑเบ เปเบเบ เบเบทเป เบเบตเป เปเบซเบกเบฒเบฐ เบชเบปเบก เบเบญเบ เปเบเบปเบฒ เปเบเบปเปเบฒ .
เปเบเปเบเปเบญเบ
เบฅเบฒเบเบฅเบฐเบญเบฝเบเบชเบฑเปเบเปเบเบญเบเบเบธเบเบเปเบญเบเบเบญเบ syntax 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;
เบเปเบฒเบเบดเบเบฒเบกเปเบฅเบตเปเบกเบเบปเปเบเบชเบฐเปเบซเบกเบต เบเบนเปเบเปเปเบชเปเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเปเบฅเบทเบญเบ (เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ - เบชเบฐเปเบซเบกเบต) เปเบเบเบเปเบฒเบเบชเบฑเบเบเบฒเบฅเบฑเบ #
เบเปเบญเบ CRC32 เบเบฒเบเบชเบฐเบเบฃเบดเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบปเบเบเบฐเบเบดเบเบญเบเบเบฐเปเบเบเบเบตเป. เบเปเปเปเบเปเบกเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเบเบญเบเบเปเบญเบเบเปเปเบกเบนเบ; เบเปเบฒเบเบงเบเบกเบฑเบเบกเบตเบขเบนเป, เบเบฐเปเบเบเบญเบฒเบเบเบฐเบซเบงเปเบฒเบเปเบเบปเปเบฒ. เบเบตเปเบเบฑเบเบซเบกเบปเบเบชเบดเปเบเบชเบธเบเบฅเบปเบเบเปเบงเบเปเบเบทเปเบญเบเบซเบกเบฒเบเปเบเบปเปเบฒเบเบฝเบกเบเบฑเบ, เบเบทเปเบเบญเบเบเบฐเปเบเบเบเบตเปเบเบนเปเบเปเปเบชเปเบฒเบเบเบตเป - เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบฐเปเบเบเบเปเบญเบ - เปเบเบฑเบ. เบเบนเปเบเบฒเบเบเบตเปเบขเบนเปเปเบเบทเปเบญเบเบเบงเบฒเบเบญเบเปเบเบทเปเบญเบเบซเบกเบฒเบเปเบเบปเปเบฒเบเบฑเบ polymorphic - เบเบฑเปเบเปเบกเปเบ, เบเบฐเปเบเบเบชเบฐเปเบเบฒเบฐเบเปเบฒเบเบงเบเบซเบเบถเปเบเบชเบฒเบกเบฒเบเบเบปเบเบเบฑเบเบกเบฑเบ.
เบเปเบฒเบเปเบฒเบเบดเบเบฒเบกเปเบเบตเบเบเบทเปเบเบซเบผเบฑเบเบเบฒเบเปเบชเบฑเปเบ ---functions---
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ syntax เบเบฐเบเบฑเบเบเบปเบเบเบทเปเบเบปเปเบฒ, เปเบเปเบเบงเบฒเบกเบซเบกเบฒเบเบเบฐเปเบเบเบเปเบฒเบเบเบฑเบ: เบเบนเปเบเปเปเบชเปเบฒเบเบเบฐเบเบฒเบเปเบเบฑเบเบเบทเปเบเบญเบเบซเบเปเบฒเบเบตเป RPC, เบเบปเปเบเบเบฒเบเบฐเบเบฒเบเปเบเบฑเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบ (เบเบต, เบเบฑเปเบเปเบกเปเบ, เบกเบฑเบเบเบฐเบเบฑเบเบเบปเบเปเบเบฑเบเปเบเบเบชเปเบฒเบเบเบฝเบงเบเบฑเบ, เบเบฑเปเบเบเบตเปเปเบเปเบญเบฐเบเบดเบเบฒเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป. , เบเบตเปเบเบฝเบเปเบเปเบเบฐเปเบเบฑเบเบเบงเบฒเบกเบซเบกเบฒเบเบเบตเปเปเบเปเบฎเบฑเบเบกเบญเบเบซเบกเบฒเบ), เปเบฅเบฐ "เบเบฐเปเบเบ polymorphic" - เบเบฐเปเบเบเบเบญเบเบเบปเบเปเบเปเบฎเบฑเบเบเบฑเบเบเบทเบเบกเบฒ. เบเบงเบฒเบกเบเบดเบ, เบกเบฑเบเบเบฐเบเบฑเบเบเบปเบเปเบเบฑเบ polymorphic - เบเบฝเบเปเบเปเบเปเบฒเบเบปเบเบขเบนเปเปเบเบเบฒเบ ---types---
, เปเบเปเบเบนเปเบเปเปเบชเปเบฒเบเบเบตเปเบเบฐ "เบเปเปเบเบทเบเบเบดเบเบฒเบฅเบฐเบเบฒ". overloading เบเบฐเปเบเบเบเบญเบเบซเบเปเบฒเบเบตเปเปเบญเบตเปเบเบงเปเบฒเปเบเบเบเบฒเบเปเบเปเบเบฝเบเบเบญเบเบเบงเบเปเบเบปเบฒ, i.e. เบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบขเปเบฒเบ, เบซเบผเบฒเบเบซเบเปเบฒเบเบตเปเบเบตเปเบกเบตเบเบทเปเบเบฝเบงเบเบฑเบเปเบเปเบฅเบฒเบเปเบเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ C ++, เบเปเปเปเบเปเบเบทเบเบชเบฐเบซเบเบญเบเปเบซเปเบขเบนเปเปเบ TL.
เปเบเบฑเบเบซเบเบฑเบ "constructor" เปเบฅเบฐ "polymorphic" เบเปเบฒเบกเบฑเบเบเปเปเปเบกเปเบ OOP? เปเบฅเปเบง, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบกเบฑเบเบเบฐเบเปเบฒเบเบเบถเปเบเบชเปเบฒเบฅเบฑเบเบเบนเปเปเบเบเบนเปเบซเบเบถเปเบเบเบตเปเบเบฐเบเบดเบเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเปเบเปเบเบทเปเบญเบเปเบ OOP - เบเบฐเปเบเบ polymorphic เปเบเบฑเบเบซเปเบญเบเบฎเบฝเบเบเบตเปเบเปเปเบกเบตเบเบปเบงเบเบปเบ, เปเบฅเบฐเบเบนเปเบเปเปเบชเปเบฒเบเปเบกเปเบเบเบฑเปเบเบฎเบฝเบเปเบเบเบเบปเบเบเบญเบเบกเบฑเบ, เปเบฅเบฐ. final
เปเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเปเบเบญเบเบเบฒเบชเบฒเบเปเบฒเบเบงเบเบซเบเบถเปเบ. เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เปเบเปเบเบญเบ, เบเบตเปเบเบตเปเปเบเบปเปเบฒเบเบฑเปเบ เบเบงเบฒเบกเบเปเบฒเบเบเบทเบเบฑเบ เบเปเบงเบเบงเบดเบเบตเบเบฒเบเบเปเปเบชเปเบฒเบเปเบเบตเบเบเบดเบเปเบเบเบฒเบชเบฒเบเบฒเบเบเบฝเบเปเบเบฅเปเบเบฅเบก OO. เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบตเปเปเบกเปเบเบเบฝเบเปเบเปเปเบเบเบชเปเบฒเบเบเปเปเบกเบนเบ, เบเปเปเบกเบตเบงเบดเบเบตเบเบฒเบ (เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบญเบเบซเบเปเบฒเบเบตเปเปเบฅเบฐเบงเบดเบเบตเบเบฒเบเปเบเบตเปเบกเปเบเบตเบกเปเบกเปเบเบเปเบญเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเปเบเบซเบปเบงเบเบตเปเบเบงเบเปเบเบปเบฒเบกเบตเบขเบนเป, เปเบเปเบเบฑเปเบเปเบกเปเบเปเบฅเบทเปเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ) - เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเปเบเบดเบ constructor เปเบเบฑเบเบกเบนเบเบเปเบฒเบเบฒเบ. เปเบเบดเปเบ เบเปเบฒเบฅเบฑเบเบเปเปเบชเปเบฒเบ เบเบดเบกเปเบเปเบงเบฅเบฒเบเบตเปเบญเปเบฒเบ byte stream.
เบเบตเปเปเบเบตเบเบเบถเปเบเปเบเบงเปเบ? deserializer, เปเบเบดเปเบเบชเบฐเปเบซเบกเบตเบญเปเบฒเบ 4 bytes, เปเบซเบฑเบเบเปเบฒ 0xcrc32
- เปเบฅเบฐเปเบเบปเปเบฒเปเบเบชเบดเปเบเบเบตเปเบเบฐเปเบเบตเบเบเบถเปเบเบเปเปเปเบ field1
เบเบฑเบโเบเบฐโเปเบเบโ int
, i.e. เบญเปเบฒเบ 4 bytes เบขเปเบฒเบเปเบเปเบเบดเบ, เปเบเบเบตเปเบเบฒเบเบชเบฐเบซเบเบฒเบก overlying เบเบฑเบเบเบฐเปเบเบ PolymorType
เบญเปเบฒเบ. เปเบซเบฑเบ 0x2crc32
เปเบฅเบฐเปเบเบปเปเบฒเปเบเบงเปเบฒเบกเบตเบชเบญเบเบเบปเบเปเบเบเบเบทเปเบกเบญเบตเบ, เบเปเบฒเบญเบดเบ long
, เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบญเปเบฒเบ 8 bytes. เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบเบฐเปเบเบเบชเบฐเบฅเบฑเบเบชเบฑเบเบเปเบญเบ, เปเบเบดเปเบเบเบทเบ deserialized เปเบเบเบฒเบเบเบฝเบงเบเบฑเบ. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ, Type3
เบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเบเบฒเบเปเบเบงเบปเบเบเบญเบเบเบฑเบเบเบตเบเบตเปเบชเบญเบ constructors, เบเบฒเบกเบฅเปเบฒเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบปเบฒเปเบเบปเปเบฒเบเบฐเบเปเบญเบเปเบเปเบเบปเบ 0x12abcd34
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบญเปเบฒเบ 4 bytes เปเบเบตเปเบกเปเบเบตเบก int
, เบซเบผเบท 0x6789cdef
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฐเบเปเปเบกเบตเบซเบเบฑเบ. เบชเบดเปเบเบญเบทเปเบ - เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเปเบกเบเปเปเบเบปเบเปเบงเบฑเปเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเบทเบเปเบเบเปเบญเบเบญเปเบฒเบ 4 bytes int
เบเบปเปเบเบเบฒ field_c
ะฒ constructorTwo
เปเบฅเบฐเบเปเบงเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเปเบฅเบฑเบเบเบฒเบเบญเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ PolymorType
.
เบชเบธเบเบเปเบฒเบ, เบเปเบฒเบเปเบฒเบเบเบทเบเบเบฑเบ 0xdeadcrc
เบเบฒเบ constructorThree
, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐเบเบฒเบเปเบเบฑเบเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบซเบผเบฒเบ. เบเบฒเบเบชเบฐเบซเบเบฒเบกเบเปเบฒเบญเบดเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบ bit_flags_of_what_really_present
เบเบฑเบโเบเบฐโเปเบเบโ #
- เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, เบเบตเปเปเบกเปเบเบเบฝเบเปเบเปเบเบฒเบกเปเบเบเบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบ nat
, เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ "เบเบปเบงเปเบฅเบเบเปเบฒเบกเบฐเบเบฒเบ". เบเบฑเปเบเปเบกเปเบ, เปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, unsigned int เปเบกเปเบ, เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เปเบเบฑเบเบเปเบฅเบฐเบเบตเบเบฝเบงเปเบเปเบงเบฅเบฒเบเบตเปเบเบปเบงเปเบฅเบเบเบตเปเบเปเปเปเบเปเปเบเบฑเบเบขเบนเปเปเบเบงเบปเบเบเบญเบเบเบตเปเปเบเปเบเบดเบ. เบเบฑเปเบเบเบฑเปเบ, เบเปเปเปเบเปเบกเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบกเบตเปเบเบทเปเบญเบเบซเบกเบฒเบเบเปเบฒเบเบฒเบก, เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบตเป - เบกเบฑเบเบเบฐเบกเบตเบขเบนเปเปเบเบชเบฒเบเบเบฝเบเปเบเปเบเปเบฒเบซเบฒเบเบงเปเบฒเบเบดเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเปเบเปเบเบทเบเบเปเบฒเบเบปเบเบขเบนเปเปเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบตเปเบญเปเบฒเบเปเบเบดเบ (เบเบฐเบกเบฒเบเบเบทเบเบฑเบเบเบปเบงเบเบฐเบเบดเบเบฑเบเบเบฒเบ ternary). เบเบฑเปเบเบเบฑเปเบ, เปเบซเปเบชเบปเบกเบกเบธเบเบงเปเบฒเบเบดเบเบเบตเปเบเบทเบเบเบฑเปเบ, เบเบถเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบญเปเบฒเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเปเบเบฑเปเบ Type
, เปเบเบดเปเบเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบกเบต 2 constructors. เบญเบฑเบเปเบถเปเบเปเบกเปเบเบซเบงเปเบฒเบเปเบเบปเปเบฒ (เบเบฐเบเบญเบเบเปเบงเบเบเบปเบงเบฅเบฐเบเบธเปเบเบปเปเบฒเบเบฑเปเบ), เบญเบตเบเบญเบฑเบเปเบถเปเบเบกเบตเบเปเบญเบเบเปเปเบกเบนเบ ids
เบเบฑเบโเบเบฐโเปเบเบโ ids:Vector<long>
.
เบเปเบฒเบเบญเบฒเบเบเบฐเบเบดเบเบงเปเบฒเบเบฑเบเปเบกเปเปเบเบเปเบฅเบฐเบเบปเปเบงเปเบเปเบกเปเบเบขเบนเปเปเบ pros เบซเบผเบท Java. เปเบเปเบเปเปเบกเบต. เปเบเบทเบญเบโเบเบฑเบโเบซเบกเบปเบ. เบเบตเป เบเบฝเบง เบเปโเบฅเบฐโเบเบตโเบเบญเบโเบเบฒเบโเบเปเบฒโเปเบเปโเบงเบปเบโเปเบฅเบฑเบโเบกเบธเบกโเปเบโเบงเบปเบโเบเบญเบโเบเบตเปโเปเบเปโเบเบดเบโ, เปเบฅเบฐโเบกเบฑเบโเปเบเปโเบเบทเบโเบเปเบฒโเปเบเปโเบเบฝเบโเปเบเปโเบชเปเบฒโเบฅเบฑเบ Vectorโ. เปเบเบเบฐเปเบช byte, เปเบซเบผเบปเปเบฒเบเบตเปเบเบฐเปเบเบฑเบ 4 CRC32 bytes เบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบ Vector เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ, เบชเบฐเปเบซเบกเบตเบเบฝเบงเบเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ 4 bytes - เบเปเบฒเบเบงเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบ array, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบญเบปเบเบเบฐเบเบญเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบญเบ.
เบเบทเปเบกเบเบตเปเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒ serialization เปเบเบตเบเบเบถเปเบเบชเบฐเปเบซเบกเบตเปเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเปเบเบญเบ 4 bytes, เบเบธเบเบเบฐเปเบเบเปเบกเปเบเบเบฒเบเบเบนเบเบเบญเบเบกเบฑเบ - เบเบฐเปเบเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบกเปเบเบเบฑเบเบญเบฐเบเบดเบเบฒเบ. bytes
ะธ string
เบกเบต serialization เบเบนเปเบกเบทเบเบญเบเบเบงเบฒเบกเบเบฒเบงเปเบฅเบฐเบเบฒเบเบเบฑเบเบเปเบฒเปเบซเบเปเบเบเบตเปเปเบเบ 4 - เบเบต, เบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเบปเบเบเบฐเบเบดเปเบฅเบฐเปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบญเบเบเปเบฒเบเบเบฐเบชเบดเบเบเบดเบเบฒเบ? เปเบเบดเบเปเบกเปเบเบงเปเบฒ TL เปเบเปเบเบทเบเบญเปเบฒเบเบงเปเบฒเปเบเบฑเบ serialization binary เบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบปเบ, เบเบฑเบ hell เบเบฑเบเบเบงเบเปเบเบปเบฒ, เบเปเบงเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเบฝเบเปเบเปเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเปเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบฒ Boolean เปเบฅเบฐเบชเบฒเบเบเบปเบงเบญเบฑเบเบชเบญเบเบเบฝเบงเปเบเบดเบ 4 bytes, JSON เบเบฑเบเบเบฐเบซเบเบฒเปเบซเบเปเบเบซเบผเบฒเบเบเป? เปเบเบดเปเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบญเบเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเบชเบฒเบกเบฒเบเบเปเบฒเบกเปเบเปเปเบเบเบเบธเบเบเปเบญเบ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเปเบญเบเบเปเบฒเบเบเบต, เปเบฅเบฐเปเบเบดเบเปเบกเปเบเบงเปเบฒเบชเบฒเบกเบฒเบเบเบฐเบซเบเบฒเบเปเบเปเปเบเบญเบฐเบเบฒเบเบปเบ, เบเบฑเปเบเบเบฑเปเบเปเบเบฑเบเบซเบเบฑเบเบเบถเปเบเบเปเปเปเบเบตเปเบกเบเปเบญเบเบเปเปเบกเบนเบเบเบฒเบเปเบฅเบทเบญเบเปเบซเบกเปเปเบซเปเบเบฑเบเบเบนเปเบเปเปเบชเปเบฒเบเปเบเบเบฒเบเบซเบฅเบฑเบ?..
เปเบเปเบเปเป, เบเปเบฒเบเปเบฒเบเบญเปเบฒเบเบเปเปเปเบกเปเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบชเบฑเปเบเปเบเบญเบเบเปเบญเบ, เปเบเปเปเบญเบเบฐเบชเบฒเบเปเบเบฑเบก, เปเบฅเบฐเบเบดเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ. เบเปเบญเบเบญเบทเปเบ เปเบปเบ, CRC32 เบเบญเบเบเบนเปเบเปเปเบชเปเบฒเบเบเบทเบเบเบดเบเปเบฅเปเบเบฒเบกเปเบชเบฑเปเบเบเบปเบเบเบฐเบเบดเบเบญเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเปเปเบเบงเบฒเบกเบเบญเบเปเบเบเบเบฒเบ (เปเบญเบปเบฒเบเบทเปเบเบเบตเปเบซเบงเปเบฒเบเปเบเบตเปเบกเปเบเบตเบก, เปเบฅเบฐเบญเบทเปเบเป) - เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบกเบตเบเปเบญเบเบเปเปเบกเบนเบเปเบซเบกเป, เปเบชเบฑเปเบเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบฐเปเบเบเบเบฐเบเปเบฝเบเปเบเบ, เปเบฅเบฐเบเปเบงเบเปเบซเบเบเบตเป CRC32 เบเบญเบเบกเบฑเบเปเบฅเบฐ. , เบเบฑเปเบเบเบฑเปเบ, serialization. เปเบฅเบฐเบฅเบนเบเบเปเบฒเปเบเบปเปเบฒเบเบฐเปเบฎเบฑเบเปเบเบงเปเบเบเปเบฒเบฅเบฒเบงเปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบตเปเบกเบตเบเบธเบเปเบซเบกเป, เปเบฅเบฐเบฅเบฒเบงเบเปเปเบฎเบนเปเบงเปเบฒเบเบฐเปเบฎเบฑเบเปเบเบงเปเบเบเบฑเบเบเบงเบเปเบเบปเบฒเบเปเปเปเบ?
เบญเบฑเบเบเบตเบชเบญเบ, เปเบซเปเปเบฎเบปเบฒเบเบทเป CRC32, เปเบเบดเปเบเปเบเปเบเบทเบเบเปเบฒเปเบเปเปเบเบเบตเปเบเบตเปเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบ เบเบฑเบเบเบฑเบ hash เปเบเบทเปเบญเบเปเบฒเบเบปเบเบขเปเบฒเบเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบงเปเบฒเบเบฐเปเบเบเปเบเบเบฐเบเบทเบ (de)serialized. เปเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเบฐเปเบเบตเบเบเบฑเบเบเบฑเบเบซเบฒเบเบฒเบเบเบฐเบเบฐเบเบฑเบ - เปเบฅเบฐเบเปเป, เบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเปเปเปเบกเปเบเบซเบเบถเปเบเปเบ 232, เปเบเปเบซเบผเบฒเบเบเบงเปเบฒเปเบเบปเปเบฒ. เปเบเบเบทเปเปเบเปเบงเปเบฒ CRC32 เบเบทเบเบญเบญเบเปเบเบเบกเบฒเปเบเบทเปเบญเบเบงเบเบเบปเบ (เปเบฅเบฐเปเบเปเปเบ) เบเปเปเบเบดเบเบเบฒเบเปเบเบเปเบญเบเบเบฒเบเบเบฒเบเบชเบทเปเบชเบฒเบ, เปเบฅเบฐเบเบฑเบเบเบธเบเบเบธเบเบชเบปเบกเบเบฑเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเบทเปเบญเบเบงเบฒเบกเปเบชเบเบซเบฒเบเบเบญเบเบเบปเบเบญเบทเปเบ? เบเบปเบงเบขเปเบฒเบ, เบกเบฑเบเบเปเปเบชเบปเบเปเบเบเบฑเบเบเบฒเบเบเบฑเบเบฅเบฝเบ bytes เบเบทเบเปเปเป: เบเปเบฒเบเปเบฒเบเบเบดเบเปเบฅเป CRC32 เบเบฒเบเบชเบญเบเปเบเบง, เปเบเบเบตเบชเบญเบเบเปเบฒเบเปเบฅเบเบเปเบฝเบ 4 bytes เบเปเบฒเบญเบดเบเบเบฑเบ 4 bytes เบเปเปเปเบ - เบกเบฑเบเบเบฐเบเบทเบเบฑเบ. เปเบกเบทเปเบญเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเบเปเปเบเบงเบฒเบกเบเบฒเบเบเบปเบงเบญเบฑเบเบชเบญเบเบฅเบฒเบเบดเบ (เปเบฅเบฐเปเบเบทเปเบญเบเปเบฒเบเบงเบฑเบเบเบญเบเปเบฅเบฑเบเบเปเบญเบ), เปเบฅเบฐเบเบทเปเปเบซเบผเบปเปเบฒเบเบตเปเบเปเปเปเบกเปเบเปเบเบเบชเบธเปเบกเปเบเบเบชเบฐเปเบเบฒเบฐ, เบเบงเบฒเบกเปเบเบฑเบเปเบเปเบเปเบเบญเบเบเบฒเบเบเบฑเบเบฅเบฝเบเบเบฑเปเบเบเปเบฒเบงเปเบเบตเปเบกเบเบถเปเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ.
เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเบนเปเบเบตเปเบเบงเบเปเบเบดเปเบเบงเปเบฒเบกเบตเบซเบเบฑเบเปเบเป? เปเบเป CRC32? เปเบถเปเบเปเบเบฅเบฐเบซเบฑเบเปเบซเบผเปเบเบเบปเปเบเป (เปเบกเปเปเบเปเบเปเบญเบ Waltman) เบกเบตเบเบฑเบเบเบฑเบ hash เบเบตเปเบเบนเบเปเบเปเบฅเบฐเบเบปเบงเบญเบฑเบเบชเบญเบเบเปเบงเบเบเบปเบงเปเบฅเบ 239, เบชเบฐเบเบฑเปเบเบเบปเบเปเบซเบผเบปเปเบฒเบเบตเปเบฎเบฑเบเปเบเบเบซเบผเบฒเบ, ha ha!
เบชเบธเบเบเปเบฒเบ, เปเบญเปเบ, เบเบงเบเปเบฎเบปเบฒเบฎเบนเปเบงเปเบฒเบเบนเปเบเปเปเบชเปเบฒเบเบเบตเปเบกเบตเบเบฐเปเบเบเบเบฒเบเบชเบฐเบซเบเบฒเบก Vector<int>
ะธ Vector<PolymorType>
เบเบฐเบกเบต CRC32 เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบญเบญเบเปเบฅเบเป? เปเบฅเบฐเบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบฒเบเบเบดเบเบชเบฐเบเบต, เบเบตเปเบเบฒเบเปเบเบฑเบเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเบเบฐเปเบเบ? เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบ array เบเบญเบเบชเบดเบเบเบฑเบเบเบปเบงเปเบฅเบ, เบเบตเบเบฑเบ Vector<int>
เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบฐเปเบเปเบ, เบเบงเบฒเบกเบเบฒเบงเปเบฅเบฐเบญเบตเบ 40000 bytes. เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฒเบงเปเบฒเบเบตเป Vector<Type2>
, เปเบเบดเปเบเบเบฐเบเบญเบเบเปเบงเบเบเบฝเบเปเบเปเบซเบเบถเปเบเบเบฒเบเบชเบฐเบซเบเบฒเบก int
เปเบฅเบฐเบกเบฑเบเบขเบนเปเปเบเบเบฐเปเบเบเบเบฝเบง - เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเบเปเปเบฒ 10000xabcdef0 34 เปเบเบทเปเบญเปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ 4 bytes? int
, เบซเบผเบทเบเบฒเบชเบฒเปเบกเปเบเบชเบฒเบกเบฒเบ INDEPEND เบกเบฑเบเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒเบเบฒเบเบเบนเปเบเปเปเบชเปเบฒเบ fixedVec
เปเบฅเบฐเปเบเบเบเบตเปเบเบฐ 80000 bytes, เปเบญเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบเบฝเบเปเบเป 40000?
เบเบตเปเบเปเปเปเบกเปเบเบเปเบฒเบเบฒเบกเบเบฒเบเบเบดเบเบชเบฐเบเบตเบเบตเปเบเปเปเบกเบตเบเบฐเปเบซเบเบเปเบฅเบตเบ - เบเบดเบเบเบฐเบเบฒเบเบฒเบเบงเปเบฒเบเปเบฒเบเปเบเปเบฎเบฑเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบเบนเปเปเบเปเบเบธเปเบก, เปเบเปเบฅเบฐเบเบปเบเบกเบต id, เบเบทเป, เบเบฒเบกเบชเบฐเบเบธเบ - เบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเบญเบเบเปเบฒเบเบงเบเบเปเปเบกเบนเบเบเบตเปเปเบญเบเบเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบกเบทเบเบทเบชเบฒเบกเบฒเบเบกเบตเบเบงเบฒเบกเบชเปเบฒเบเบฑเบ. เบกเบฑเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบเบฐเบชเบดเบเบเบดเบเบปเบเบเบญเบ Telegram serialization เบเบตเปเบเบทเบเปเบเบชเบฐเบเบฒเปเบซเปเบเบงเบเปเบฎเบปเบฒ.
เบเบฑเปเบเบเบฑเปเบโฆ
vector, เปเบเบดเปเบเบเปเปเปเบเบตเบเบเปเบญเบเบญเบญเบเบกเบฒ
เบเปเบฒเบเปเบฒเบเบเบฐเบเบฒเบเบฒเบกเปเบฅเปเบเบเปเบฒเบเบซเบเปเบฒเบเปเบฒเบญเบฐเบเบดเบเบฒเบเบเบญเบเปเบเบทเปเบญเบเบเบฐเบชเบปเบกเปเบฅเบฐเบญเบทเปเบเป, เบเปเบฒเบเบเบฐเปเบซเบฑเบเบงเปเบฒ vector (เปเบฅเบฐเปเบกเปเบเบฐเบเบฑเปเบ matrix) เบเปเบฒเบฅเบฑเบเบเบฐเบเบฒเบเบฒเบกเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเปเบซเปเบเบปเบเบเบฐเบฅเบดเบเบเปเบฒเบ tuples เบเบญเบเบซเบผเบฒเบเปเปเบเปเบ. เปเบเปเปเบเบเบตเปเบชเบธเบเบเบงเบเปเบเบปเบฒเบฅเบทเบก, เบเบฑเปเบเบเบญเบเบชเบธเบเบเปเบฒเบเปเบกเปเบเบเปเบฒเบกเปเบ, เปเบฅเบฐเบเปเบฒเบเบดเบเบฒเบกเบเบญเบ vector เปเบกเปเบเปเบซเปเบเปเบฒเบเบเบฒเบ, เปเบเบดเปเบเบเบฑเบเบเปเปเบเบฑเบเปเบเปเบเบนเบเบกเบฑเบเบเบฑเบเบเบฐเปเบเบเปเบเบซเบเบถเปเบ. เปเบกเปเบเบซเบเบฑเบ? เปเบเบเบฒเบชเบฒ เบเบฒเบเบเบฝเบเปเบเปเบเบผเบก, เปเบเบเบชเบฐเปเบเบฒเบฐเบเบตเปเปเบเบฑเบเบเบฐเปเบซเบเบ, เบกเบฑเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบปเบเบเบฐเบเบดเบเบตเปเบเบฐเบญเบฐเบเบดเบเบฒเบเปเบเบเบชเปเบฒเบเปเบเบ recursively - compiler เบเบตเปเบกเบตเบเบฒเบเบเบฐเปเบกเบตเบเบเบปเบเบเบตเปเบเบฝเบเบเบญเบเบกเบฑเบเบเบฐเปเบเบปเปเบฒเปเบเปเบฅเบฐเปเบฎเบฑเบเบเบธเบเบขเปเบฒเบเบเบญเบเบกเบฑเบเปเบญเบ. เปเบเบเบฒเบชเบฒ serialization เบเปเปเบกเบนเบ เบชเบดเปเบเบเบตเปเบเปเบญเบเบเบฒเบเปเบกเปเบเบเบฐเบชเบดเบเบเบดเบเบฒเบ: เบกเบฑเบเบเบฝเบเบเปเบเบตเปเบเบฐเบญเบฐเบเบดเบเบฒเบเบเบฝเบเปเบเป เบเบฑเบเบเบตเบฅเบฒเบเบเบทเป, i.e. เปเบเบเบชเปเบฒเบเบเบญเบเบชเบญเบเบญเบปเบเบเบฐเบเบญเบ - เบเปเบฒเบญเบดเบเปเบกเปเบเบญเบปเบเบเบฐเบเบญเบเบเปเปเบกเบนเบ, เบญเบฑเบเบเบตเบชเบญเบเปเบกเปเบเปเบเบเบชเปเบฒเบเบเบฝเบงเบเบฑเบเบเบญเบเบกเบฑเบเปเบญเบเบซเบผเบทเบเบทเปเบเบเบตเปเบซเบงเปเบฒเบเบชเปเบฒเบฅเบฑเบเบซเบฒเบ (pack. (cons)
เปเบ Lisp). เปเบเปเบเบตเปเปเบเปเบเบญเบเบเบฐเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบต เปเบเปเบฅเบฐเบเบปเบ เบญเบปเบเบเบฐเบเบญเบเปเบเป 4 bytes เปเบเบตเปเบกเปเบเบตเบก (CRC32 เปเบเบเปเบฅเบฐเบเบตเปเบ TL) เปเบเบทเปเบญเบญเบฐเบเบดเบเบฒเบเบเบฐเปเบเบเบเบญเบเบกเบฑเบ. array เบเบฑเบเบชเบฒเบกเบฒเบเบญเบฐเบเบดเบเบฒเบเปเบเปเบขเปเบฒเบเบเปเบฒเบเบเบฒเบ เบเบฐเบซเบเบฒเบเบเบปเบเบเบตเป, เปเบเปเปเบเบเปเบฅเบฐเบเบตเบเบญเบ array เบเบญเบเบเบงเบฒเบกเบเบฒเบงเบเบตเปเบเปเปเบฎเบนเปเบเบฑเบเบฅเปเบงเบเบซเบเปเบฒ, เบเบงเบเปเบฎเบปเบฒเปเบเบเบญเบญเบ.
เบเบฑเปเบเบเบฑเปเบ, เปเบเบทเปเบญเบเบเบฒเบ TL เบเปเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบญเบญเบ vector, เบกเบฑเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเบตเปเบกเบขเบนเปเบเปเบฒเบเบเปเบฒเบ. เปเบเบเบตเปเบชเบธเบเปเบญเบเบฐเบชเบฒเบเบเปเบฒเบงเบงเปเบฒ:
Serialization เปเบเป constructor เบเบฝเบงเบเบฑเบ "vector" (const 0x1cb5c415 = crc32("vector t:Type # [ t ] = Vector t") เบเบตเปเบเปเปเบเบถเปเบเบเบฑเบเบเปเบฒเบชเบฐเปเบเบฒเบฐเบเบญเบเบเบปเบงเปเบเบเบญเบเบเบฐเปเบเบ t.
เบกเบนเบเบเปเบฒเบเบญเบเบเบฒเบฅเบฒเบกเบดเปเบเบตเบเบฒเบเปเบฅเบทเบญเบ t เบเปเปเปเบเปเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบ serialization เบเบฑเบเบเบฑเปเบเปเบเปเบกเบฑเบเปเบกเปเบเบกเบฒเบเบฒเบเบเบฐเปเบเบเบเบปเบเปเบเปเบฎเบฑเบ (เบฎเบนเปเบเบฑเบเบชเบฐเปเบซเบกเบตเบเปเบญเบเบเบตเปเบเบฐ deserialization).
เปเบเบดเปเบเบขเปเบฒเบเปเบเปเบเบดเบ: vector {t:Type} # [ t ] = Vector t
- เปเบเป เบเปเปเบกเบตเบเปเบญเบเปเบ เบเปเบฒเบเบดเบเบฒเบกเบเบตเปเปเบญเบเบเปเปเปเบเปเบเบญเบเบงเปเบฒเบเบปเบงเปเบฅเบเบเปเบฒเบญเบดเบเบเปเบญเบเปเบเบปเปเบฒเบเบฑเบเบเบงเบฒเบกเบเบฒเบงเบเบญเบ vector! เปเบฅเบฐเบกเบฑเบเบเปเปเปเบเปเบกเบฒเบเบฒเบเบเบธเบเบเปเบญเบ. เบเบตเปเปเบกเปเบเบเบฒเบเบกเบญเบเปเบซเปเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบฎเบฑเบเบชเบฒเบขเบนเปเปเบเปเบเปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบเปเบงเบเบกเบทเบเบญเบเบเปเบฒเบ. เบขเบนเปเบเปเบญเบเบญเบทเปเบ, เปเบญเบเบฐเบชเบฒเบเบเบฑเบเบเบญเบเบขเปเบฒเบเบเบทเปเบชเบฑเบเบงเปเบฒเบเบฐเปเบเบเบเปเปเปเบกเปเบเบเบปเบงเบเบดเบ:
Vector t polymorphic pseudotype เปเบกเปเบ "เบเบฐเปเบเบ" เบเบตเปเบกเบตเบกเบนเบเบเปเบฒเปเบเบฑเบเบฅเปเบฒเบเบฑเบเบเบญเบเบเปเบฒเบเบญเบเบเบฐเปเบเบ t, เบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบเบเปเบญเบเบซเบผเบทเปเบเบปเปเบฒ.
... เปเบเปเบเปเปเปเบเปเบชเบธเบกเปเบชเปเบกเบฑเบ. เปเบเปเบงเบฅเบฒเบเบตเปเบเปเบฒเบ, เปเบกเบทเปเบญเบเบเบญเบเบเบฒเบ wading เปเบเบเบเปเบฒเบเบเบฒเบ stretching เบเบญเบเบเบฐเบเบดเบเบชเบฒเบ (เบเบฒเบเบเบตเบญเบฒเบเบฎเบนเปเบเบฑเบเบเบฑเบเบเปเบฒเบเบเบฒเบเบซเบผเบฑเบเบชเบนเบเบงเบดเบเบฐเบเบฒเปเบฅ), เบเบฑเบเบชเบดเบเปเบเบเบตเปเบเบฐเบเบญเบกเปเบเปเปเบฅเบฐเบเบปเบงเบเบดเบเปเบฅเปเบงเปเบเบดเปเบเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบกเบฑเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบเบงเบฒเบกเบเบฐเบเบฑเบเปเบเบเบตเปเบเบฑเบเปเบซเบผเบทเบญเบขเบนเปเปเบเบซเบปเบงเบเบญเบเบเปเบฒเบเปเบกเปเบเบงเปเบฒเบเบตเปเปเบกเปเบเบฎเปเบฒเบเปเบฎเบ. เบเบฐเบเบดเบเบชเบฒเบเบขเบนเปเปเบเบซเบผเบฑเบ, เบกเบฑเบเปเบเปเบเบทเบ invented เบขเปเบฒเบเบเบฑเบเปเบเบเปเบเบ Cool People (เบเบฑเบเบเบฐเบเบดเบเบชเบฒเบเบชเบญเบเบเบปเบ - เบเบนเปเบเบฐเบเบฐ ACM), เปเบฅเบฐเบเปเปเบเบฝเบเปเบเปเปเบ. เปเบเบปเปเบฒเบซเบกเบฒเบ - เปเบเบทเปเบญเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบ off - เปเบเปเบเบฑเบเบฅเบธเบเบปเบ.
เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเปเบฝเบงเบเบฑเบเบเปเบฒเบเบงเบ. เปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบทเบญเบเบเปเบฒเบเบงเปเบฒ
#
เบกเบฑเบเปเบเบฑเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเบเบทnat
, เบเปเบฒโเบเบงเบโเบเปเบฒโเบกเบฐโเบเบฒเบโ:เบกเบตเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบฐเปเบเบ (type-expr) เปเบฅเบฐเบเบฒเบเบชเบฐเปเบเบเบเบปเบงเปเบฅเบ (nat-expr). เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบทเบเบเปเบฒเบเบปเบเบงเบดเบเบตเบเบฒเบเบเบฝเบงเบเบฑเบ.
type-expr ::= expr nat-expr ::= expr
เปเบเปเปเบเปเบงเบเบฒเบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบทเบเบญเบฐเบเบดเบเบฒเบเปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบฝเบงเบเบฑเบ, i.e. เบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบปเบเบเปเบฒเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเปเบฅเบฐเบเบฐเบเบดเบเบฑเบเบเปเบงเบเบกเบท.
เปเบฅเปเบง, เปเบกเปเบเปเบฅเปเบง, เบเบฐเปเบเบเปเบกเปเปเบเบ (vector<int>
, vector<User>
) เบกเบตเบเบปเบงเบฅเบฐเบเบธเบเบปเปเบงเปเบ (#1cb5c415
), i.e. เบเปเบฒเบเปเบฒเบเบฎเบนเปเบงเปเบฒเบเบฒเบเปเบเบเบทเบเบเบฐเบเบฒเบเปเบเบฑเบ
users.getUsers#d91a548 id:Vector<InputUser> = Vector<User>;
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเปเบฒเบเบเปเปเปเบเปเบฅเปเบเปเบฒเบเบฝเบเปเบเป vector, เปเบเป vector เบเบญเบเบเบนเปเปเบเป. เบเบฑเบเปเบเบเบเบงเปเบฒเบเบฑเปเบ, เบเบงเบ เบฅเปเบเปเบฒ - เปเบเบฅเบฐเบซเบฑเบเบเบตเปเปเบเปเบเบดเบ, เบเบธเบเปเบญเบปเบเบเบฐเบเบญเบ, เบเปเบฒเบเปเปเปเบกเปเบเบเบฐเปเบเบเปเบเบปเปเบฒ, เบเบฐเบกเบตเบเบปเบงเบชเปเบฒเบ, เปเบฅเบฐเปเบเบเบฒเบเบเบตเปเบเบตเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบกเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบงเบเปเบเบดเปเบ - เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบทเบเบชเบปเปเบเบเบฑเบเบเบธเบเปเบญเบปเบเบเบฐเบเบญเบเบเบญเบ vector เบเบตเป. เบเบฐเปเบเบเบเบฑเปเบ? เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฒเบงเปเบฒเบกเบฑเบเปเบเบฑเบเบเบฒเบเบเบฐเปเบเบเบเบญเบ PHP, เปเบ array เบชเบฒเบกเบฒเบเบเบฐเบเบญเบเบกเบตเบเบฐเปเบเบเบเปเบฒเบเปเปเบเบญเบปเบเบเบฐเบเบญเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ?
เปเบเบเบธเบเบเบตเป, เบเปเบฒเบเปเบฅเบตเปเบกเบเบดเบเบงเปเบฒ - เบเบฑเปเบเบเปเบฒเบงเปเบเบฑเบ TL เบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบเบเป? เบเบฒเบเบเบตเบชเปเบฒเบฅเบฑเบเปเบเบเบฎเปเบฒเบเบเบฒเบเบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเปเบเป serializer เบเบญเบเบกเบฐเบเบธเบ, protobuf เบเบฝเบงเบเบฑเบเบเบตเปเบกเบตเปเบฅเปเบง? เบเบฑเปเบเปเบกเปเบเบเบดเบเบชเบฐเบเบต, เปเบซเปเปเบเบดเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ.
เบเบฒเบเบเบฐเบเบดเบเบฑเบ TL เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเปเบเบฅเบฐเบซเบฑเบ
TL เปเบเบตเบเบขเบนเปเปเบเบเบงเบฒเบกเปเบฅเบดเบเบเบญเบ VKontakte เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบญเบเบเบตเปเบเบฐเบกเบตเปเบซเบเบเบฒเบเบเบตเปเบกเบตเบเบทเปเบชเบฝเบเบเบตเปเบกเบตเบเบฒเบเบเบฒเบเบฎเบธเปเบเบเบญเบ Durov เปเบฅเบฐ (เปเบเปเบเบญเบ), เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบญเบเบเบตเปเบเบฐเบเบฑเบเบเบฐเบเบฒเบเบญเบ Telegram เปเบเปเปเบฅเบตเปเบกเบเบปเปเบ. เปเบฅเบฐเปเบเปเบซเบผเปเบเปเบเบตเบ
Templates are not used now. Instead, the same universal constructors (for example, vector {t:Type} [t] = Vector t) are used w
เปเบเปเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบดเบเบฒเบฅเบฐเบเบฒ, เบชเปเบฒเบฅเบฑเบเบเบงเบฒเบกเบชเบปเบกเบเบนเบ, เปเบเบทเปเบญเบเบดเบเบเบฒเบก, เบเบฑเปเบเบเบฑเปเบเบเบฒเบเปเบงเบปเปเบฒ, evolution เบเบญเบ Giant เบเบญเบเบเบงเบฒเบกเบเบดเบ.
#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>;
เบเบตเปเปเบกเปเบเบเปเบฒเบเบดเบเบฒเบกเบเบญเบเบเบฐเปเบเบเปเบกเปเปเบเบ hashmap เปเบเบฑเบ vector เบเบญเบ int - เบเบฐเปเบเบเบเบนเป. เปเบ C++ เบกเบฑเบโเบเบฐโเปเบเบดเปเบโเบเบฒเบโเบชเบดเปเบโเบเบฒเบโเบขเปเบฒเบโเปเบเบฑเปเบโเบเบตเปโ:
template <T> class IntHash {
vector<pair<int,T>> _map;
}
เบเบฑเปเบเบเบฑเปเบ, alpha
- เบเปเบฒเบชเปเบฒเบเบฑเบ! เปเบเปเบเบฝเบเปเบเปเบขเบนเปเปเบ C ++ เบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฝเบ T, เปเบเปเบเปเบฒเบเบเบงเบเบเบฝเบ alpha, beta ... เปเบเปเบเปเปเบกเบตเบซเบผเบฒเบเบเปเบงเบฒ 8 เบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบ, เบเบฑเปเบเปเบกเปเบเบเปเบญเบเบเบตเป fantasy เบชเบดเปเบเบชเบธเบเบฅเบปเบ. เปเบเบดเปเบโเบเบทโเบงเปเบฒโเบเบฑเปเบโเปเบถเปเบโเบขเบนเปโเบเบตเปโเปเบกเบทเบญเบ St.
-- ะะฐะดะพ ัะดะตะปะฐัั ะฒ TL ัะฐะฑะปะพะฝั
-- ะะป... ะั ะฟัััั ะฟะฐัะฐะผะตััั ะทะพะฒัั ะฐะปััะฐ, ะฑะตัะฐ,... ะะฐะบะธะต ัะฐะผ ะตัั ะฑัะบะฒั ะตััั... ะ, ัััะฐ!
-- ะัะฐะผะผะฐัะธะบะฐ? ะั ะฟะพัะพะผ ะฝะฐะฟะธัะตะผ
-- ะกะผะพััะธัะต, ะบะฐะบะพะน ั ัะธะฝัะฐะบัะธั ะฟัะธะดัะผะฐะป ะดะปั ัะฐะฑะปะพะฝะพะฒ ะธ ะฒะตะบัะพัะฐ!
-- ะขั ะดะพะปะฑะฐะฝัะปัั, ะบะฐะบ ะผั ััะพ ะฟะฐััะธัั ะฑัะดะตะผ?
-- ะะฐ ะฝะต ััััะต, ะพะฝ ัะฐะผ ะพะดะธะฝ ะฒ ัั
ะตะผะต, ะทะฐั
ะฐัะบะพะดะธัั -- ะธ ะพะบ
เปเบเปเบเบตเปเปเบกเปเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบดเบกเปเบเบตเบเปเบเปเบเบฑเปเบเบเปเบฒเบญเบดเบเบเบญเบ TL "เปเบเบเบเบปเปเบงเปเบ". เบเปเปเบซเปเบเปเบฒเบงเปเบเบชเบนเปเบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเบฅเบนเบเบเปเบฒ Telegram เปเบญเบ.
เบเปเบฒโเบชเบฑเบโเบเปเบฒเบเปโเบเบฑเบ Vasilyโ:
Vasily, [09.10.18 17:07] เบเบตเปเบชเบธเบ, เบเบปเปเบเปเบกเปเบเบฎเปเบญเบเปเบเบฒเบฐเบงเปเบฒเบเบงเบเปเบเบปเบฒเบชเปเบฒเบเบเปเปเบเบญเบ abstractions, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ hammered bolt เปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒ, เปเบฅเบฐเบเบงเบกเปเบญเบปเบฒเปเบเบทเปเบญเบเบเปเบฒเปเบเบตเบเบฅเบฐเบซเบฑเบเบเปเบงเบเปเบกเปเบเปเปเบฒ.
เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบญเบดเบเบเบฒเบ dock pilot.jpg
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบเบฅเบฐเบซเบฑเบ dzhekichan.webp
เปเบเปเบเบญเบ, เบเบฒเบเบเบปเบเบเบตเปเบเบธเปเบเปเบเบตเบเบเบฑเบ algorithms เปเบฅเบฐเบเบฐเบเบดเบเบชเบฒเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบฒเบเบซเบงเบฑเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเปเบเปเบญเปเบฒเบ Aho, Ullmann, เปเบฅเบฐเบเบธเปเบเปเบเบตเบเบเบฑเบเปเบเบทเปเบญเบเบกเบทเบเบตเปเปเบเปเบเบฒเบเปเบเบฑเบเบกเบฒเบเบเบฐเบเบฒเบเปเบเบญเบธเบเบชเบฒเบซเบฐเบเปเบฒเบซเบฅเบฒเบเบชเบดเบเบเบตเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฝเบเบเบปเบงเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบ DSL เบเบญเบเบเบงเบเปเบเบปเบฒ, เปเบกเปเบเบเป?..
เปเบเบเบเบนเปเบเบฝเบ
16.12 04:18 Vasily: เบเปเบญเบเบเบดเบเบงเปเบฒเบเบฒเบเบเบปเบเบเปเปเปเบเปเบชเบญเบ lex+yacc
16.12 04:18 Vasily: เบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเบญเบฐเบเบดเบเบฒเบเปเบเป
16.12 04:18 Vasily: เบเบต, เบซเบผเบทเบเบงเบเปเบเบปเบฒเปเบเปเบฎเบฑเบเบเปเบฒเบเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบงเบเบชเบฒเบเปเบ VK.
16.12 04:19 Vasily: 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+ เปเบเบงเปเบ Python, เบชเบญเบเบชเบฒเบกเบเบปเบงเบชเบฐเปเบเบเบเบปเบเบเบฐเบเบด + เบเปเบฅเบฐเบเบตเบเบดเปเบชเบเปเบเบฑเปเบ vector, เปเบเบดเปเบ, เปเบเปเบเบญเบ, เปเบเปเบเบทเบเบเบฐเบเบฒเบเปเบเปเบเบเบเบฒเบเบเปเบญเบเบงเปเบฒเบกเบฑเบเบเบงเบเบเบฐเปเบเบฑเบเปเบเบเบฒเบก syntax TL, เปเบเปเบเบงเบเปเบเบปเบฒเบญเบตเบเปเบชเป syntax เบเบตเปเปเบเบทเปเบญเบงเบดเปเบเบฒเบฐเบกเบฑเบ ... เบเปเบฒเบเบฒเบกเบเบตเปเปเบเบตเบเบเบทเปเบ, เปเบเบฑเบเบซเบเบฑเบเบกเบฑเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบกเบฐเบซเบฑเบเบชเบฐเบเบฑเบ?ะธเบกเบฑเบโเปเบเบฑเบโเบเบฑเปเบโเบเบงเปเบฒโเบเปเบฒโเบเปเปโเบกเบตโเปเบโเบเบฐโเปเบเบโเบกเบฑเบโเบเบฒเบกโเปเบญโเบเบฐโเบชเบฒเบโเปเบเปโ?!
เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ ... เบเบทเปเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบงเบเบชเบญเบ CRC32 เบเป? เบเบฑเปเบเบเบฑเปเบ, เปเบเปเบเบทเปเบญเบเบชเปเบฒเบเบฅเบฐเบซเบฑเบ Telegram Desktop เบกเบตเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบเปเปเบเบปเบเปเบงเบฑเปเบเบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบเปเบซเบผเบปเปเบฒเบเบฑเปเบเบเบตเป CRC32 เบเบตเปเบเบทเบเบเบดเบเปเบฅเป. เบเปเปเบเบปเบเบเบฑเบ เบเบฑเบเบญเบฑเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเปเบเบเบงเบฒเบ!
Vasily, [18.12/22 49:XNUMX] เปเบฅเบฐเปเบเบเบตเปเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเบเบดเบเบเปเบฝเบงเบเบฑเบเบงเปเบฒ TL เบเบฑเปเบเบเปเบฒเบงเปเบกเปเบเบเปเบฒเปเบเบฑเบเบเป?
เบเปเบฒเบเปเบญเบเบเปเบญเบเบเบฒเบเบเบฑเบเบเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบ, เบเปเบญเบเบเบฐเปเบฅเบตเปเบกเปเบชเปเบเบปเบงเปเบเปเบเปเบเบง, เปเบเบดเปเบเบซเบเบถเปเบเบเบญเบเบเบปเบงเบงเบดเปเบเบฒเบฐเบเบฐเปเบเบเปเบเบเปเบฒเบเบดเบเบฒเบกเบซเบผเบฒเบเปเบชเบฑเปเบ.
tdesktop, เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ
เบเบทเบเปเปเบกเบนเบเบเบฒเบเบเบธเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบซเบเบถเปเบ liner, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฑเบเบเบทเบเปเบเบซเบฒเบกเบฑเบเปเบฅเบฑเบเบเปเบญเบเบเปเปเบกเบฒ.
เบเบปเบเบฅเบปเบ, telegram-cli เปเบกเปเบเบเปเปเปเบเบฑเบเบเบฒเบเบเบฒเบ, Telegram Desktop เปเบเบฑเบเบเบฒเบเบเบฒเบ, เปเบเปเบชเบดเปเบเบเบตเปเบเปเบฝเบงเบเบฑเบเบเบปเบเบญเบทเปเบ? เปเบเบฎเบนเป?.. เปเบเบฅเบฐเบซเบฑเบเบฅเบนเบเบเปเบฒ Android เบเปเปเบกเบต schema parser เปเบฅเบตเบ (เปเบเบดเปเบเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเปเบฒเบเบฒเบกเบเปเบฝเบงเบเบฑเบเปเบซเบผเปเบเปเบเบตเบ, เปเบเปเบเบตเปเปเบกเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเบชเบญเบ), เปเบเปเบกเบตเบฅเบฐเบซเบฑเบเบเบฐเบซเบฅเบปเบเบซเบผเบฒเบ, เปเบเปเบกเบตเบซเบผเบฒเบเบเบงเปเบฒเบเบฑเปเบเปเบ เบเบฒเบเบชเปเบงเบเบเปเบญเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเป.
เบเปเบฒเบเบฒเบกเบญเบทเปเบเปเบเบเบตเป serialization เบเบปเบเบเบถเปเบเบกเบฒเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ? เบเบปเบงเบขเปเบฒเบ, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเปเบฎเบฑเบเบซเบผเบฒเบเบขเปเบฒเบ, เปเบเปเบเบญเบ, เบกเบตเบเปเบญเบเบเบดเบเปเบฅเบฐเบเบทเปเบเบเบตเปเบเบตเปเบกเบตเปเบเบทเปเบญเบเปเบ:
Vasily:
flags.0? true
เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเปเบกเปเบเบเบฐเบเบธเบเบฑเบเปเบฅเบฐเปเบเบปเปเบฒเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเปเบฒเบเบธเบเบเบทเบเบเบฑเปเบVasily:
flags.1? int
เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบกเปเบกเปเบเบเบฐเบเบธเบเบฑเบเปเบฅเบฐเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบ deserializedVasily: Ass, เบขเปเบฒเบเบฑเบเบงเบปเบเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเปเปเบเบปเปเบฒเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบ!
Vasily: เบกเบตเบเบฒเบเบเปเบฒเบงเปเบเบดเบเบเบฒเบเบเปเบญเบเปเบเปเบญเบเบฐเบชเบฒเบเบงเปเบฒเบเบงเบฒเบกเบเบดเบเปเบกเปเบเบเบฐเปเบเบเบเบตเปเบเปเปเบกเบตเบเบงเบฒเบกเบเบฒเบง, เปเบเปเบกเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเบฅเบงเบเบฅเบงเบกเบชเบดเปเบเปเบเบเบฒเบเปเบญเบเบฐเบชเบฒเบเบเบญเบเบเบงเบเปเบเบปเบฒ.
Vasily: เปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเปเบซเบผเปเบเปเบเบตเบ, เบเบตเปเบเปเปเปเบกเปเบเบเปเบฅเบฐเบเบต, เปเบเปเบงเปเบฒเบกเบตเปเบกเปเบเปเบญเบเปเบฅเบฐเปเบเบทเปเบญเบเบฎเบญเบ.
เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฝเบงเบเบฑเบ Telethon? เบเบญเบเบซเบฒเบฅเปเบงเบเบซเบเปเบฒเบเบฑเบเบซเบปเบงเบเปเปเบเบญเบ MTProto, เบเบปเบงเบขเปเบฒเบ - เปเบเปเบญเบเบฐเบชเบฒเบเบกเบตเบเปเบญเบเบเบฑเปเบเบเปเบฒเบง, เปเบเปเปเบเบทเปเบญเบเบซเบกเบฒเบ. %
เบกเบฑเบเปเบเปเบเบทเบเบญเบฐเบเบดเบเบฒเบเบเบฝเบเปเบเปเปเบเบฑเบ "เบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบฑเบเบเบฐเปเบเบเปเบเบปเปเบฒ", i.e. เปเบเบเบปเบงเบขเปเบฒเบเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเบกเบตเบเปเปเบเบดเบเบเบฒเบเบซเบผเบทเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเปเปเบกเบตเปเบญเบเบฐเบชเบฒเบ:
Vasily, [22.06.18 18:38] เปเบเบชเบฐเบเบฒเบเบเบตเปเบซเบเบถเปเบ:
msg_container#73f1f8dc messages:vector message = MessageContainer;
เปเบโเบเบตเปโเปเบเบโเบเปเบฒเบโเบเบฑเบโ:
msg_container#73f1f8dc messages:vector<%Message> = MessageContainer;
เปเบฅเบฐเปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบชเบญเบเบเบงเบฒเบกเปเบเบเบเปเบฒเบเปเบซเบเป, เปเบเบเบตเบงเบดเบเบเบดเบเบเบฒเบเบเบฐเปเบเบเบเบญเบ vector naked เบกเบฒ
เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเปเปโเปเบเปโเปเบซเบฑเบโเบเปเบฒโเบเบดโเบเบฒเบก vector เปเบเบปเปเบฒโเปเบฅเบฐโเบเปเปโเปเบเปโเบเบปเบโเปเบซเบฑเบโเบซเบเบถเปเบโ
เบเบฒเบเบงเบดเปเบเบฒเบฐเปเบกเปเบเบเบฝเบเบเปเบงเบเบกเบทเปเบ telethon
เปเบเปเบเบเบงเบฒเบเบเบญเบเบฅเบฒเบงเบเปเบฒเบเบดเบเบฒเบกเปเบเปเบเบทเบเบชเบฐเปเบเบเบญเบญเบ
msg_container
เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเปเบฒเบเบฒเบกเบเบฑเบเบเบปเบเบเปเบฝเบงเบเบฑเบ %. เบกเบฑเบเบเปเปเปเบเปเบเบทเบเบญเบฐเบเบดเบเบฒเบ.
Vadim Goncharov, [22.06.18 19:22] เปเบฅเบฐเปเบ tdesktop?
Vasily, [22.06.18 19:23] เปเบเป TL parser เบเบญเบเบเบงเบเปเบเบปเบฒเปเบเปเบเบทเปเบญเบเบเบฑเบเบเบปเบเบเบฐเบเบดเบชเปเบงเบเบซเบผเบฒเบเบเบฐเบเปเปเบเบดเบเบเบตเป.
// parsed manually
TL เปเบเบฑเบเบชเบดเปเบเบซเบเปเปเบเปเปเบเบตเปเบชเบงเบเบเบฒเบก, เบเปเปเบกเบตเปเบเบเบฐเบเบดเบเบฑเบเบกเบฑเบเบขเปเบฒเบเบชเบปเบกเบเบนเบ
เปเบฅเบฐ % เบเปเปเปเบเปเบขเบนเปเปเบเบชเบฐเบเบฑเบเบเบญเบเบเบงเบเปเบเบปเบฒเบเบญเบเปเบเบเบเบฒเบ
เปเบเปเปเบเบเบตเปเบเบตเปเปเบญเบเบฐเบชเบฒเบเบเบฑเบเบเบฑเบเบเบปเบงเบกเบฑเบเปเบญเบ, เบเบฑเปเบเบเบฑเปเบ idk
เบกเบฑเบเบเบทเบเบเบปเบเปเบซเบฑเบเบขเบนเปเปเบเปเบงเบเบฒเบเบญเบ, เบเบงเบเปเบเบปเบฒเบชเบฒเบกเบฒเบเบฅเบทเบกเบเบฝเบเปเบเปเบญเบฐเบเบดเบเบฒเบเบเบงเบฒเบกเบซเบกเบฒเบ
เปเบเบปเปเบฒเปเบซเบฑเบเปเบญเบเบฐเบชเบฒเบเปเบ TL, เปเบเบปเปเบฒเบเปเปเบชเบฒเบกเบฒเบเบเบดเบเปเบเปเบงเปเบฒเบเปเปเบกเบตเปเบเบดเปเบเบฅเบดเบ
"เปเบฅเปเบง, เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒ," เบเบนเปเบญเปเบฒเบเบญเบตเบเบเบปเบเบซเบเบถเปเบเบเบฐเปเบงเบปเปเบฒเบงเปเบฒ, "เบเปเบฒเบเบงเบดเบเบฒเบเบงเบดเบเบฒเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบชเบฐเบเบฑเปเบเบชเบฐเปเบเบเปเบซเปเบเปเบญเบเปเบซเบฑเบเบงเปเบฒเบกเบฑเบเบเบงเบเบเบฐเปเบฎเบฑเบ."
Vasily เบเบญเบเบงเปเบฒ: "เบชเปเบฒเบฅเบฑเบเบเบฑเบเบงเบดเปเบเบฒเบฐ, เบเปเบญเบเบกเบฑเบเบชเบดเปเบเบเปเบฒเบเปเปเบเบฑเปเบ
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 ) ); }
;
somehow เบกเบฑเบโเบกเบฑเบโเบเบตเบโเบงเปเบฒโ
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)
เบเบตเปเปเบกเปเบ lexer เบเบฑเบเบซเบกเบปเบ:
---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];
เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เบเปเบฒเบเบเบฒเบเปเบกเปเบเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบญเปเบญเบเปเบเบ.โ
เปเบเบเบเบปเปเบงเปเบ, เบเบฑเปเบเบเบฑเปเบ, parser เปเบฅเบฐ code generator เบชเปเบฒเบฅเบฑเบเบเบธเบเบเปเบญเบเบเบตเปเปเบเปเบเบปเบงเบเบดเบเบเบญเบ TL เปเบซเบกเบฒเบฐเปเบเบปเปเบฒเปเบเปเบเบเบฐเบกเบฒเบ 100 เบชเบฒเบเบเบญเบเปเบงเบเบฒเบเบญเบเปเบฅเบฐ ~ 300 เบชเบฒเบเบเบญเบเปเบเบทเปเบญเบเบเปเบฒเปเบเบตเบเปเบเบเปเบฒ (เบเบฑเบเบเบฑเบเบซเบกเบปเบ. print
เบฅเบฐเบซเบฑเบเบเบตเปเบชเปเบฒเบเบเบถเปเบ), เบฅเบงเบกเบเบฑเบเบเปเปเบกเบนเบเบเบฐเปเบเบ buns เบชเปเบฒเบฅเบฑเบเบเบฒเบ introspection เปเบเปเบเปเบฅเบฐเบซเปเบญเบเบฎเบฝเบ. เปเบเปเบฅเบฐเบเบฐเปเบเบ polymorphic เบเบฒเบเปเบเบฑเบเบซเปเบญเบเบฎเบฝเบเบเบทเปเบเบเบฒเบเบเบตเปเบเปเปเบกเบตเบเบปเบงเบเบปเบเบซเบงเปเบฒเบเปเบเบปเปเบฒ, เปเบฅเบฐเบเบนเปเบเปเปเบชเปเบฒเบเปเบเปเบฎเบฑเบเบกเปเบฅเบฐเบเบปเบเบเบฒเบเบกเบฑเบเปเบฅเบฐเบกเบตเบงเบดเบเบตเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบ serialization เปเบฅเบฐ deserialization.
เบเบฒเบเบเบฐเปเบเบเปเบเบเบฒเบชเบฒเบเบฐเปเบเบ
เบเบฒเบเบเบดเบกเบเบตเปเปเบเบฑเปเบกเปเบเบเปเบเบฑเบเบชเบดเปเบเบเบตเปเบเบต, เบเปเปเปเบกเปเบเบเป? เบเปเป, เบเบตเปเบเปเปเปเบกเปเบ holivar (เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเปเบญเบเบกเบฑเบเบเบฒเบชเบฒเปเบเบเปเบเบทเปเบญเบเปเบซเบง), เปเบเปเปเบเบฑเบ postulate เบเบฒเบเปเบเบเบญเบเบเบญเบ TL. เบญเบตเบเปเบชเปเบกเบฑเบ, เบเบฒเบชเบฒเบเบงเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเบงเบเบชเบญเบเบเบธเบเบเบฐเปเบเบเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ. เบเบต, เบเปเปเปเบเบฑเบเบซเบเบฑเบ, เบญเบฒเบเบเบฐเบเปเปเปเบกเปเบเบเบปเบงเบฅเบฒเบงเปเบญเบ, เปเบเปเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เปเบเปเบขเปเบฒเบเบซเบเปเบญเบเบเบงเบเบญเบฐเบเบดเบเบฒเบเปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒ. เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเปเบญเบเบฒเบเบเบฐเปเบเบเปเบ?
เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบเปเป เบเบณ เบเบฑเบ. เบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบขเบนเปเปเบเปเบญเบเบฐเบชเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบญเบฑเบเปเบซเบฅเบเปเบเบฅเป:
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เปเบเบทเปเบญเปเบเบเบฒเบเบชเบญเบเบเบญเบเปเบเบฅเปเปเบเปเบเบทเบเปเบเปเบเบญเบญเบเปเบเบฑเบเบเบฒเบเบชเปเบงเบ. เบเบธเบเบเบฒเบเบชเปเบงเบเบเปเบญเบเบกเบตเบเบฐเปเบฒเบเบเบฝเบงเบเบฑเบ ( part_size ) เปเบฅเบฐโเปเบเบทเปเบญเบโเปเบโเบเบฑเปเบโเบเปเปโเปเบโเบเบตเปโเบเบฐโเบเปเบญเบโเปเบเปโเบฎเบฑเบโ:
part_size % 1024 = 0
(เปเบเปเบเบเปเบงเบ 1KB)524288 % part_size = 0
(512KB เบเปเบญเบโเปเบเปเบโเปเบซเปโเปเบเบปเปเบฒโเบเบฝเบกโเบเบฑเบโเปเบเบ part_sizeโ)เบชเปเบงเบเบชเบธเบเบเปเบฒเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเปเบซเปเปเบเบทเปเบญเบเปเบเปเบซเบผเบปเปเบฒเบเบตเป, เบเบฐเบซเบเบฒเบเบเบญเบเบกเบฑเบเปเบกเปเบเบซเบเปเบญเบเบเบงเปเบฒ part_size.
เปเบเปเบฅเบฐเบเบฒเบเบชเปเบงเบเบเบงเบเบกเบตเบเบปเบงเปเบฅเบเบฅเปเบฒเบเบฑเบ, file_part, เบกเบตเบกเบนเบเบเปเบฒเบเบฑเปเบเปเบเป 0 เบซเบฒ 2,999.
เบซเบผเบฑเบโเบเบฒเบโเบเบตเปโเปเบเบฅโเปโเปเบเปโเบเบทเบโเปเบเปเบโเบเบฑเบโ, เบเปเบฒเบโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบฅเบทเบญเบโเปเบญเบปเบฒโเบงเบดโเบเบตโเบเบฒเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเบฐโเบขเบฑเบโเบกเบฑเบโเปเบโเปเบเบทเปเบญเบโเปเบกเปโเบเปเบฒเบโ. เปเบเป
upload.saveBigFilePart เปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเบฐเบซเบเบฒเบเปเบเบฑเบกเบเบญเบเปเบเบฅเปเปเบกเปเบเบซเบผเบฒเบเบเปเบงเบฒ 10 MB เปเบฅเบฐupload.saveFilePart เบชเปเบฒเบฅเบฑเบเปเบเบฅเปเบเบฐเบซเบเบฒเบเบเปเบญเบเบเบงเปเบฒ.
[โฆ] เปเบถเปเบเปเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเบเปเปเปเบเบเบตเปเบญเบฒเบเบเบฐเบเบทเบเบชเบปเปเบเบเบทเบ:
- FILE_PARTS_INVALID โ เบเบณเบเบงเบเบเบดเปเบเบชเปเบงเบเบเปเปเบเบทเบเบเปเบญเบ. เบกเบนเบเบเปเบฒเบเปเปเปเบกเปเบเบฅเบฐเบซเบงเปเบฒเบ
1..3000
เบกเบตเบญเบฑเบเปเบเบญเบฑเบเปเบถเปเบเบขเบนเปเปเบเปเบเบเบงเบฒเบเบเป? เบเบตเปเปเบกเปเบเบเบฒเบเบชเบฐเปเบเบเบญเบญเบเบเบฒเบเบขเปเบฒเบเปเบเบเปเบเป TL? เบเปเป. เปเบเปเบเปเปเบเบ, เปเบกเปเบเปเบเป Turbo Pascal เบเบญเบเบเปเปเบเบนเปเบเปเบชเบฒเบกเบฒเบเบญเบฐเบเบดเบเบฒเบเบเบฐเปเบเบเบเปเบฒเบเปเปเบเป เบเปเบงเบ. เปเบฅเบฐเบฅเบฒเบงเบฎเบนเปเบญเบตเบเบขเปเบฒเบเบซเบเบถเปเบ, เบเบฐเบเบธเบเบฑเบเปเบเบฑเบเบเบตเปเบฎเบนเปเบเบฑเบเบเบฑเบเบเบตเปเบเบเบฒเบก enum
- เบเบฐโเปเบเบโเบเบฐโเบเบญเบโเบเปเบงเบ enumeration เบเบญเบโเบเปเบฒโเบเบงเบโเบเบปเบโเบเบตเป (เบเปเบญเบโ) เบเบญเบโเบเปเบฒโ. เปเบเบเบฒเบชเบฒเปเบเบฑเปเบ C - เบเบปเบงเปเบฅเบ, เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบกเบฒเบฎเบญเบเบเบฐเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบเบฐเปเบเบเปเบเบปเปเบฒเบเบฑเปเบ เบเบปเบงเปเบฅเบ. เปเบเปเบเบฑเบเบกเบต arrays, strings ... เบเบปเบงเบขเปเบฒเบ, เบกเบฑเบเบเบฐเปเบเบฑเบเบเบฒเบเบเบตเบเบตเปเบเบฐเบเบฑเบเบฅเบฐเบเบฒเบงเปเบฒ string เบเบตเปเบกเบตเบเบฝเบเปเบเปเปเบเบตเปเบเบฅเบฐเบชเบฑเบเปเบเบปเปเบฒเบเบฑเปเบ, เปเบกเปเบเบเป?
เบเปเปเบกเบตเบญเบฑเบเบเบตเปเบขเบนเปเปเบ TL. เปเบเปเบกเบต, เบชเปเบฒเบฅเบฑเบเบเบปเบงเบขเปเบฒเบ, เปเบ JSON Schema. เปเบฅเบฐเบเปเบฒเบเบนเปเบญเบทเปเบเบญเบฒเบเบเบฐเปเบเปเบเบฝเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบเปเบเบชเปเบงเบเบเบญเบ 512 KB, เบงเปเบฒเบเบตเปเบเบฑเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบงเบเบชเบญเบเบฅเบฐเบซเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบซเปเปเบเปเปเบเบงเปเบฒเบฅเบนเบเบเปเบฒเบเบฝเบเปเบเป. เบเปเปโเบชเบฒโเบกเบฒเบ เบชเบปเปเบเบเบปเบงเปเบฅเบเบญเบญเบเบเบฒเบเบเบญเบเปเบเบ 1..3000
(เปเบฅเบฐเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบตเบเบเบถเปเบเปเบเป) เบกเบฑเบเปเบเบฑเบเปเบเปเบเป, เบเปเปเปเบกเปเบเบเป? ..
เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบฅเบฐเบเปเบฒเบเบฑเบเบเบทเบ. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบนเปเบเบตเปเปเบเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ TL เปเบฎเบฑเบเปเบซเปเบกเบปเบงเบเบฒเบเบญเบเบเบงเบเปเบเบปเบฒ - เบกเบฑเบเบเปเปเบฎเบธเปเบเบฅเบธเบเปเบเบเบฑเบเบเบต เปเบเปโเบฅเบฐโเบญเบฑเบ เบเบฑเบเบเบฑเบเปเบ TL เบชเบฒเบกเบฒเบเบเบฑเบเบเบทเบเบกเบฒเบเปเปเบเบฝเบเปเบเปเบเบฐเปเบเบเบเบปเบเบเบญเบเปเบเบเบเบตเปเบญเบฐเบเบดเบเบฒเบ, เปเบเปเบเบฑเบเปเบเบฑเบเบเปเปเบเบดเบเบเบฒเบ. เปเบเปเบเบตเปเบเปเปเบชเบฒเบกเบฒเบ deduced เปเบเบเบฒเบเปเบเบเปเปเบเบฒเบกเปเบเบเปเบเป TL เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบ. เปเบเปเบเบญเบ, เบกเบฑเบเบเบฐเปเบเปเบเปเบฅเปเบงเปเบฅเบฐเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเบชเบดเปเบเปเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ (เปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ, RPC เบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบงเบดเบเบตเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฑเบเบเบทเบเบกเบฒเปเบเบเบฒเบเบซเบฅเบฑเบ) - เปเบเปเบชเบดเปเบเบเบตเปเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเปเบฅเบดเบชเบธเบเบเบญเบเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฐเบเบดเบเบชเบฒเบเบเบญเบเบเบฐเปเบเบเบเปเปเบกเบตเบเบปเบงเบเบปเบ. เบเบฒเบโเปเบฅเบโเบชเบฐโเบซเบงเบฑเบโ?.. เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเปเบเปโเปเบญเบปเบฒโเบเบถเปเบ tug - เบเบฑเปเบโเบเบฑเปเบโเบเปเบฒโเบงเปเบฒโเบกเบฑเบโ.
เปเบฅเบฐเบชเบธเบเบเปเบฒเบ, เปเบกเปเบเบซเบเบฑเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบญเปเบฒเบ? เบเบต, เปเบเบเบเบปเปเบงเปเบ, เบเปเบญเบเบเปเบญเบเบเบฒเบ เบเปเบฒเบญเบฐเบเบดเบเบฒเบ เบกเบฑเบเบเบทเบเบเปเบญเบเปเบ schema (เปเบ JSON schema, เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบกเบฑเบเปเบกเปเบ), เปเบเปเบเปเบฒเบเปเบฒเบเบกเบตเบเบงเบฒเบกเปเบเบฑเปเบเบเบถเบเบเบฑเบเบกเบฑเบเปเบฅเปเบง, เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฝเบงเบเบฑเบเบเปเบฒเบเบเบฐเบเบดเบเบฑเบ - เบขเปเบฒเบเบซเบเปเบญเบเปเบฅเบฑเบเบเปเบญเบเบเบตเปเบเบฐเปเบเบดเปเบเบเบงเบฒเบกเปเบเบเบเปเบฒเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฑเบเบเบธเบ? เปเบเบดเปเบเบชเปเบฒเบฅเบฑเบเบเบปเบงเบเปเบฒเบเปเบญเบเบเบตเป
-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 เบเบงเบฒเบกเปเบเบเบเปเบฒเบ", เปเบฅเบฐเบชเบดเปเบเบเบตเปเบชเบฐเบซเบกเบญเบเปเบซเบฑเบเบเบฑเบเบเบตเปเบกเปเบเบงเปเบฒเบเบธเบเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเบเบธเบเบชเบดเปเบเบชเบธเบเปเบเบเบฑเบเบชเบญเบเบเบปเบงเบขเปเบฒเบเปเบกเปเบเบเบทเบเบฑเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบญเปเบฒเบเบเบตเปเบซเบเปเบฒเปเบเบทเปเบญเบซเบเปเบฒเบเปเบเบเบฒเบ ... เปเบเบเบงเบฒเบกเบเบดเบเปเบซเบฑเบเบเบญเบเบเปเบญเบ, เบเบตเปเบเปเปเปเบกเปเบเบเบฝเบเปเบเปเปเบเบเบดเบเบชเบฐเบเบต, เปเบเปเบขเปเบฒเบเบเบฝเบงเบเบฑเบเบชเบฒเบเบเบฒ เปเบเบทเปเบญเบ เปเบฅเบฐ sloppy.
เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเปเบฅเบดเบชเบธเบเบเบญเบเบเบดเบเบชเบฐเบเบต. เปเบเบฑเบเบซเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเบเปเบญเบ? เบกเบฑเบเปเบเบดเปเบเบเบทเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเปเป เบกเบตเบเบดเปเบเบซเบญเบก เบเปเปเบเบตเบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบดเบเบชเบฐเบเบตเบเบฐเปเบเบ? เบเปเบฒเบญเบฐเบเบดเบเบฒเบเบชเบฒเบกเบฒเบเปเบซเบฑเบเปเบเปเปเบเบชเบฐเบเบฑเบเบเปเบญเบเบซเบเปเบฒเบเบญเบเปเบเบเบงเบฒเบ. เบเปเบฒเบญเบดเบ, เปเบกเปเบเปเบฅเปเบง, เบกเบฑเบเปเบเบฑเบเปเบเบงเปเบ, เบชเปเบฒเบฅเบฑเบเบเบธเบเปเบเบฒเบเบเบฒเบก, เบเบฐเปเบเบเปเบซเบกเปเปเบเปเบเบทเบเบชเปเบฒเบเบเบทเปเบ. rudiments เปเบซเบผเบปเปเบฒเบเบตเปเบเบฑเบเบกเบตเบขเบนเปเปเบเบฎเบนเบเปเบเบเบเบตเป, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ:
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 เบเบฐเปเบเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเปเบเบฑเบเปเบเปเบเปเบเบฑเบเบซเบกเบปเบ. เบเบฒเบเบฅเบฐเปเบเบตเบเบเบฐเบชเบปเบก. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบฒเบกเบเปเบฅเบดเบชเบธเบเปเบเปเบเบเบเบฑเบเบเบญเบเบเบดเบเบชเบฐเบเบต TL เปเบเปเปเบเบเบซเบฑเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบเปเปเบเบฑเบเบเบปเปเบเบเบญเบเบเบฒเบเปเบซเบผเบฑเบเบชเบฝเบเปเบซเบงเบเบเบฑเบเบซเบกเบปเบเบเบญเบเบเบงเบฒเบกเปเบเบฑเบเบเบดเบ harsh เบเบญเบ serialization.
เบเบญเบเบเบฒเบเบเบฑเปเบ, เปเบเบเบฒเบเบเปเบญเบ, เบเบปเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบญเบเบฅเบฐเปเบกเบตเบ typology เบเบญเบเบเบปเบเปเบญเบ. เบเบปเบงเบขเปเบฒเบ, เปเบ MTProto (เบเบปเบเบเปเปเปเบ) เบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบชเบฒเบกเบฒเบเบเบทเบเบเบตเบเบญเบฑเบเปเบเบ Gzip, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบต - เบเบปเบเปเบงเบฑเปเบเบงเปเบฒเบเบฑเปเบเปเบฅเบฐเบงเบปเบเบเบญเบเบเบทเบเบฅเบฐเปเบกเบตเบ. เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบกเบฑเบเบเปเปเปเบกเปเบ RpcResult เบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเบเบตเปเบเบทเบเปเบเบฑเบเบเปเบฝเบง, เปเบเปเปเบเบทเปเบญเปเบเบเบญเบเบกเบฑเบ. เปเบฅเปเบง, เปเบเบฑเบเบซเบเบฑเบเปเบฎเบฑเบเปเบเบเบเบตเป?.. เบเปเบญเบเบเปเบญเบเบเบฑเบเปเบเบฑเบเปเบกเปเบเปเบญเบเปเบเบทเปเบญเบเบฒเบเบเบตเบเบญเบฑเบเบเบฐเปเบฎเบฑเบเบงเบฝเบเปเบเปเบเบธเบเบเปเบญเบ.
เบซเบผเบทเบเบปเบงเบขเปเบฒเบเบญเบทเปเบ, เปเบกเบทเปเบญเบเบงเบเปเบฎเบปเบฒเบเบปเปเบเบเบปเบเบเปเปเบเบดเบเบเบฒเบ - เบกเบฑเบเบเบทเบเบชเบปเปเบ InputPeerUser
เปเบเบเบเบตเปเบเบฐ InputUser
. เบซเบผเบทเปเบเบเบฒเบเบเบฑเบเบเบฑเบ. เปเบเปเบกเบฑเบเปเบฎเบฑเบเบงเบฝเบ! เบเบฑเปเบเปเบกเปเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเปเปเปเบเปเบชเบปเบเปเบเบเบฐเปเบเบ. เบเบตเปเปเบเบฑเบเปเบเปเบเปเปเบเบงเปเบ? เบเปเบฒเบเบญเบเบญเบฒเบเบเบฐเบเบทเบเบกเบญเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบเบเบดเปเบเบชเปเบงเบเบฅเบฐเบซเบฑเบเบเบฒเบ telegram-cli:
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);
เปเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเปเบญเบทเปเบเป, เบเบตเปเปเบกเปเบเบเปเบญเบเบเบตเป serialization เปเบกเปเบเปเบฎเบฑเบ เบเปเบงเบเบเบปเบเปเบญเบ, เบเปเปโเปเบเปโเบชเปเบฒเบโเบฅเบฐโเบซเบฑเบโ! เบเบฒเบเบเบตเปเบเบตเบเปเบงเบตเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบ?.. เปเบเบซเบผเบฑเบเบเบฒเบ, เบเบตเปเบเบฐเปเบฎเบฑเบเบงเบฝเบเบเปเบฒเปเบฎเบฑเบเบเบฑเปเบเบเบฝเบง, เปเบเปเบกเบฑเบเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเปเบเบงเปเบเบเปเปเบกเบฒเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฑเบเบเบธเบ? เบเบตเปเปเบกเปเบเบงเปเบฒเปเบเบฑเบเบซเบเบฑเบเปเบเบเบเบฒเบเปเบเปเบเบทเบเบเบฐเบเบดเบ? เปเบฅเบฐเปเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบงเปเบเบชเบนเปเบเปเบฒเบเบฒเบกเบเปเปเปเบ.
เบฎเบธเปเบ. เบเบฑเปเบ
เปเบเบฑเบเบซเบเบฑเบเบชเบฐเบเบฑเบ schematic เบเบทเบเปเบญเบตเปเบเบงเปเบฒเบเบฑเปเบเบเบฝเบเปเบเปเบชเบฒเบกเบฒเบเบเบฒเบเปเบเบปเบฒเปเบเปเปเบเบเบญเบตเบเปเบชเปเบเบฐเบซเบงเบฑเบเบชเบฒเบเบเบญเบ schematics เบเบตเปเบเบฑเบเบเบตเบกเบกเบฒ. เบเบฒเบเบปเบเบเบทเปเบ, เปเบเบเบญเบเบเปเบฒเบญเบดเบเบเบนเปเบเบฝเบเบเบดเบเบงเปเบฒเบชเบดเปเบเบเบทเปเบเบเบฒเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบเปเบเปเปเบเบเบเบฒเบเบเบตเปเบเปเปเบเปเบฝเบเปเบเบ, เปเบฅเบฐเบเบฝเบเปเบเปเบเปเบญเบเบเบตเปเบกเบตเบเบงเบฒเบกเบเปเบฒเปเบเบฑเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบฎเปเบญเบเบเปเบชเบฐเปเบเบฒเบฐ, เบเบตเปเปเบซเปเปเบซเบฑเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบเปเบเปเบชเบฐเบเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เปเบเบซเบผเบฑเบเบเบฒเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบฑเบเบเปเปเปเบกเปเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบเปเปเบเบต, เบฎเบนเบเปเบเบเปเบซเบกเปเบเบฐเบเบทเบ "เบเบฐเบชเบปเบก", เบเปเบญเบเบงเปเบฒเบกเบฑเบเปเบเบฑเบ, เบเบฑเปเบเปเบเบดเบเบเบญเบเปเบเบปเปเบฒ. เปเบเปโเปเบซเปโเปเบฎเบปเบฒโเปเบเบดเปเบโเบงเปเบฒโเบกเบฑเบโเปเบฎเบฑเบโเปเบเปโเปเบเบงโเปเบ. เปเบเปเบเบดเบเปเบฅเปเบง, เบเปเบญเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบดเปเบเบกเบฑเบเบเบฑเปเบเปเบเปเปเบฅเบตเปเบกเบเบปเปเบ - เบกเบฑเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบฐเบซเบฅเบปเบ, เปเบเปเปเบเบเบงเบฒเบเบเบญเบเบเบฑเปเบเบเบทเปเบเบเบฒเบเบเบฝเบเปเบเปเบเปเปเบกเบต. เบเบฑเปเบเปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบ 2. เปเบญเบเบฐเบชเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเบฝเบงเบเบฑเบเบเบธเบเบชเบปเบกเบเบฑเบเบเบดเปเบชเบเบเบญเบ TL:
เบเปเบฒเบฅเบนเบเบเปเบฒเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ Layer 2, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบญเบเปเบเป constructor เบเปเปเปเบเบเบตเป:
invokeWithLayer2#289dd1f6 {X:Type} query:!X = X;
เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเบญเบเบเบตเปเบเบฐเบเบธเบเบเบฒเบเปเบ API, int เบเบตเปเบกเบตเบเปเบฒ
0x289dd1f6
เบเปเบญเบเบเบทเบเปเบเบตเปเบกเปเบชเปเบเปเบญเบเปเบฅเบเบงเบดเบเบต.
เบชเบฝเบเบเบปเบเบเบฐเบเบด. เปเบเปเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบถเปเบเบเปเปเปเบ? เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเบปเบ
invokeWithLayer3#b7475268 query:!X = X;
เบเบฑเปเบเบเบฑเปเบเปเบกเปเบเบซเบเบฑเบเบเปเปเปเบ? เบเบฒเบกเบเบตเปเปเบเบปเปเบฒเบญเบฒเบเบเบฐเปเบเบปเบฒ,
invokeWithLayer4#dea0d430 query:!X = X;
เบเบฐเบซเบฅเบปเบ? เบเปเป, เบกเบฑเบเปเบงเปเบเบตเบเปเบเบเบตเปเบเบฐเบซเบปเบงเปเบฅเบฒเบฐ, เบเบดเบเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒ เบเบธเบ เบเบฒเบเบฎเปเบญเบเบเปเบเบฒเบเบเบฑเปเบเบญเบทเปเบเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบซเปเปเบเปเบงเบเบเบฐเปเบเบเบเบดเปเบชเบเบเบฑเปเบเบเปเบฒเบง - เบเปเบฒเบเบงเบเบกเบฑเบเบเบฑเบเบซเบกเบปเบเปเบเบเบเปเบฒเบเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเปเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบเบเบงเบเบกเบฑเบเปเบเปเปเบเบงเปเบ? เปเบฅเบฐเบเบฒเบเปเบเบตเปเบกเบเบฝเบเปเบเป 4 bytes เบขเบนเปเบเบฒเบเบซเบเปเบฒเปเบกเปเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบตเปเบชเบงเบเบเบฒเบก. เบเบฑเปเบเบเบฑเปเบ,
invokeWithLayer5#417a57ae query:!X = X;
เปเบเปเบกเบฑเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบงเปเบฒเบซเบผเบฑเบเบเบฒเบเปเบเบเบฐเบเบฐเบเบตเปเบเบตเปเบเบฐเบเบฒเบเปเบเบฑเบเบเบฒเบเบเบฐเปเบเบเบเบญเบ bacchanalia. เปเบฅเบฐโเบเบฒเบโเปเบเปโเปเบโเบกเบฒโ:
เบญเบฑเบเปเบเบ: เปเบฅเบตเปเบกเบเบปเปเบเบเปเบงเบเบเบฑเปเบ 9, เบงเบดเบเบตเบเบฒเบเบเบนเปเบเปเบงเบ
invokeWithLayerN
เบชเบฒโเบกเบฒเบโเบเปเบฒโเปเบเปโเบเบฝเบโเปเบเปโเบฎเปเบงเบกโเบเบฑเบโinitConnection
เปเบซเปเบ! เบซเบผเบฑเบเบเบฒเบ 9 เบฎเบธเปเบ, เปเบเบเบตเปเบชเบธเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบกเบฒเบฎเบญเบเบชเบดเปเบเบเบตเปเปเบฎเบฑเบเปเบเปเบเปเบเบเบญเบเบญเบดเบเปเบเบตเปเบเบฑเบเบเบฑเบเบเบทเบเปเบเบเปเบญเบเปเบ 80s - เบเบปเบเบฅเบปเบเบเบฑเบเบชเบฐเบเบฑเบเบซเบเบถเปเบเบเบฑเปเบเปเบเบเบญเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป!
เปเบฅเปเบงเปเบกเปเบเบซเบเบฑเบเบเปเปเปเบ?..
invokeWithLayer10#39620c41 query:!X = X;
...
invokeWithLayer18#1c900537 query:!X = X;
เปเบเปเบเบฝเบงเบเบตเปเปเบเบปเปเบฒเบเบฑเบเบชเบฒเบกเบฒเบเบซเบปเบงเปเบเป. เบเบฝเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบญเบตเบ 9 เบเบฑเปเบ, เบเบนเปเบเปเปเบชเปเบฒเบเบเบปเปเบงเปเบเบเบตเปเบกเบตเบเบปเบงเปเบฅเบเบชเบฐเบเบฑเบเปเบเปเบเบทเบเปเบเบตเปเบก, เปเบเบดเปเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเบซเบฒเบเบฝเบเปเบเปเบเบฑเปเบเบเบฝเบงเปเบเบเบญเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป, เปเบฅเบฐเบเบงเบฒเบก เปเบฒเบ เบเบญเบเบเบฑเปเบเบเปเบฒเบเปเปเบเบดเปเบเบเบทเบงเปเบฒเปเบเปเบซเบฒเบเปเบ, เบเบฝเบงเบเบตเปเบกเบฑเบเปเบเบฑเบเบเบฝเบเปเบเปเบชเบฐเบเบฑเบเบเบตเปเบกเบตเปเบเบทเปเบญเบเปเบ, เปเบเบฑเปเบ: เบขเบนเปเบเบปเปเบงเบเบธเบเปเบซเปเบ. เบเบฑเบเบซเบฒเบเบทเบเปเบเปเปเบ.
เบขเปเบฒเบโเปเบเปโเบเบญเบ?..
Vasily, [16.07.18 14:01] เปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเบงเบฑเบเบชเบธเบเบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบดเบเบงเปเบฒ:
teleserver เบชเบปเปเบเปเบซเบเบเบฒเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบฎเปเบญเบเบเป. เบเบฒเบเบฎเปเบญเบเบเปเบเปเบญเบเบเบทเบเบซเปเปเบขเบนเปเปเบ InvokeWithLayer. เปเบเบตเบเปเบงเบตเบเปเปเปเบเปเบซเปเปเบเบฒเบเบเบฑเบเบเบธเบ; เบเปเปเบกเบตเปเบเบเบชเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบซเปเปเบเปเบฒเบเบญเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบธเบ.เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เบฅเบนเบเบเปเบฒเบเปเปเบชเบฒเบกเบฒเบเบฅเบฐเบเบธเบเบฑเปเบเบเบตเปเบฅเบฒเบงเบเปเบญเบเบเบฒเบเบเบฒเบเบเบฑเบเบเบธเบ
Vadim Goncharov, [16.07.18 14:02] เบเปเปเปเบกเปเบ InvokeWithLayer เปเบเบฑเบเปเบกเปเบเปเบญเบเปเบเบซเบผเบฑเบเบเบฒเบเบเป?
Vasily, [16.07.18 14:02] เบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบฝเบง
Vadim Goncharov, [16.07.18 14:02] เปเบเบดเปเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบเบปเบเบฅเบปเบเปเบเบเบฑเปเบเปเบเบเบญเบเบเบปเปเบเบเบญเบเบเบญเบเบเบฐเบเบธเบก
เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบกเบฑเบเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบงเปเบฒเบฅเบนเบเบเปเบฒ downgrade เบเปเปเปเบเปเบเบทเบเบชเบฐเบซเบเบญเบเปเบซเป
เบเบฒเบเบเบฑเบเบเบธเบ, i.e. เบเบฐเปเบเบ Updates
เปเบเปเบเบเบเบฒเบ, เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบชเบปเปเบเปเบเบซเบฒเบฅเบนเบเบเปเบฒเบเปเปเปเบกเปเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเบเบฒเบเบฎเปเบญเบเบเป API, เปเบเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฒเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบซเบเบเบฒเบเปเบเบตเบเบเบถเปเบ. เบเบตเปเปเบกเปเบเบซเบปเบงเบเปเปเบเบตเปเบชเบฑเบเบชเบปเบเบเบตเปเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบถเบเบชเบฒเบซเบฒเบฅเบทเปเบเบเปเปเบเบงเบฒเบกเบญเบทเปเบ, เปเบเปเบชเปเบฒเบฅเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบเบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบชเปเบฒเบเบฑเบเบเบตเปเบเบฐเบฎเบนเปเบงเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฐเบเปเบงเบเบเบฐเบขเบฑเบเบเบฒเบเบเบฑเบเบเบธเบเปเบเบดเบเปเบกเปเบเบงเปเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบฅเบนเบเบเปเบฒ offline.
เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเปเบฒเบเบเบฐเบเบดเปเบชเบเบเบฒเบเบซเปเป เปเบเปเบฅเบฐเบเบปเบ เบเบธเบเปเบเบทเปเบญเบเบตเปเบเบญเบเบชเบฐเบเบฑเบเบเบญเบเบกเบฑเบ, เปเบซเบเบเบปเบเบเบตเปเบเปเบฒเปเบเบชเบนเปเบเบฑเบเบซเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเปเบเปเปเปเบเบเบตเป:
- เปเบเบตเบเปเบงเบตเบเบฐเบชเบปเปเบเบเบฒเบเบญเบฑเบเปเบเบเปเบซเปเบเบฑเบเบฅเบนเบเบเปเบฒเบเปเบญเบเบเบตเปเบฅเบนเบเบเปเบฒเบเบฐเปเบเปเบเปเบซเปเบฅเบนเบเบเปเบฒเบฎเบนเปเบงเปเบฒเบกเบฑเบเบฎเบญเบเบฎเบฑเบเบฅเบธเปเบเปเบ
- เบเปเบญเบเบเบงเบเปเบฎเบฑเบเปเบเบงเปเบเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบปเบเบฅเบฐเบเบฑเบเบฅเบนเบเบเปเบฒ?
- เบเบนเปเบเบตเป เบฎเบฑเบเบเบฐเบเบฑเบเบงเปเบฒเบเบงเบฒเบกเบเบดเบเปเบซเบฑเบเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเปเบฝเบงเบเบฑเบเปเบฅเบเบเบฑเปเบเบเบฐเบเปเปเบเปเบฝเบเปเบเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเป?
เบเปเบฒเบเบเบดเบเบงเปเบฒเบเบตเปเปเบกเปเบเบเบฒเบเบเบฒเบเปเบเบปเบฒเบเบฒเบเบเบดเบเบชเบฐเบเบตเบขเปเบฒเบเปเบเปเบเบดเบ, เปเบฅเบฐเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบกเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเบตเบเบเบถเปเบเปเบเป, เปเบเบฒเบฐเบงเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบทเบเบเบฝเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ (เบขเปเบฒเบเบซเบเปเบญเบ, เบกเบฑเบเบเบทเบเบเบปเบเบชเบญเบเบเบต)? เบฎเบฒ! เบเปเปเบงเปเบฒเบกเบฑเบเปเบเบฑเบเปเบเบงเปเบ!
เบเบตเปเปเบกเปเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเปเบเบทเบญเบเบชเบดเบเบซเบฒ. เปเบเบงเบฑเบเบเบต 14 เบชเบดเบเบซเบฒ, เบกเบตเบเปเปเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเปเบเบทเบเบเบฑเบเบเบธเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบ Telegram ... เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบขเบนเปเปเบเบเบฑเบเบเบถเบ:
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.
เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบซเบผเบฒเบ megabytes เบเบญเบ stack traces (เบเบต, เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบเบฒเบเบเบฑเบเปเบกเปเปเบเปเบเบทเบเปเบเปเปเบ). เบซเบผเบฑเบเบเบฒเบเบเบตเปเบเบฑเบเบซเบกเบปเบ, เบเปเบฒเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเปเปเบเบทเบเบฎเบฑเบเบฎเบนเปเปเบ TL เบเบญเบเบเปเบฒเบ, เบกเบฑเบเปเบเบฑเบเบเบนเปเปเบเบเบฅเบฒเบเปเบเบฑเบ, เบเปเปเปเบเบญเบตเบเปเบฅเปเบง. เบเบฑเบเปเบปเบ เปเบ, เบเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบเบเบฐเบเบฒเบเปเบเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเป. เปเบเบปเปเบฒเบเบงเบเปเบฎเบฑเบเปเบเบงเปเบเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบฑเปเบเบเปเบฒเบง?
เบเบต, เบชเบดเปเบเบเปเบฒเบญเบดเบเบเบตเปเบขเบนเปเปเบเปเบเบเบญเบเปเบเบเบนเปเบซเบเบถเปเบเปเบกเปเบเปเบเบทเปเบญเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบฅเบฐเบเบฐเบเบฒเบเบฒเบกเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ. เบเปเปเปเบเปเบเปเบงเบ. เบเบงเบเปเบฎเบปเบฒ google CRC32 - เปเบซเบผเบปเปเบฒเบเบตเปเปเบเปเบเบฒเบเปเบเบฑเบเบงเบฑเบเบเบธเบเบฒเบเปเบเบเบเบฒเบ 73, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฎเบฑเบเบงเบฝเบเบขเบนเปเปเบ 82. เบเบงเบเปเบฎเบปเบฒเปเบเบดเปเบเบขเปเบฒเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบเปเบเบเบฑเบเบเบถเบ - เบกเบตเบเบปเบงเบฅเบฐเบเบธเบเบฒเบเบชเบญเบเปเบเบเบเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ!
เบเบฒเบเบเบตเบเบฑเบเบซเบฒเปเบกเปเบเบขเบนเปเปเบเบฅเบนเบเบเปเบฒเบเบตเปเบเปเปเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเป? เบเปเป, เบเบงเบเปเบฎเบปเบฒเปเบเบตเบเบเบปเบง Telegram Desktop 1.2.17 (เบชเบฐเบเบฑเบเบเบตเปเบชเบฐเบซเบเบญเบเปเบซเปเบขเบนเปเปเบเบเปเบฒเบเบงเบเบเบฒเบเปเบเบเบขเบฒเบ Linux), เบกเบฑเบเบเบฝเบเปเบชเปเบเบฑเบเบเบถเบเบเบฒเบเบเบปเบเปเบงเบฑเปเบ: MTP Unexpected type id #b5223b0f เบญเปเบฒเบเปเบ MTPMessageMediaโฆ
เบเบนเปเบเปเบเปเบชเบฐเปเบเบเปเบซเปเปเบซเบฑเบเบงเปเบฒเบเบฑเบเบซเบฒเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเปเบเปเปเบเบตเบเบเบถเปเบเปเบฅเปเบงเบเบฑเบเบซเบเบถเปเบเปเบเบฅเบนเบเบเปเบฒเบเบตเปเบเปเปเปเบเบฑเบเบเบฒเบเบเบฒเบ, เปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบปเบงเปเบฅเบเบฎเบธเปเบเปเบฅเบฐ, เบเบฒเบกเบเบฑเปเบ, เบเบฒเบเบชเบปเบกเบกเบธเบเบเบดเบเบฒเบเปเบกเปเบเปเบเบเบเปเบฒเบเบเบฑเบ ...
เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบฎเบฑเบเปเบเบงเปเบ? Vasily เปเบฅเบฐเบเปเบญเบเปเบเบเบเบฑเบ: เบฅเบฒเบงเบเบฐเบเบฒเบเบฒเบกเบเบฑเบเบเบธเบเบงเบปเบเบเบญเบเปเบเบฑเบ 91, เบเปเบญเบเบเบฑเบเบชเบดเบเปเบเบฅเปเบเปเบฒเบชเบญเบเบชเบฒเบกเบกเบทเปเปเบฅเบฐเบเบฐเบเบฒเบเบฒเบก 73. เบเบฑเบเบชเบญเบเบงเบดเบเบตเปเบเปเบเบปเบ, เปเบเปเบเปเบญเบเบงเปเบฒเบเบงเบเบกเบฑเบเปเบเบฑเบ empirical, เบกเบฑเบเบเปเปเบกเบตเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเปเบฝเบงเบเบฑเบเบเปเบฒเบเบงเบเบฎเบธเปเบเบเบถเปเบเบซเบผเบทเบฅเบปเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบ. เปเบเบทเปเบญเปเบเบฑเปเบเปเบเบซเบฒ, เบซเบผเบทเบเปเบฒเบเบเปเบญเบเบเบฒเบเบฅเปเบเปเบฒเบเบปเบเบเบฒเบเปเบ.
เบเปเปเบกเบฒเบเปเบญเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบซเบกเปเปเบเป: เบเบงเบเปเบฎเบปเบฒเปเบเบตเบเบเบปเบงเบฅเบนเบเบเปเบฒ, เบเบดเบเบกเบฑเบ, เบฅเบงเบเบฅเบงเบกเบงเบปเบเบเบญเบเบเบฑเบเบเบฑเปเบเบญเบทเปเบ, เปเบฅเบตเปเบกเบเบปเปเบเปเบซเบกเป, เบเบฑเบเบเบฑเบเบซเบฒเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเบฑเบเบเบทเบเปเบเบซเบฒเบญเบฑเบเบเบตเปเบเปเบฒเบเบกเบฒ - oops, เบเปเปเบกเบตเบเบฒเบเบเปเบฝเบเบงเบปเบเบเบญเบเปเบฅเบฐเบฅเบนเบเบเปเบฒ restart เบชเปเบฒเบฅเบฑเบ เบชเบญเบเบชเบฒเบกเบเบฒเบเบตเบเบฐเบเปเบงเบเปเบเป. เบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบญเบเปเบเบเบชเปเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเป.
เบเปเบฒเบญเบฐเบเบดเบเบฒเบ? เบเบฑเปเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฒเบเปเบเบปเบฒเปเบเปเบเบฒเบเบญเบฒเบเบฒเบเบเบฒเบเบญเปเบญเบกเบเปเบฒเบเป, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฐเบเบญเบเบเปเบงเบเบซเบผเบฒเบเบเบฐเบเบงเบเบเบฒเบเบเบญเบเบเบฐเปเบเบเบเปเบฒเบเปเปเบเปเบเบทเปเบญเบเบเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เบชเปเบงเบเบซเบผเบฒเบเบญเบฒเบเบเบฐ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบ "buffering" เปเบเบปเปเบฒเปเบเปเบเปเบเบงเบชเบดเปเบเบเบตเปเบเบนเปเบเปเบฒเบเบญเบเบกเบฑเบเปเบซเปเบกเบฑเบ, เปเบฅเบฐเบเบงเบเปเบเบปเบฒเปเบซเปเบกเบฑเบเบขเบนเปเปเบเปเบเบเบเบฒเบเบเบตเปเบกเบตเบขเบนเปเปเบเปเบงเบฅเบฒเบเบญเบเบเบฒเบเบเบฐเบฅเบดเบ. เปเบฅเบฐเบเบปเบเบเปเบงเบฒเปเบเบงเบเบตเป "เปเบเบปเปเบฒเปเบเบทเปเบญเบ", เบเปเปเบกเบตเบซเบเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเบเปเบฝเบงเบเบฑเบเบกเบฑเบ.
เบเบฒเบเบเบต ... เปเบเปเบเบตเปเปเบกเปเบ crutch เบเบตเปเบฎเปเบฒเบ?!.. เบเปเป, เบเปเบญเบเบเบตเปเบเบฐเบเบดเบเบเปเบฝเบงเบเบฑเบเปเบเบงเบเบงเบฒเบกเบเบดเบ Crazy, เปเบซเปเปเบเบดเปเบเบฅเบฐเบซเบฑเบเบเบญเบเบฅเบนเบเบเปเบฒเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ. เปเบโเบชเบฐโเบเบฑเบ Android เบเบงเบโเปเบฎเบปเบฒโเบเปเปโเปเบเปโเบเบญเบโเบซเบฒ TL parser เปเบโ, เปเบเปโเบงเปเบฒโเบเบงเบโเปเบฎเบปเบฒโเบเบญเบโเบซเบฒโเปเบเบฅโเป hefty (GitHub เบเบฐโเบเบดโเปเบชเบโเบเบตเปโเบเบฐโเบชเปเบฒโเบเบฑเบโเบกเบฑเบโ) เบเบฑเบ (deโ)serializationโ. เบเบตเปเปเบกเปเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบฅเบฐเบซเบฑเบ:
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");
เบฎเบทเบก... เปเบเบดเปเบเบเบทเบเปเบฒ. เปเบเป, เบญเบฒเบเบเบฐเปเบเบฑเบ, เบเบตเปเปเบกเปเบเบฅเบฐเบซเบฑเบเบเบตเปเบชเปเบฒเบเบเบถเปเบ, เปเบฅเปเบง okay?.. เปเบเปเปเบเปเบเบญเบเบงเปเบฒเบกเบฑเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบเบธเบเบฅเบธเปเบ! เปเบเปเบเบดเบเปเบฅเปเบง, เบกเบฑเบเบเปเปเบเบฐเปเบเปเบเบงเปเบฒเปเบเบฑเบเบซเบเบฑเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบถเปเบเบเบฐเบชเบปเบกเบเบฑเบ, เบเบฒเบเบชเบปเบเบเบฐเบเบฒเบฅเบฑเบ, เปเบฅเบฐเบเบธเบเบเบฐเปเบเบ _old7
เปเบเบดเปเบเบเบทเบงเปเบฒเบเปเปเบเบทเบเบฑเบเบเบฒเบเบเบฐเบฅเบดเบเปเบเบทเปเบญเบเบเบฑเบ ... เปเบเบงเปเบเบเปเปเบเบฒเบก, เบชเปเบงเบเบซเบผเบฒเบเบเปเบญเบเบเบทเบเบเบฑเบเบญเบญเบเปเบ
TL_message_layer104
TL_message_layer104_2
TL_message_layer104_3
เบเบนเปเบเบฒเบ, เปเบเบปเปเบฒเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเบเบฑเบเบชเบดเบเปเบเบงเปเบฒเปเบกเปเบเบซเบเบฑเบเบขเบนเปเปเบเบเบฑเปเบเบเบฝเบง?! เปเบฅเปเบง, เปเบญเปเบ, เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒ "เบชเบญเบ" เบเบทเบเบเปเบญเบเบญเบญเบเบกเบฒเบเปเบงเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ, เบเบต, เบกเบฑเบเปเบเบตเบเบเบถเปเบ, เปเบเปเบชเบฒเบก? .. เบเบฑเบเบเบต, rake เบเบฝเบงเบเบฑเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ? เบญเบฑเบเบเบตเปเบกเบฑเบเปเบเบฑเบเบฎเบนเบเบฅเบฒเบกเบปเบเบญเบฑเบเปเบ, เบเปเปเบเบ..?
เปเบเบฅเบฐเบซเบฑเบเปเบซเบผเปเบเบเบญเบ Telegram Desktop, เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบชเบดเปเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเปเบเบตเบเบเบทเปเบ - เบเปเบฒเปเบเบฑเบเบเบฑเปเบเบเบฑเปเบ, เบซเบผเบฒเบเบเปเบฒเบซเบกเบฑเปเบเบชเบฑเบเบเบฒเบเบดเบเบเปเปเบเบฑเบเบเบฑเบเปเบเบเบเบฒเบเบเปเปเปเบเปเบเปเบฝเบเบเบปเบงเปเบฅเบเบเบฑเปเบเบเบญเบเบกเบฑเบ, เปเบเปเปเบเปเปเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ. เปเบเปเบเบทเปเบญเบเปเบเบเบตเปเบเปเปเบกเบตเปเบซเบผเปเบเบเปเปเบกเบนเบเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเปเบเบเบเบฒเบ, เบกเบฑเบเบชเบฒเบกเบฒเบเบกเบฒเบเบฒเบเปเบช, เบเบปเบเปเบงเบฑเปเบเบฅเบฐเบซเบฑเบเปเบซเบผเปเบเบเบญเบเบฅเบนเบเบเปเบฒเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ? เปเบฅเบฐเบเปเบฒเบเปเบฒเบเปเบญเบปเบฒเบกเบฑเบเบเบฒเบเบเปเบญเบเบเบฑเปเบ, เบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเบงเปเบฒเปเบเบเบเบฒเบเปเบกเปเบเบเบทเบเบเปเบญเบเบซเบกเบปเบเบเบปเบเบเบงเปเบฒเบเปเบฒเบเบเบฐเบเบปเบเบชเบญเบเบงเบดเบเบตเบเบฒเบเบเบฑเบเบซเบกเบปเบ.
เบเบตเปเบเบฑเบเบชเบฒเบกเบฒเบเบเบปเบเบชเบญเบเปเบเปเปเบเบงเปเบ? เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบซเบงเบฑเบโเบงเปเบฒ fans เบเบญเบโเบซเบเปเบงเบโเบเบฒเบโ, เบเบฒเบโเบเบปเบโเบชเบญเบโเบเบฐโเปเบซเบเบโเปเบฅเบฐโเบญเบทเปเบเปโเบเบฐโเปเบเปเบโเบเบฑเบโเปเบโเบเปเบฒโเปเบซเบฑเบโ.
เบเบปเบเบฅเบปเบ, เปเบซเปเปเบเบดเปเบเบฅเบฐเบซเบฑเบเบญเบทเปเบ:
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;
เบเปเบฒเปเบซเบฑเบเบเบตเป "เบชเปเบฒเบเบเปเบงเบเบเบปเบเปเบญเบ" เปเบเบฐเบเปเบฒเบงเปเบฒเบเบฝเบเปเบเปเบชเปเบงเบเบซเบเบถเปเบเบเบญเบเปเบเบฅเปเบเบตเปเปเบเปเบเบทเบเบเบฝเบเบเปเบงเบเบเบปเบเปเบญเบ (เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบดเบเบเบฐเบเบฒเบเบฒเบเบเบฑเบเบฎเปเบฒเบเบเบฒเบเบเปเบฒเบฅเบธเบเบฎเบฑเบเบชเบฒเบเบฑเบเบซเบกเบปเบเบเป?), เปเบฅเบฐเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเปเบกเปเบเบเบฐเบฅเบดเบเปเบเบเปเบเบทเปเบญเบเบเบฑเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฒเบกเบญเบทเปเบเปเบเบตเบเบเบถเปเบ - เบงเปเบฒเปเบซเบผเปเบเบเปเปเบกเบนเบเบเบตเปเบกเบตเบขเบนเป เบเปเปเบชเบปเบกเบเบนเบ (a la GPL blobs เปเบ Linux kernel), เปเบเปเบเบตเปเปเบกเปเบเบซเบปเบงเบเปเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบงเบเบเบตเบชเบญเบเปเบฅเปเบง.
เปเบเปเบเบฝเบเบเป. เบเปเปเบซเปเบเปเบฒเบงเปเบเบชเบนเปเปเบเปเบเบเบญเบเบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบ serialization เบเบฑเบเบซเบกเบปเบเบเบตเป.
MT Proto
เบเบฑเปเบเบเบฑเปเบ, เปเบซเปเปเบเบตเบ
เบเบปเบงเบขเปเบฒเบ, "เบเปเปเบเบงเบฒเบก" เปเบฅเบฐ "เบเบญเบเบเบฐเบเบธเบก" เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบขเบนเปเบเบตเปเบเบตเปเบเปเบงเบฒเปเบเบเบฒเบเปเบเปเบเบญเบเบฅเบนเบเบเปเบฒ Telegram เบเบปเบเบเบฐเบเบด. เบเบต, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐเปเบเปเบเบเบฑเบเบเปเปเบเบงเบฒเบก, เบกเบฑเบเบชเบฒเบกเบฒเบเบเบทเบเบเบตเบเบงเบฒเบกเบซเบกเบฒเบเปเบเบเปเบฒเบชเบฑเบ OOP, เบซเบผเบทเปเบญเบตเปเบเบงเปเบฒ "packet" - เบเบตเปเปเบกเปเบเบเปเปเบฒ, เบฅเบฐเบเบฑเบเบเบฒเบเบเบปเบเบชเบปเปเบ, เบเปเปเบกเบตเบเปเปเบเบงเบฒเบกเบเบฝเบงเบเบฑเบเบเบฑเบเปเบเบเบฒเบเปเบเปเบเบญเบ, เบกเบตเบซเบผเบฒเบเบเปเปเบเบงเบฒเบกเบเปเบฅเบดเบเบฒเบ. . เปเบเปเบเบญเบเบเบฐเบเบธเบก ... เปเบเปเบชเบดเปเบเบเปเบฒเบญเบดเบเบเปเบฒเบญเบดเบ.
เบเบฑเปเบเบเบฒเบเบเบปเบเบชเบปเปเบ
เบชเบดเปเบเบเปเบฒเบญเบดเบเปเบกเปเบเบเบฒเบเบเบปเบเบชเบปเปเบ. เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเบเบฐเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเบฝเบงเบเบฑเบ 5 เบเบฒเบเปเบฅเบทเบญเบ:
- TCP
- เปเบเบปเปเบฒเบฎเบฑเบเปเบงเบฑเบเปเบเบเป
- Websocket เบเปเบฒเบ HTTPS
- HTTP
- เบชเบฐเบเบฒเบเบเบตเป HTTP
Vasily, [15.06.18 15:04] เบเบฑเบเบกเบตเบเบฒเบเบเบปเบเบชเบปเปเบ UDP, เปเบเปเบกเบฑเบเบเปเปเบกเบตเปเบญเบเบฐเบชเบฒเบ
เปเบฅเบฐ TCP เปเบเบชเบฒเบก variants
เบญเบฑเบเบเปเบฒเบญเบดเบเปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบ UDP เบซเบผเบฒเบเบเบงเปเบฒ TCP, เปเบเปเบฅเบฐเบเบธเบเบเบฐเบเบญเบเบกเบตเบเปเบฒเบเบงเบเบฅเปเบฒเบเบฑเบเปเบฅเบฐ crc
เปเบเบฑเบเบซเบเบฑเบเบเบฒเบเบญเปเบฒเบเปเบญเบเบฐเบชเบฒเบเบขเบนเปเปเบเบฅเบปเบเปเบเบฑเบเบเบถเปเบเปเบเบฑเบเบเบงเบ?
เปเบฅเปเบง, เบเบฝเบงเบเบตเปเบกเบฑเบเบขเบนเปเปเบฅเปเบง
- เบเบฐเบชเบปเบก
- เบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบ
- padded เบเบฒเบ
- เบขเปเบฒเบโเปเบเบฑเบกโเบเบตเป
เบเบต, ok, Padded intermediate เบชเปเบฒเบฅเบฑเบ MTProxy, เบเบตเปเปเบเปเบเบทเบเปเบเบตเปเบกเบเปเปเบกเบฒเปเบเบทเปเบญเบเบเบฒเบเปเบซเบเบเบฒเบเบเบตเปเบกเบตเบเบทเปเบชเบฝเบ. เปเบเปเปเบเบฑเบเบซเบเบฑเบเบชเบญเบเบชเบฐเบเบฑเบ (เบชเบฒเบกเปเบเบเปเบฒเบเบงเบเบเบฑเบเบซเบกเบปเบ) เปเบกเบทเปเบญเปเบเบปเปเบฒเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเปเบงเบเบซเบเบถเปเบ? เบเบฑเบเบชเบตเปเบขเปเบฒเบเบกเบตเบเบงเบฒเบกเปเบเบเบเปเบฒเบเบเบฑเบเบเบฝเบเปเบเปเบงเบดเบเบตเบเบฒเบเบเปเบฒเบเบปเบเบเบงเบฒเบกเบเบฒเบงเปเบฅเบฐ payload เบเบญเบ MTProto เบเบปเปเบเบเป, เปเบเบดเปเบเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบถเบเบชเบฒเบซเบฒเบฅเบทเบเบทเปเบกเบญเบตเบ:
- เปเบเบซเบเปเปเบกเบฑเบเปเบกเปเบ 1 เบซเบผเบท 4 bytes, เปเบเปเบเปเปเปเบกเปเบ 0xef, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบฎเปเบฒเบเบเบฒเบ
- เปเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบเบเบตเปเปเบกเปเบ 4 bytes เบเบญเบเบเบงเบฒเบกเบเบฒเบงเปเบฅเบฐเบเบฒเบเบชเบฐเบซเบเบฒเบก, เปเบฅเบฐเบเบฑเปเบเบเปเบฒเบญเบดเบเบเบตเปเบฅเบนเบเบเปเบฒเบเปเบญเบเบชเบปเปเบ
0xeeeeeeee
เปเบเบทเปเบญเบเบตเปเบเบญเบเบงเปเบฒเบกเบฑเบเปเบเบฑเบเบฅเบฐเบเบฑเบเบเบฒเบเบเบฒเบ - เปเบเปเบเบฑเบกเบเบตเปเบเบดเบเบซเบผเบฒเบเบเบตเปเบชเบธเบ, เบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบญเบเปเบเบทเบญเบเปเบฒเบ: เบเบงเบฒเบกเบเบฒเบง, เบเปเบฒเบเบงเบเบฅเปเบฒเบเบฑเบ, เปเบฅเบฐเบเปเปเปเบกเปเบเบญเบฑเบเบเบตเปเบชเปเบงเบเปเบซเบเปเปเบกเปเบ MTProto, เบฎเปเบฒเบเบเบฒเบ, CRC32. เปเบกเปเบเปเบฅเปเบง, เบเบฑเบเปเบปเบเบเบตเปเปเบกเปเบเบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบ TCP. เปเบเบดเปเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบกเบตเบเบฒเบเบเบปเบเบชเบปเปเบเบเบตเปเปเบเบทเปเบญเบเบทเปเบเปเปเบเบฎเบนเบเปเบเบเบเบญเบเบเบฐเปเบชเปเบเบเปเบเบฒเบกเบฅเปเบฒเบเบฑเบ; เบเปเปเบเปเบฒเปเบเบฑเบเบฅเปเบฒเบเบฑเบ, เปเบเบเบชเบฐเปเบเบฒเบฐ checksums. เบเบปเบเบฅเบปเบ, เบเบญเบเบเบตเปเบเบฒเบเบเบปเบเบเบฐเบเบฑเบเบเปเบฒเบเบเปเบญเบเบงเปเบฒ TCP เบกเบต 16-bit checksum, เบเบฑเปเบเบเบฑเปเบเบเปเปเบกเบนเบเปเบชเบเบซเบฒเบเปเบเบตเบเบเบทเปเบ. เบเบดเปเบเปเบซเบเป, เปเบเปเบเบปเบงเบเบดเบเปเบฅเปเบงเบเบงเบเปเบฎเบปเบฒเบกเบตเปเบเปเบเบเบญเบ cryptographic เบเบตเปเบกเบต hashes เบเบฒเบงเบเบงเปเบฒ 16 bytes, เบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเป - เปเบฅเบฐเบซเบผเบฒเบเบเบงเปเบฒเบเบฑเปเบ - เบเบฐเบเบทเบเบเบฑเบเปเบเปเปเบเบ SHA mismatch เปเบเบฅเบฐเบเบฑเบเบเบตเปเบชเบนเบเบเบงเปเบฒ. เบเปเปเบกเบตเบเบธเบเปเบเบขเบนเปเปเบ CRC32 เบขเบนเปเปเบเบดเบเบชเบธเบเบเบตเป.
เปเบซเปเบชเบปเบกเบเบฝเบเปเบเบเบซเบเปเป, เปเบเบซเบเบถเปเบ byte เบเบญเบเบเบงเบฒเบกเบเบฒเบงเปเบกเปเบเปเบเบฑเบเปเบเปเบเป, เบเบฑเบ Intermediate, เปเบเบดเปเบ justifies "เปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเบญเบเบเบฒเบเบเบฒเบเบเบฑเบเบฅเบฝเบเบเปเปเบกเบนเบ 4-byte," เบเบถเปเบเปเบเบฑเบเปเบฅเบทเปเบญเบเปเบฎเปเบชเบฒเบฅเบฐ. เปเบกเปเบเบซเบเบฑเบ, เบกเบฑเบเปเบเบทเปเบญเบเบฑเบเบงเปเบฒเบเบฑเบเบเบฝเบเปเบเบฅเปเบเบฅเบก Telegram เบเปเปเบกเบตเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเบญเปเบฒเบเบเปเปเบกเบนเบเบเบฒเบเบเบฑเบญเบเปเบเบฑเบเปเบเบปเปเบฒเปเบเปเบ buffer เบเบตเปเบชเบญเบเบเปเบญเบ? เบเปเบฒเบเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเปเบเบงเบเบตเป, เปเบเบฒเบฐเบงเปเบฒเบเบฒเบเบญเปเบฒเบเบชเบฒเบกเบฒเบเบชเบปเปเบเบเบทเบเบเปเบฒเบเบเปเบฒเบเบงเบ bytes เปเบ (เปเบฅเบฐเบเบฑเบเบกเบตเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบปเบงเปเบเบ, เบเบปเบงเบขเปเบฒเบ ...). เบซเบผเบทเปเบเบเบฒเบเบเบปเบเบเบฑเบเบเปเบฒเบก, เปเบเบฑเบเบซเบเบฑเบเบเบฅเบฑเบญเบ Abridged เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฐเบกเบต padding hefty เบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบ 16 bytes - เบเบฐเบซเบเบฑเบ 3 bytes เบเบฒเบเบเบฑเปเบ ?
เบเบปเบเบซเบเบถเปเบเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบฐเบเบฑเบเปเบเบเบตเป Nikolai Durov เบเปเปเบกเบฑเบเบเบตเปเบเบฐเบเบฐเบเบดเบเบฅเปเป, เบฅเบงเบกเบเบฑเบเปเบเปเบเบเบญเบเปเบเบทเบญเบเปเบฒเบ, เปเบเบเบเปเปเบกเบตเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบปเบงเบเบดเบ.
เบเบฒเบเปเบฅเบทเบญเบเบเบฒเบเบเบปเบเบชเบปเปเบเบญเบทเปเบเป, เบฅเบงเบกเบเบฑเบ. เปเบงเบฑเบเปเบฅเบฐ MTProxy, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเปเบเบดเบเบฒเบฅเบฐเบเบฒเปเบเบเบฑเบเบเบธเบเบฑเบ, เบญเบฒเบเบเบฐเบขเบนเปเปเบเบเบฒเบเบเบญเบเบญเบทเปเบ, เบเปเบฒเบกเบตเบเบฒเบเบฎเปเบญเบเบเป. เบเปเบฝเบงเบเบฑเบ MTProxy เบเบฝเบงเบเบฑเบเบเบตเป, เปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบทเปเบเบฝเบเปเบเปเบงเปเบฒเบเปเปเบเบปเบเบซเบฅเบฑเบเบเบฒเบเบเบฒเบเปเบเบตเบเบเบปเบงเปเบเบเบต 2018, เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเปเบฎเบฝเบเบฎเบนเปเบเบตเปเบเบฐเบเบฅเบฑเบญเบเบกเบฑเบเบขเปเบฒเบเปเบงเบงเบฒ, เบกเบตเบเบธเบเบเบฐเบชเบปเบเปเบเบทเปเบญ bypass เบชเบฐเบเบฑเบเปเบเบ เบเบฐเปเบฒเบเบเบธเบ! เปเบฅเบฐเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเปเบเบตเบเปเบงเบต MTProxy เบเบตเปเบเบฝเบ (เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเปเบเบ Waltman) เปเบ C เปเบเปเบเบทเบเบเบนเบเบกเบฑเบเบซเบผเบฒเบเปเบเบตเบเปเบเบเบฑเบเบชเบฐเปเบเบฒเบฐเบเบญเบ Linux, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบตเปเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบกเบตเบเบฑเบเบซเบกเบปเบ (Phil Kulin เบเบฐเบขเบทเบเบขเบฑเบ), เปเบฅเบฐเบงเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบขเบนเปเปเบ Go เบซเบผเบท Node.js เบเบฐ. เบเปเบเบตเบขเบนเปเปเบเบเปเปเปเบเบตเบเบฎเปเบญเบเบชเบฒเบ.
เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบฐเบซเบผเบธเบเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบฎเบนเปเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบเบเบญเบเบเบฐเบเบฒเบเบปเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒเบเบฑเบเบซเบฒเบญเบทเปเบเป. เบชเปเบฒเบฅเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบ, เปเบซเปเบเปเบฒเบเปเบ OSI layer 5, session - เบเบตเปเปเบเบปเบฒเปเบเบปเปเบฒเบงเบฒเบ session MTProto.
เบเบฐเปเบ, เบเปเปเบเบงเบฒเบก, เบเบญเบเบเบฐเบเบธเบก, Diffie-Hellman
เปเบเบปเบฒเปเบเบปเปเบฒเบงเบฒเบเปเบงเปเบเปเบญเบเบเบฑเปเบเบเปเปเบเบทเบเบเปเบญเบเบเบฑเบเปเบปเบ... เปเบเบเบเบฑเบเบเปเปเปเบกเปเบเปเบเบเบเบฑเบเบเบฝเบงเบเบฑเบเบเบตเปเปเบซเบฑเบเปเบเปเปเบเบชเปเบงเบเบเบดเบเบเปเปเบเบฒเบเปเบเป Active sessions. เปเบเปเปเบเบเปเบฒเบชเบฑเปเบ.
เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบชเบฒเบเบเบฑเบเปเบเบเปเบเบญเบเบเบงเบฒเบกเบเบฒเบงเบเบตเปเบฎเบนเปเบเบฑเบเบเบฒเบเบเบฑเปเบเบเบฒเบเบเบปเบเบชเบปเปเบ. เบเบตเปเปเบกเปเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเบทเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบซเบผเบทเบเปเปเบเบงเบฒเบกเบเปเบฒเบกเบฐเบเบฒ - เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบขเบนเปเปเบเบเบฑเปเบเบเบญเบเบเบฒเบเบเบปเบเบฅเบปเบเบเบตเปเบชเปเบฒเบเบฑเบเปเบฅเบฐเบเปเบฒเบฅเบฑเบเบเบฐเบเบดเบเบฑเบเบเบปเบงเบเบดเบ. เปเบเบงเบเบงเบฒเบกเบเบดเบเบญเบฑเบเปเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ "เบเบธเบเปเบ" เบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบ? เบเปเบเบงเบฒเบกเบเบฐเบเปเบฒเบเปเบเปเบเบเปเบฝเบงเบเบฑเบเบเบฑเบเบซเบฒเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบตเบกเบเบฒเบ Telegram เปเบญเบ (เบเปเบญเบเบเปเปเบเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเปเบญเบเบฐเบชเบฒเบเบเบญเบเบเปเบญเบเปเบญเบเบเบฒเบเบเบฒเบชเบฒเบญเบฑเบเบเบดเบเบเปเบงเบเบชเบฐเบซเบกเบญเบเบเบตเปเปเบกเบทเปเบญเบเบฅเปเบฒเปเบเปเบงเบฅเบฒ 4 เปเบกเบเปเบเบปเปเบฒ, เบกเบฑเบเบเปเบฒเบเบเบงเปเบฒเบเบตเปเบเบฐเบเบฐเปเบงเปเบเบฒเบเบเบฐเปเบซเบเบ):
เบกเบตเบชเบญเบเบซเบเปเบงเบเบเบฒเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ เบเบญเบเบเบฐเบเบธเบก - เบซเบเบถเปเบเปเบ UI เบเบญเบเบฅเบนเบเบเปเบฒเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบเบฒเบเปเบเป "เบเบญเบเบเบฐเบเบธเบกเปเบเบเบฐเบเบธเบเบฑเบ", เปเบเบดเปเบเปเบเปเบฅเบฐเบเบญเบเบเบฐเบเบธเบกเบเบปเบเบเบฑเบเบญเบธเบเบฐเบเบญเบเบเบฑเบเบซเบกเบปเบ / OS.
เบชเบญเบ - เบเปเบงเบเปเบงเบฅเบฒ MTProto, เบเบตเปเบกเบตเบเปเบฒเบเบงเบเบฅเปเบฒเบเบฑเบเบเบญเบเบเปเปเบเบงเบฒเบก (เปเบเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเปเบเบฅเบฐเบเบฑเบเบเปเปเบฒ) เปเบเบกเบฑเบ, เปเบฅเบฐเบญเบฑเบเปเบ เบญเบฒเบเบเบฐเบขเบนเปเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ. เบชเบฒเบกเบฒเบเบเบดเบเบเบฑเปเบ MTProto เบซเบผเบฒเบเบเบฑเปเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบเบปเบงเบขเปเบฒเบ, เปเบเบทเปเบญเปเบฅเบฑเปเบเบเบฒเบเบเบฒเบงเปเบซเบผเบเปเบเบฅเป.เบฅเบฐเบซเบงเปเบฒเบเบชเบญเบเบญเบฑเบเบเบตเป เบเบญเบเบเบฐเบเบธเบก เบกเบตเปเบเบงเบเบงเบฒเบกเบเบดเบ เบเบฒเบเบญเบฐเบเบธเบเบฒเบ. เปเบเบเปเบฅเบฐเบเบต degenerate, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบงเบปเปเบฒเปเบเป เบเปเบงเบเปเบงเบฅเบฒ UI เปเบกเปเบเบเบทเบเบฑเบเบเบฑเบ เบเบฒเบเบญเบฐเบเบธเบเบฒเบ, เปเบเปเบญเบฐเบเบดเบเบฒ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบชเบฑเบเบชเบปเบ. เปเบซเปเปเบเบดเปเบ:
- เบเบนเปเปเบเปเปเบเบญเบธเบเบฐเบเบญเบเปเบซเบกเปเบเปเบฒเบญเบดเบเบชเปเบฒเบ auth_key เปเบฅเบฐเบเบนเบเบกเบฑเบเปเบงเปเปเบเบเบฑเบเบเบต, เบเบปเบงเบขเปเบฒเบเบเปเบฒเบ SMS - เบเบฑเปเบเปเบกเปเบเปเบซเบเบเบปเบ เบเบฒเบเบญเบฐเบเบธเบเบฒเบ
- เบกเบฑเบเปเบเบตเบเบเบถเปเบเบเบฒเบเปเบเบเบฑเปเบเบเปเบฒเบญเบดเบ เบเปเบงเบเปเบงเบฅเบฒ MTProto, เปเบเบดเปเบเบกเบต
session_id
เบเบฒเบโเปเบโเบเบปเบงโเบเปเบฒเบโเปเบญเบโ.- เปเบเบเบฑเปเบเบเบญเบเบเบตเป, เบเบฒเบเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบ เบเบฒเบเบญเบฐเบเบธเบเบฒเบ ะธ
session_id
เบชเบฒเบกเบฒเบเปเบญเบตเปเบเปเบเป เบเบปเบงเบขเปเบฒเบ - เบเปเบฒเบเบตเปเบเบฒเบเบปเบเบขเบนเปเปเบเปเบญเบเบฐเบชเบฒเบเปเบฅเบฐเบฅเบฐเบซเบฑเบเบเบญเบเบฅเบนเบเบเปเบฒเบเปเบฒเบเบงเบเบซเบเบถเปเบ- เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบฅเบนเบเบเปเบฒเบชเบฒเบกเบฒเบเปเบเบตเบเปเบเป เบซเบผเบฒเบเปเบเบฑเปเบ เบเปเบงเบเปเบงเบฅเบฒ MTProto เบเบฒเบเปเบเปเบเบฒเบเบเบฝเบงเบเบฑเบ auth_key - เบเบฑเบ DC เบเบฝเบงเบเบฑเบ.
- เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบกเบทเปเบซเบเบถเปเบเบฅเบนเบเบเปเบฒเบเบฐเบเปเบญเบเบฎเปเบญเบเบเปเปเบเบฅเปเบเบฒเบ DC เบญเบทเปเบ - เปเบฅเบฐเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป DC เปเบซเบกเปเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบฐเบฅเบดเบ auth_key !
- เปเบเบทเปเบญเปเบเปเบเปเบซเปเบฅเบฐเบเบปเบเบงเปเบฒเบกเบฑเบเบเปเปเปเบกเปเบเบเบนเปเปเบเปเปเบซเบกเปเบเบตเปเบฅเบปเบเบเบฐเบเบฝเบ, เปเบเปเบเบทเบเบฑเบ เบเบฒเบเบญเบฐเบเบธเบเบฒเบ (เบเปเบงเบเปเบงเบฅเบฒ UI), เบฅเบนเบเบเปเบฒเปเบเปเบเบฒเบเปเบ API
auth.exportAuthorization
เปเบโเบเปเบฒเบ DCauth.importAuthorization
เปเบ DC เปเบซเบกเป.- เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบทเบเบฑเบ, เบซเบผเบฒเบเปเบเบปเบเบญเบฒเบเบเบฐเปเบเบตเบ เบเปเบงเบเปเบงเบฅเบฒ MTProto (เปเบเปเบฅเบฐเบเบปเบเบกเบตเบเบญเบเบเบปเบเปเบญเบ
session_id
) เบเบฑเบ DC เปเบซเบกเปเบเบตเป, เบเบฒเบเปเบเป เบฅเบฒเบง auth_key.- เบชเบธเบเบเปเบฒเบ, เบฅเบนเบเบเปเบฒเบญเบฒเบเบเบฐเบเปเบญเบเบเบฒเบ Perfect Forward Secrecy. เบเบธเบเป auth_key เปเบกเปเบ เบเบฒเบงเบญเบ key - per DC - เปเบฅเบฐเบฅเบนเบเบเปเบฒเบชเบฒเบกเบฒเบเปเบเบซเบฒ
auth.bindTempAuthKey
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเปเบเป เบเบปเปเบงเบเบฒเบง auth_key - เปเบฅเบฐเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเบฝเบเปเบเปเบซเบเบถเปเบ temp_auth_key เบเปเป DC, เบเบปเปเบงเปเบเบเบฑเบเบเบธเบเบเบปเบ เบเปเบงเบเปเบงเบฅเบฒ MTProto เบเบฑเบ DC เบเบตเป.เปเบเปเบเบเบฒเบ, เบเบฑเปเบ เปเบเบทเบญ (เปเบฅเบฐเปเบเบทเบญเปเบเบญเบฐเบเบฒเบเบปเบ) เบเบฑเบเปเบเบฑเบเบญเบฑเบเบซเบเบถเปเบ auth_key เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เปเบเปเบเบเบฑเบเบฅเบฐเบซเบงเปเบฒเบเบเบธเบเบเบปเบ เบเปเบงเบเปเบงเบฅเบฒ MTProto เบเบฑเบ DC เบเบฝเบงเบเบฑเบ.
"เบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ" เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเปเบเบงเปเบ? เบเบฑเปเบเบเบฑเปเบเบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ เบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบฑเปเบ: เบเบธเบเบเบตเบเบฒเบเบญเบฐเบเบธเบเบฒเบเบขเบนเปเปเบเปเบงเบฑเบเปเบเบเป - เบกเบฑเบเบเบฑเบเบเบปเบเบขเบนเป (เบขเบนเปเบฅเบญเบ) เบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP เบซเบผเบฒเบเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเปเบซเป, เปเบเปเบกเบทเปเบซเบเบถเปเบเบกเบฑเบเบเปเปเบเบต. เบเปเปเปเบซเบกเบทเบญเบเบเบฑเบ HTTP, เปเบเบเปเปเบเบงเบฒเบก MTProto เบเบฒเบเปเบเปเบเบเบเบฑเบเปเบกเปเบเปเบเบฑเบเบฅเปเบฒเบเบฑเบเปเบฅเบฐเบขเบทเบเบขเบฑเบ; เบเปเบฒเบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบญเบธเปเบกเบ, เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบทเบเบเปเบฒเบฅเบฒเบ - เบซเบผเบฑเบเบเบฒเบเบชเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบซเบกเป, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฐเบชเบปเปเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเบเบญเบเบเบฐเบเบธเบกเบเบตเปเบเบตเปเบกเบฑเบเบเปเปเปเบเปเบชเบปเปเบเปเบเบเปเบญเบเบซเบเปเบฒเบเบตเป. เบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP.
เบขเปเบฒเบเปเบเบเปเปเบเบฒเบก, เบเปเปเบกเบนเบเบเปเบฒเบเปเบเบดเบเบเบตเปเปเบกเปเบเบชเบฐเบซเบผเบธเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบชเบทเบเบชเบงเบเบซเบผเบฒเบเปเบเบทเบญเบ. เปเบเปเบงเบฅเบฒเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฑเบเบฅเบนเบเบเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฑเปเบเปเบเปเปเบฅเบตเปเบกเบเบปเปเบเบเป? - เปเบซเปเปเบฎเบปเบฒเบเบฑเบเบเบทเบเบชเบนเปเบเบธเบเปเบฅเบตเปเบกเบเบปเปเบ.
เบชเบฐเบเบฑเปเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบชเปเบฒเบ auth_key
on the
Vasily, [19.06.18 20:05] data_with_hash := SHA1(data) + data + ( any random bytes ); เปเบเบฑเปเบเบงเปเบฒเบเบงเบฒเบกเบเบฒเบงเปเบเบปเปเบฒเบเบฑเบ 255 bytes;
encrypted_data := RSA(data_with_hash, server_public_key); เบเบปเบงเปเบฅเบเบเบฒเบง 255 เปเบเบเป (เปเบซเบเป endian) เบเบทเบเบเบปเบเบเบถเปเบเบกเบฒเปเบเบฑเบเบเบฐเบฅเบฑเบเบเบฒเบเบเบตเปเบเบณเปเบเบฑเบเบซเบผเบฒเบเบเบงเปเบฒเปเบกเบเบนเบฅเบเบตเปเบเบณเปเบเบฑเบ, เปเบฅเบฐ เบเบปเบเปเบเปเบฎเบฑเบเบเบฐเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบฑเบเบเบปเบงเปเบฅเบ 256 เปเบเบเป.เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเบกเบต dope DH เบเบฒเบ
เบเปเปเบเบทเบเบฑเบ DH เบเบญเบเบเบปเบเบเบตเปเบกเบตเบชเบธเบเบฐเบเบฒเบเบเบต
เบเปเปเบกเบตเบเบฐเปเบเบชเบฒเบเบฒเบฅเบฐเบเบฐเบชเบญเบเบญเบฑเบเปเบ dx
เบเบต, เปเบเบเบตเปเบชเบธเบเบเบตเปเปเบเปเบเบทเบเบเบฑเบเบญเบญเบ, เปเบเปเบชเบดเปเบเปเบชเบเปเบซเบผเบทเบญเบเบตเปเบเบฑเบเบเบปเบเบขเบนเป - เบซเบผเบฑเบเบเบฒเบเบเบญเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบกเปเบเปเบฎเบฑเบเปเบเบเบฅเบนเบเบเปเบฒเบงเปเบฒเบฅเบฒเบงเบชเบฒเบกเบฒเบเปเบญเบปเบฒเบเบปเบงเปเบฅเบเปเบเป. เบเบฐเปเบเบเบเบญเบเบเบฒเบเบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบกเบเบต DoS. เปเบฅเบฐเบเบฐเปเบ RSA เบเบทเบเบเปเบฒเปเบเปเบเบฝเบเปเบเปเบเบฑเปเบเบเบฝเบงเปเบเบเบดเบเบเบฒเบเบเบฝเบง, เบชเปเบฒเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบ new_nonce
. เปเบเปเปเบเบเบฐเบเบฐเบเบตเปเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบตเปเปเบเบดเปเบเบเบทเบงเปเบฒเบเปเบฒเบเบเบฒเบเบเบตเปเบเบฐเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ, เปเบเบปเปเบฒเบเบฐเบเปเบญเบเบเบฐเปเบเบตเบเบเบฑเบเบซเบเบฑเบ?
Vasily, [20.06.18/00/26 XNUMX:XNUMX] เบเปเบญเบเบเบฑเบเบเปเปเบเบฑเบเปเบเปเบฎเบฑเบเบเปเบฒเบฎเปเบญเบเบเป appid เปเบเบทเปเบญ
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเปเบเบซเบฒ DH
เปเบฅเบฐ, เปเบ dock เบเบฒเบเบเบปเบเบชเบปเปเบเบกเบฑเบเบเบญเบเบงเปเบฒเบกเบฑเบเบชเบฒเบกเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเบฑเบ 4 bytes เบเบญเบเบฅเบฐเบซเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ. เบซเบกเบปเบโเปเบเบปเปเบฒโเบเบตเป
เปเบฅเปเบง, เบฅเบฒเบงเบเบญเบเบเปเบญเบ -404, เบเบฑเปเบเบเบฑเปเบเปเบกเปเบเบซเบเบฑเบ?
เบชเบฐเบเบฑเปเบเบเปเบญเบเบเบญเบเบฅเบฒเบงเบงเปเบฒ: "เบเบฑเบ bullshit เบเบญเบเบเปเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเปเบงเบเบฅเบฐเบซเบฑเบเปเบเบตเบเปเบงเบตเบเปเบงเบเบฅเบฒเบเบเบดเปเบงเบกเบทเปเบเบเบเบตเป, เบเปเบญเบเบเปเบญเบเบเบฒเบ DH," เปเบฅเบฐเบกเบฑเบเบเบญเบเบเปเบงเบ 404 เปเบเป.
เปเบเบปเปเบฒเบเบดเบเปเบเบงเปเบเบเบฑเบเบเบฒเบเบเบญเบเบชเบฐเปเบญเบเบเบญเบเปเบเบตเบเปเบงเบตเบเบตเป? เบเบฐเปเบฎเบฑเบเปเบเบงเปเบ? เบเปเปเบกเบตเปเบเบเบฒเบก (เปเบเปเบกเบตเบซเบผเบฒเบเบเบงเปเบฒเบเบฑเปเบเปเบเบเบฒเบเบเบตเบชเบญเบ).
เบเบตเปเบเบตเปเบเบงเบฒเบกเบชเบปเบเปเบเบเบฑเบเบซเบกเบปเบเปเบกเปเบเปเบฎเบฑเบเบขเบนเปเปเบ dock เปเบเป
เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเปเปโเบกเบตโเบซเบเบฑเบโเบญเบตเบโเปเบเปโเบเบตเปโเบเบฐโเปเบฎเบฑเบโ, เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเบฝเบโเปเบเปโเบเบฑเบโเบขเบฒเบโเบเบฐโเบเปเบฝเบโเบเบปเบงโเปเบฅเบโเบเบฑเบโเบเบทเบโเปเบโเบเปเบญเบโ
เบชเบญเบเบเบปเบงเปเบฅเบ 32 เบเบดเบ. เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบซเบธเปเบกเบซเปเปเบเบงเบเบกเบฑเบเบเบทเบเบฑเบเบเบปเบเบญเบทเปเบ
เปเบเปเบเปเป, เบชเบญเบเบญเบฑเบเบเบตเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเปเบเบตเปเบกเปเบเบปเปเบฒเปเบเปเบเบงเบเปเบฒเบญเบดเบเปเบเบฑเบ BE
Vadim Goncharov, [20.06.18 15:49] เปเบฅเบฐเปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบตเป 404?
Vasily, [20.06.18 15:49] เปเบกเปเบเปเบฅเปเบง!
Vadim Goncharov, [20.06.18 15:50] เบชเบฐเบเบฑเปเบเบเปเบญเบเบเปเปเปเบเบปเปเบฒเปเบเบชเบดเปเบเบเบตเปเบฅเบฒเบงเบชเบฒเบกเบฒเบ "เบเปเปเบเบปเบ"
Vasily, [20.06.18 15:50] เบเบฐเบกเบฒเบ
เบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเปเปโเบชเบฒโเบกเบฒเบโเบเบญเบโเบซเบฒโเบเบฒเบโเปเบชเบทเปเบญเบกโเบชเบฐโเบเบฒเบโเบเบฑเปเบโเบเปเบฒเบงโเปเบเบฑเบโเบเบฑเบโเปเบโเบเบตเปโเบชเปเบฒโเบเบฑเบโ)โ.
เบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเปเบเบฑเบเบเบฒเบเบเบฒเบเบฅเบฒเบเบเบฒเบเบเปเปเบเบดเบเบเบฒเบ
Vasily, [20.06.18 20:18] เปเบญเป, เบเบฑเบเบกเบต MD5. เปเบฅเปเบงเบชเบฒเบก hashes เบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบ
เบฅเบฒเบเบเบดเปเบงเบกเบทเบซเบผเบฑเบเปเบกเปเบเบเบณเบเบงเบเบเบฑเปเบเบเบตเป:
digest = md5(key + iv) fingerprint = substr(digest, 0, 4) XOR substr(digest, 4, 4)
SHA1 เปเบฅเบฐ sha2
เบชเบฐเบเบฑเปเบเปเบซเปเปเบฎเบปเบฒเปเบชเปเบกเบฑเบ auth_key
เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบ 2048 bits เปเบเบเบฐเบซเบเบฒเบเปเบเบเปเบเป Diffie-Hellman. เบเปเปเปเบเปเบกเปเบเบซเบเบฑเบ? เบเปเปเปเบเบเบงเบเปเบฎเบปเบฒเบเบปเปเบเบเบปเบเบงเปเบฒ 1024 bits เบเปเปเบฒเบเบญเบเบฅเบฐเบซเบฑเบเบเบตเปเบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเปเปเบเบเบฒเบเปเบเบเปเปเบเบฒเบก ... เปเบเปเบเปเปเบซเปเบเบดเบเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเบชเปเบฒเบฅเบฑเบเบเบญเบเบเบตเป. เปเบเบเบฑเปเบเบเบญเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบกเบตเบเบงเบฒเบกเบฅเบฑเบเบเบตเปเปเบเปเบเบเบฑเบเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ. เบเบฒเบเบเบฝเบเบเบฝเบเบเบญเบเบเบญเบเบเบฐเบเบธเบก TLS เปเบเปเบเบทเบเบชเปเบฒเบเบเบฑเปเบเบเบถเปเบ, เปเบเบดเปเบเปเบเบฑเบเบเบฑเปเบเบเบญเบเบเบตเปเบกเบตเบฅเบฒเบเบฒเปเบเบเบซเบผเบฒเบ. เปเบเปเปเบเบตเบเปเบงเบตเบเบฑเบเบเปเปเบฎเบนเปเบซเบเบฑเบเปเบฅเบตเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบกเปเบเปเบ! เบเบฑเบเบเปเปเบเบฑเบ, เบเบปเบงเบเบดเบเปเบฅเปเบง. เบเบฒเบเบญเบฐเบเบธเบเบฒเบ. เปเบซเบผเบปเปเบฒเบเบฑเปเบ. เบเปเบฒเบเปเบฒเบเบเบดเบเปเบเปเบเปเบเบญเบ "เปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบเบฅเบฐเบซเบฑเบเบเปเบฒเบ", เบเบฑเปเบเบเบตเปเบเปเบฒเบเปเบเบตเบเปเบฎเบฑเบเปเบ ICQ, เบซเบผเบทเบขเปเบฒเบเบซเบเปเบญเบ "login-key", เปเบ SSH (เบเบปเบงเบขเปเบฒเบ, เปเบเบเบฒเบ gitlab / github). เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบญเบฑเบเปเบถเปเบเบเบตเปเบเปเปเปเบเบตเบเปเบเบตเบเบเบทเป. เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบงเปเบฒ "เปเบเบตเปเบเบฅเบฐเบชเบฑเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบทเบเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบ DC เบญเบทเปเบ"? เบซเบผเบทเปเบกเปเบเบฐเบเบฑเปเบ "เปเบเบตเปเบเบฅเบฐเบชเบฑเบเบเบญเบเปเบเบปเปเบฒเบเบทเบเบซเปเบฒเบก"? เบเบตเปเบเบตเบเบตเปเบชเบธเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบกเปเบเบฎเบฑเบเบชเบฒเบเบธเบเปเบเปเบเบเบงเบฒเบกเบซเบงเบฑเบเบงเปเบฒเบกเบฑเบเปเบเบฑเบเบเบฐเปเบซเบเบเปเบฅเบฐเบเบฐเบเปเปเปเบเบปเปเบฒเปเบเบทเปเบญเบเปเบเปเบงเบฅเบฒเบเบฑเปเบ.
เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒ "เปเบเปเบฎเบฑเบ" เบกเบฑเบเบเปเบงเบเบเบฒเบเบเบญเบ. เบเบปเบงเบขเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบงเปเบงเบฒเบเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเป? เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฒเบกเบฑเบเบเบญเบก? เบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบเปเบกเปเบเบเปเบฒเปเบเบฑเบ:
Vasily, [21.06.18 17:53] เบเบงเบเปเบเบปเบฒเบชเบฐเปเบซเบเบตเปเบซเปเบฅเบนเบเบเปเบฒเบกเบทเบเบทเบเบงเบเปเบเบดเปเบเบเปเบฒเบเบงเบ 2kbit เบชเปเบฒเบฅเบฑเบ primality%)
เปเบเปเบกเบฑเบเบเปเปเบเบฑเบเปเบเบเปเบฅเบตเบ, nafeijoa
Vasily, [21.06.18 18:02] เปเบญเบเบฐเบชเบฒเบเบเปเปเปเบเปเบเบญเบเบงเปเบฒเบเบฐเปเบฎเบฑเบเปเบเบงเปเบเบเปเบฒเบกเบฑเบเบเบฒเบเปเบเบฑเบเบเปเปเบเปเบฒเบเบเบฒเบ
เบเปเปเปเบเปเปเบงเบปเปเบฒ. เปเบซเปเปเบเบดเปเบเบชเบดเปเบเบเบตเปเบฅเบนเบเบเปเบฒ Android เบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบเปเบฎเบฑเบเปเบเบเปเบฅเบฐเบเบตเบเบตเป? เบ
278 static const char *goodPrime = "c71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5b";
279 if (!strcasecmp(prime, goodPrime)) {
เบเปเป, เปเบเปเบเบญเบเบกเบฑเบเบเบฑเบเบกเบตเบขเบนเป เบเบฒเบ เบกเบตโเบเบฒเบโเบเบปเบโเบชเบญเบโเบชเปเบฒโเบฅเบฑเบโเบเบฒเบโเบเปเบฒโเบญเบดเบโเบเบญเบโเบเปเบฒโเบเบงเบโ, เปเบเปโเบชเปเบงเบโเบเบธเบโเบเบปเบโเบเปเบฒโเบเบฐโเปเบเบปเปเบฒโเบเปเปโเบกเบตโเบเบงเบฒเบกโเบฎเบนเปโเบเบฐโเบเบดเบโเบชเบฒเบโเบเบฝเบโเบเปโเบเปเปโเปเบโเบญเบตเบโเปเบฅเปเบงโ.
เบเบปเบเบฅเบปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบฅเบฐเบซเบฑเบเบซเบผเบฑเบ. เปเบเบทเปเบญเปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบ, i.e. เบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบเบตเปเบกเปเบเบตเบก, เบเบฒเบเบเปเบฒเปเบเป AES.
เบฅเบฐเบซเบฑเบเบเปเปเบเบงเบฒเบกเปเบกเปเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบฑเบ 128 bits เบเบฒเบเบเบญเบ SHA256 เบเบญเบเบฎเปเบฒเบเบเบฒเบเบเปเปเบเบงเบฒเบก (เบฅเบงเบกเบเบฑเบ session, message ID, เปเบฅเบฐเบญเบทเปเบเป), เบฅเบงเบกเบเบฑเบ padding bytes, prepended เปเบเบ 32 bytes เบเบตเปเปเบญเบปเบฒเบกเบฒเบเบฒเบเบเบฐเปเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบ.
Vasily, [22.06.18 14:08] เปเบเบเบชเบฐเปเบฅเปเบ, bitch, bits
เปเบเป
auth_key
. เบเบฑเบเปเบปเบ. เบเบญเบ เปเปเบทเบญ เปเบเบเบฒเบเบเบงเบเบกเบฑเบ ... เบกเบฑเบเบเปเปเบเบฐเปเบเปเบเบเบฒเบเปเบญเบเบฐเบชเบฒเบ. เบฎเบนเปเบชเบถเบเบงเปเบฒเบเปเปเปเบชเบเบเปเบฒเปเบเบทเปเบญเบชเบถเบเบชเบฒเบฅเบฐเบซเบฑเบเปเบซเบผเปเบเปเบเบตเบ.เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ MTProto 2.0 เบเปเบญเบเบเบฒเบเบเบฒเบ 12 เบซเบฒ 1024 bytes เบเบญเบ padding, เบเบฑเบเบเบถเปเบเบเบฑเบเปเบเบทเปเบญเบเปเบเบงเปเบฒเบเบงเบฒเบกเบเบฒเบงเบเบญเบเบเปเปเบเบงเบฒเบกเบเบทเบเปเบเปเบเบญเบญเบเบเปเบงเบ 16 bytes.
เบเบฑเปเบเบเบฑเปเบเบเปเบฒเบเบเบงเบเปเบเบตเปเบก padding เบซเบผเบฒเบเบเบฒเบเปเบ?
เปเบฅเบฐเปเบกเปเบเปเบฅเปเบง, เบเบฑเบเบกเบต 404 เปเบเบเปเบฅเบฐเบเบตเบเบตเปเบกเบตเบเปเปเบเบดเบเบเบฒเบ
เบเปเบฒเบเบนเปเปเบเปเบเปเบชเบถเบเบชเบฒเปเบเบเบงเบฒเบเปเบฅเบฐเบเปเปเบเบงเบฒเบกเบเบญเบเปเบญเบเบฐเบชเบฒเบเบขเปเบฒเบเบฅเบฐเบกเบฑเบเบฅเบฐเบงเบฑเบ, เบเบงเบเปเบเบปเบฒเบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบเปเปเบกเบต MAC เบขเบนเปเบเบตเปเบเบฑเปเบ. เปเบฅเบฐเบงเปเบฒ AES เบเบทเบเปเบเปเปเบเปเบซเบกเบ IGE เบเบตเปเปเบเปเบเบญเบเบเบตเปเบเปเปเปเบเปเปเบเปเบเปเบญเบเบญเบทเปเบ. เบเบงเบเปเบเบปเบฒ, เปเบเปเบเบญเบ, เบเบฝเบเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเปเบ FAQ เบเบญเบเบเบงเบเปเบเบปเบฒ ... เบเบตเปเบเบตเป, เปเบเบฑเปเบ, เบฅเบฐเบซเบฑเบเบเปเปเบเบงเบฒเบกเบเบปเบงเบกเบฑเบเปเบญเบเบเบฑเบเปเบเบฑเบ SHA hash เบเบญเบเบเปเปเบกเบนเบเบเบตเปเบเบญเบเบฅเบฐเบซเบฑเบ, เปเบเปเปเบเบทเปเบญเบเบงเบเบชเบญเบเบเบงเบฒเบกเบชเบปเบกเบเบนเบ - เปเบฅเบฐเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเปเบเบปเบเบเบฑเบ, เปเบญเบเบฐเบชเบฒเบเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเบเบฒเบเบขเปเบฒเบ. เปเบเบฐเบเปเบฒเปเบซเปเบเปเปเบชเบปเบเปเบเบเบงเบเปเบเบปเบฒเบขเปเบฒเบเบเบฝเบเป (เปเบเปเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเบญเบเปเบ, เบเบฐเปเบเบฑเบเปเบเบงเปเบเบเปเบฒเบเบงเบเปเบเบปเบฒเบเปเบฒเบฅเบฒเบเบเบงเบเปเบฎเบปเบฒ?).
เบเปเบญเบเบเปเปเปเบกเปเบเบเบฑเบเบเบฝเบเบฅเบฐเบซเบฑเบเบฅเบฑเบ, เบเบฒเบเบเบตเบญเบฒเบเบเปเปเบกเบตเบซเบเบฑเบเบเบดเบเบเบฒเบเบเบฑเบเบฎเบนเบเปเบเบเบเบตเปเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบฒเบเบเบดเบเบชเบฐเบเบต. เปเบเปเบเปเบญเบเบชเบฒเบกเบฒเบเบเบฑเปเบเบเบทเปเบเบฑเบเบซเบฒเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบขเปเบฒเบเบเบฑเบเปเบเบ, เบเบฒเบเบเปเบฒเปเบเป Telegram Desktop เปเบเบฑเบเบเบปเบงเบขเปเบฒเบ. เบกเบฑเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเบฒเบเบเบงเบฒเบกเบเปเบฒเบเปเบญเบเบเบดเปเบ (เบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบตเป D877F783D5D3EF8C) เปเบเบฅเบฑเบเบชเบฐเบเบฐเบเบฝเบงเบเบฑเบเบเบฑเบเบเปเปเบเบงเบฒเบกเปเบ MTProto (เบเบฝเบเปเบเปเปเบเบเปเบฅเบฐเบเบตเบเบตเปเบชเบฐเบเบฑเบ 1.0), i.e. เบเปเบฒเบญเบดเบเบเบตเปเบฅเบฐเบซเบฑเบเบเปเปเบเบงเบฒเบก, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเปเบกเบนเบเบเบปเบงเบกเบฑเบเปเบญเบ (เปเบฅเบฐเบเบฒเบเบเปเบญเบเบซเบฅเบตเบเปเบเบเบฒเบเบซเบเบถเปเบเปเบซเบเป auth_key
256 bytes, เปเบเบเบเปเปเบกเบตเบเบฒเบเบเบตเป msg_key
เปเบฎเปเบเบฐเปเบซเบเบ). เบเบฑเปเบเบเบฑเปเบ, เบเบฑเบเบซเบฒเบเบฐเบเบฒเบเปเบเบฑเบเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเปเบเบฅเปเบเบฐเบซเบเบฒเบเปเบซเบเป. เบเบท, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบฎเบฑเบเบชเบฒเบชเบญเบเบชเปเบฒเปเบเบปเบฒเบเบญเบเบเปเปเบกเบนเบ - เปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบฅเบฐเบเบญเบเบฅเบฐเบซเบฑเบ. เปเบฅเบฐเบเปเบฒเบซเบฒเบเบงเปเบฒเบกเบต megabytes, เบซเบผเบท streaming เบงเบดเบเบตเปเบญ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ?.. เบฎเบนเบเปเบเบเบเบฅเบฒเบชเบชเบดเบเบเบฑเบ MAC เบซเบผเบฑเบเบเบฒเบ ciphertext เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบญเปเบฒเบเบกเบฑเบเบเปเปเบฒ, เบเบฑเบเบเบตเบเบฑเบเปเบเบชเบปเปเบ. เปเบเปเบเบฑเบ MTProto เบเปเบฒเบเบเบฐเบเปเบญเบ เปเบเบเบฑเปเบเบเปเบฒเบญเบดเบ เปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบซเบผเบทเบเบญเบเบฅเบฐเบซเบฑเบเบเปเปเบเบงเบฒเบกเบเบฑเบเบซเบกเบปเบ, เบเบฝเบเปเบเปเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบญเบเบกเบฑเบเบเบฑเบเปเบเบทเบญเบเปเบฒเบเบซเบผเบทเปเบเปเบ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบชเบฐเบเบฑเบเบซเบฅเปเบฒเบชเบธเบเบเบญเบ Telegram Desktop เปเบ cache in user_data
เบฎเบนเบเปเบเบเบญเบทเปเบเบเบฑเบเบเบทเบเบเปเบฒเปเบเป - เบเบฑเบ AES เปเบเบฎเบนเบเปเบเบ CTR.
Vasily, [21.06.18 01:27] เปเบญเป, เบเปเบญเบเปเบเปเบเบปเปเบเบเบปเบเบงเปเบฒ IGE เปเบกเปเบเบซเบเบฑเบ: IGE เปเบกเปเบเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเปเบฒเบญเบดเบเปเบ "เปเบซเบกเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบ", เปเบเปเบเบทเปเบญเบเบเบปเปเบเบชเปเบฒเบฅเบฑเบ Kerberos. เบกเบฑเบโเปเบเบฑเบโเบเบงเบฒเบกโเบเบฐโเบเบฒโเบเบฒเบกโเบเบตเปโเบเปเปโเบชเปเบฒโเปเบฅเบฑเบ (เบกเบฑเบโเบเปเปโเปเบเปโเปเบซเปโเบเบฒเบโเบเบปเบโเบเบฑเบโเบฎเบฑเบโเบชเบฒโเบเบงเบฒเบกโเบเบทเปโเบชเบฑเบโ)โ, เปเบฅเบฐโเบเปเบญเบโเปเบเปโเบฎเบฑเบโเบเบฒเบโเปเบญเบปเบฒโเบญเบญเบโ. เบเบฑเปเบเปเบกเปเบเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเบเบปเปเบเบซเบฒ 20 เบเบตเบชเปเบฒเบฅเบฑเบเปเบซเบกเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบ, เปเบเบดเปเบเบเปเปเบเบปเบเบกเบฒเบเบตเปเปเบเปเบชเบดเปเบเบชเบธเบเบฅเบปเบเปเบเปเบซเบกเบเปเบเบฑเปเบ OCB เปเบฅเบฐ GCM.
เปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบเบเบฒเบเปเบเปเบเบฝเบเบเบฒเบเบเปเบฒเบเปเบเบเบฎเปเบฒเบเบเบฒเบ:
เบเบตเบกเบเบฒเบเบเบตเปเบขเบนเปเปเบเบทเปเบญเบเบซเบฅเบฑเบเบเบญเบ Telegram, เบเปเบฒเปเบเบ Nikolai Durov, เบเบฐเบเบญเบเบเปเบงเบเบซเบปเบเปเบเปเบก ACM, เปเบเบดเปเบเบซเบเบถเปเบเบเบญเบเบเบงเบเปเบเบปเบฒเบเบฐเบฅเบดเบเบเบฒเปเบญเบเปเบเบเบฐเบเบดเบเบชเบฒเบ. เบกเบฑเบเปเบเปเปเบงเบฅเบฒเบเบฐเบกเบฒเบเบชเบญเบเบเบตเปเบเบทเปเบญเปเบเบตเบเบเบปเบง MTProto เบฅเบธเปเบเบเบฐเบเบธเบเบฑเบ.
เบเบฑเปเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบฐเบซเบฅเบปเบ. เบชเบญเบเบเบตเปเบเบฅเบฐเบเบฑเบเบเปเปเบฒ
เบซเบผเบทเบเปเบฒเบเบเบฝเบเปเบเปเบชเบฒเบกเบฒเบเปเบเปเปเบงเบฅเบฒ tls
เบเบปเบเบฅเบปเบ, เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฎเบฑเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบ เปเบฅเบฐเบเบงเบฒเบกเปเบเบเบเปเบฒเบเบญเบทเปเบเป. เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบชเบธเบเบเปเบฒเบเบเบตเปเบเบฐเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเป serialized เปเบ TL เปเบฅเบฐ deserialize เบเปเบฒเบเบญเบ? เบเบฑเปเบเบเบฑเปเบเปเบเบปเปเบฒเบเบงเบเบชเบปเปเบเบซเบเบฑเบเปเบฅเบฐเปเบเบงเปเบ? เบเบตเป, เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒ, เบงเบดเบเบตเบเบฒเบ
Vasily, [25.06.18 18:46] เปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบฅเบฐเบเบฑเบเบเบถเบเบเปเปเบกเบนเบเปเบเบญเบธเบเบฐเบเบญเบเปเบฅเบฐเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบญเบเบเบนเปเปเบเป.
เบกเบฑเบเบเบญเบกเบฎเบฑเบ app_id, device_model, system_version, app_version เปเบฅเบฐ lang_code.
เปเบฅเบฐเบเบฒเบเบเปเบฒเบเบฒเบก
เปเบญเบเบฐเบชเบฒเบเบเบฒเบกเปเบเบตเบ. เบฎเบนเปเบชเบถเบเบงเปเบฒเบเปเปเปเบชเบเบเปเบฒเปเบเบทเปเบญเบชเบถเบเบชเบฒเปเบซเบผเปเบเปเบเบตเบ
เบเปเบฒเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบเบฐเปเบเปเบเปเบเบเบเบฐเบกเบฒเบเบเบฑเบ invokeWithLayer, เปเบฅเปเบงเบกเบตเบซเบเบฑเบเบเบดเบเบเบฒเบเบขเบนเปเบเบตเปเบเบตเป? เบกเบฑเบเบซเบฑเบเบญเบญเบ, เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบต - เบฅเบนเบเบเปเบฒเบกเบตเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเบฐเบเบฒเบกเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเปเบฝเบงเบเบฑเบ - เบกเบตเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบชเบปเปเบ:
Vasily, [25.06.18 19:13] Judging by the code, call first is wrapped in this crap, and the crap itself is wrapped in invokewithlayer
เปเบเบฑเบเบซเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบ initConnection เปเบเบฑเบเบเบฒเบเปเบเปเบเบเบเปเบฒเบเบซเบฒเบ, เปเบเปเบเปเบญเบเปเบเบฑเบ wrapper? เปเบกเปเบเปเบฅเปเบง, เบเปเบญเบเบงเปเบฒเบกเบฑเบเปเบเปเบซเบฑเบเบญเบญเบ, เบกเบฑเบเบเปเบญเบเปเบฎเบฑเบเบเบธเบเบเบฑเปเบเปเบเบเบญเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเปเบเปเบฅเบฐเบเบญเบเบเบฐเบเบธเบก, เปเบฅเบฐเบเปเปเปเบกเปเบเบเบฑเปเบเบเบฝเบง, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบฅเบฐเบซเบฑเบเบเบปเปเบเบเป. เปเบเป! เบกเบฑเบเบเปเปเบชเบฒเบกเบฒเบเบเบทเบเปเบญเบตเปเบเปเบเบเบเบนเปเปเบเปเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบญเบฐเบเบธเบเบฒเบ! เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฑเบเบฅเบธเบเบฑเปเบเบเบญเบเบเบตเปเบกเบฑเบเบชเบฒเบกเบฒเบเปเบเปเปเบเป
เบกเบตเบเบฝเบเปเบเปเบชเปเบงเบเบเปเบญเบเบเบญเบเบงเบดเบเบตเบเบฒเบ API เปเบเบปเปเบฒเบเบฑเปเบเบเบตเปเบกเบตเปเบซเปเบเบฑเบเบเบนเปเปเบเปเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบญเบฐเบเบธเบเบฒเบ:
- auth.sendCode
- auth.resendCode
- account.getPassword
- auth.checkPassword
- auth.checkPhone
- auth.signUp
- auth.เปเบเบปเปเบฒเบชเบนเปเบฅเบฐเบเบปเบ
- auth.import เบเบฒเบเบญเบฐเบเบธเบเบฒเบ
- 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 เบเบตเปเบกเบตเบฅเบฐเบซเบฑเบ. เปเบฅเบฐเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบขเบนเปเปเบ DC เบเบดเบ (เบซเบกเบฒเบเปเบฅเบเปเบเบฅเบฐเบชเบฑเบเปเบเบเบฐเปเบเบเบเบตเปเปเบกเปเบเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบเบเบเบปเบเบญเบทเปเบ, เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเบเบเบปเบงเบขเปเบฒเบ), เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฑเบเบเปเบฒเบเบงเบเบเบญเบ DC เบเบตเปเบเปเบญเบเบเบฒเบ. เปเบเบทเปเบญเบเบญเบเบซเบฒเบเบตเปเบขเบนเป IP เปเบเปเบเบเปเบฒเบเปเบฅเบ DC เบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป, เบเปเบงเบเบเบงเบเปเบฎเบปเบฒ help.getConfig
. เปเบเปเบงเบฅเบฒเบซเบเบถเปเบเบกเบตเบเบฝเบเปเบเป 5 เบฅเบฒเบเบเบฒเบเปเบเบปเปเบฒเบเบฑเปเบ, เปเบเปเบซเบผเบฑเบเบเบฒเบเปเบซเบเบเบฒเบเบเบตเปเบกเบตเบเบทเปเบชเบฝเบเบเบญเบเบเบต 2018, เบเบปเบงเปเบฅเบเปเบเปเปเบเบตเปเบกเบเบถเปเบเบขเปเบฒเบเบซเบผเบงเบเบซเบผเบฒเบ.
เบเบญเบเบเบตเปเบเปเปเบซเปเบเบทเปเปเบงเปเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบกเบฒเบฎเบญเบเบเบฑเปเบเบเบญเบเบเบตเปเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบเบเบเปเปเปเบเบตเบเปเบเบตเบเบเบทเป. เบกเบฑเบเบเปเปเปเบเบเปเบเบตเบเปเบเบเบตเปเบเบฐเบเบฝเบเปเบเปเปเบเปเบฎเบฑเบเบเบตเปเบขเบนเป IP เบเป? เปเบเบฑเบเบซเบเบฑเบเบเปเปเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เปเบฅเบฐเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบญเบทเปเบเป, เปเบเบชเปเบงเบเบเบตเปเบเปเปเปเบเปเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเบญเบ MTProto? เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบดเบเบเบฒเบเบเบฑเบเบเปเบฒเบ: "เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเปเบเบงเปเบเปเบเบทเปเบญเปเบซเปเปเบเปเปเบเบงเปเบฒเบกเบฑเบเบเปเปเปเบกเปเบ RKN เบเบนเปเบเบตเปเบเบฐเบเบญเบเบชเบฐเบซเบเบญเบเบเบฑเบเบเบตเปเบขเบนเปเบเบตเปเบเปเปเบเบทเบเบเปเบญเบ?" เบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบทเปเบเปเบฒเบงเปเบฒ, เปเบเบเบเบปเปเบงเปเบ, เบฅเบนเบเบเปเบฒเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ เบเบฐเปเบ RSA เบเบทเบเบเบฑเบเปเบงเป, i.e. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบฝเบเปเบเป เบเบญเบ เบเปเปเบกเบนเบเบเบตเป. เบเบปเบงเบเบดเบเปเบฅเปเบง, เบเบตเปเปเบกเปเบเปเบเปเบเบทเบเปเบฎเบฑเบเปเบฅเปเบงเบชเปเบฒเบฅเบฑเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบฑเบเบเบงเบฒเบเบเบฒเบเบเบฑเบเบเบงเบฒเบเบเบตเปเบฅเบนเบเบเปเบฒเปเบเปเบฎเบฑเบเบเปเบฒเบเบเปเบญเบเบเบฒเบเบญเบทเปเบ (เบเบฒเบกเปเบซเบเบเบปเบ, เบเบตเปเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบ MTProto เบเบปเบงเบกเบฑเบเปเบญเบ; เบเปเบฒเบเบเบฑเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบฎเบนเปเบเปเบญเบเบเบตเปเบเบฐเปเบเบทเปเบญเบกเบเปเป).
เบเบปเบโเบฅเบปเบ. เปเบเบเบฑเปเบเบเบญเบเบเบญเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบเบฅเบนเบเบเปเบฒเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเปเปเปเบเปเบญเบฐเบเบธเบเบฒเบเปเบฅเบฐเบเปเปเปเบเปเบฅเบปเบเบเบฐเบเบฝเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเบงเบเปเบฎเบปเบฒ. เบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเปเบเบดเปเบเบชเบดเปเบเบเบตเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเปเบซเปเบเบฑเบเบเบนเปเปเบเปเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบญเบฐเบเบธเบเบฒเบ. เปเบฅเบฐเบเบตเปโฆ
Vasily, [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 schema เบเปเบฒเบเบตเบชเบฒเบกเปเบกเปเบ
เปเบกเปเบเปเบฅเปเบง, เบเบฑเบเบเบฑเปเบเปเบเปเบเบฑเปเบเบกเบฒ, เปเบเปเบเบญเบ, เปเบญเบเบฐเบชเบฒเบเปเบเปเบเบทเบเบเบฑเบเบเบธเบ. เปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบฑเบเบญเบฒเบเบเบฐเบเบฒเบเปเบเบฑเบเบเบงเบฒเบกเบเปเปเบเปเบฝเบงเบเปเบญเบเปเบเปเบงเปเบเบตเป. เบเบฑเบเบเบฑเบเบเบฐเบเบฒเบเบปเบงเบเบงเบเบฎเบนเปเปเบเบงเปเบ? เบเบฒเบเบเบตเบเปเบฒเบเปเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบเบเบญเบเบเปเบฒเบ, เบเบงเบเปเบเบปเบฒเบเบฐเปเบเปเบเปเบซเปเบเปเบฒเบเบฎเบนเปเบเป? Vasily เปเบเปเปเบฎเบฑเบเบชเบดเปเบเบเบตเป, เปเบเปเบญเบฐเบเบดเบเบฒ, เบเบงเบเปเบเบปเบฒเบเปเปเปเบเปเบชเบปเปเบเบซเบเบฑเบเปเบซเปเบฅเบฒเบง (เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเปเบเบเบฒเบเบเบตเบชเบญเบ).
...เบเปเบฒเบเบชเบฑเบเปเบเบเปเบซเบฑเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเบเปเบเบซเบฒ API เปเบฅเปเบง, i.e. เปเบเบฅเบฐเบเบฑเบเบเปเปเปเบ, เปเบฅเบฐเบเบฒเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเปเบเบซเบปเบงเบเปเป MTProto? เบเปเปเปเบเบเปเบ:
Vasily, [28.06.18 02:04] เบกเบก, เปเบเบปเบฒเปเบเบปเปเบฒเบเบณเบฅเบฑเบเบฅเบปเบกเบเบฑเบเบขเบนเปเบเบฒเบเบญเบฑเบเปเบ e2e.
Mtproto เบเปเบฒเบเบปเบเบเบฑเปเบเบเบญเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบฅเบฐเบฅเบฐเบซเบฑเบเบชเปเบฒเบฅเบฑเบเบเบฑเบเบชเบญเบเปเบเปเบกเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเปเบเบเบชเปเบฒเบ wrapper เปเบฅเบฑเบเบเปเบญเบ.
เปเบเปเบเบงเบเบกเบฑเบเบเบฐเบชเบปเบกเบฅเบฐเบเบฑเบเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบเบญเบ stack เบขเบนเปเบชเบฐ เปเปเบต, เบชเบฐเบเบฑเปเบเบกเบฑเบเบเปเปเบเบฐเปเบเปเบเบชเบฐ เปเปเบต เปเบเบงเปเบฒ mtproto เบชเบดเปเบเบชเบธเบเบฅเบปเบเบขเบนเปเปเบชเปเบฅเบฐเบฅเบฐเบเบฑเบเบเปเปเปเบเปเบฅเบตเปเบกเบเบปเปเบ.
เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเบเบฐเบชเบปเบกเปเบเบงเปเบ? เบเบต, เบเบตเปเปเบกเปเบเบฅเบฐเบซเบฑเบเบเบปเปเบงเบเบฒเบงเบเบฝเบงเบเบฑเบเบชเปเบฒเบฅเบฑเบ PFS, เบเบปเบงเบขเปเบฒเบ (เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, Telegram Desktop เบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเป). เบกเบฑเบเบเบทเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบฒเบเบฎเปเบญเบเบเป API auth.bindTempAuthKey
, i.e. เบเบฒเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ. เปเบเปเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเบกเบฑเบเปเบเบเปเบเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบขเบนเปเปเบเบฅเบฐเบเบฑเบเบเปเปเบฒ - เบซเบผเบฑเบเบเบฒเบเบกเบฑเบ, เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเบกเบฑเบเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ. initConnection
เปเบฅเบฐเบญเบทเปเบเป, เบเบตเปเบเปเปเปเบกเปเบ เบเบฝเบเปเบเป เบเปเบฒโเบฎเปเบญเบโเบชเบฐโเบซเบกเบฑเบโเบเบปเบโเบเบฐโเบเบดโ. เบชเบดเปเบเบเบตเปเบเบดเปเบชเบเปเบกเปเบเบเปเบฒเบเบชเบฒเบกเบฒเบเบกเบตเบเบฐเปเบเบเบปเปเบงเบเบฒเบงเบญเบฑเบเบเบฝเบงเบเปเป DC, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเบชเบฐเบซเบเบฒเบก auth_key_id
เปเบเปเบเปเบฅเบฐเบเปเปเบเบงเบฒเบกเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฝเบเบเบตเปเบเปเบขเปเบฒเบเบซเบเปเบญเบเบเบธเบเปเบเปเปเบเบงเบฒเบก, เปเบฅเบฐเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบกเบตเบชเบดเบเบเบตเปเบเบฐ "เบฅเบทเบก" เบเบฐเปเบเบเบปเปเบงเบเบฒเบงเปเบเปเบเบธเบเปเบงเบฅเบฒ - เปเบญเบเบฐเบชเบฒเบเบเปเปเปเบเปเบเบญเบเบงเปเบฒเบเบฐเปเบฎเบฑเบเปเบเบงเปเบเปเบเบเปเบฅเบฐเบเบตเบเบตเป ... เบเบต, เปเบเบฑเบเบซเบเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเป เปเบเบปเปเบฒเบกเบตเบเบฐเปเบเบซเบผเบฒเบเบญเบฑเบ, เบเบทเบเบฑเบเบเบธเบเบเบญเบเปเบเบทเบญเปเบเบญเบฐเบเบฒเบเบปเบ, เปเบฅเบฐ?..
เบกเบตเบเบฒเบเบชเบดเปเบเบญเบทเปเบเปเบเบตเปเบเบงเบเบชเบฑเบเปเบเบเบเปเบฝเบงเบเบฑเบเบซเบปเบงเบเปเป MTProto.
เบเปเปเบเบงเบฒเบก, msg_id, msg_seqno, เบเบฒเบเบขเบทเบเบขเบฑเบ, pings เปเบเบเบดเบเบเบฒเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเปเบฅเบฐ idiosyncrasies เบญเบทเปเบเป
เปเบเบฑเบเบซเบเบฑเบเปเบเบปเปเบฒเบเปเบญเบเบฎเบนเปเบเปเบฝเบงเบเบฑเบเบเบงเบเบกเบฑเบ? เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบงเบเปเบเบปเบฒ "เบฎเบปเปเบง" เปเบเบฅเบฐเบเบฑเบเบเบตเปเบชเบนเบเบเบงเปเบฒ, เปเบฅเบฐเบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบฎเบนเปเปเบเบดเบเบเบงเบเบกเบฑเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ API. เบชเบปเบกเบกเบธเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเปเบชเบปเบเปเบ msg_key; เบฅเบฐเบเบฑเบเบเปเปเบฒเปเบเปเบเบญเบเบฅเบฐเบซเบฑเบเบเบธเบเบขเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ. เปเบเปเบเบฒเบเปเบเบเปเปเบกเบนเบเบเบตเปเบเบทเบเบเบญเบเบฅเบฐเบซเบฑเบเบเบงเบเปเบฎเบปเบฒเบกเบตเบเปเบญเบเบเปเปเบกเบนเบเบเปเปเปเบเบเบตเป (เบเบฑเบเบเบงเบฒเบกเบเบฒเบงเบเบญเบเบเปเปเบกเบนเบ, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบฎเบนเปเบงเปเบฒเบเปเบญเบเปเบเบขเบนเปเบเปเบญเบเปเบ, เปเบเปเบกเบฑเบเบเปเปเบชเปเบฒเบเบฑเบ):
- เปเบเบทเบญ - int64
- session_id - int64
- message_id โ int64
- seq_no - int32
เปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบทเบญเบเบเปเบฒเบเบงเปเบฒเบกเบตเบเบฝเบเปเบเปเปเบเบทเบญเบซเบเบถเปเบเบชเปเบฒเบฅเบฑเบ DC เบเบฑเบเบซเบกเบปเบ. เปเบเบฑเบโเบซเบเบฑเบโเบเบถเปเบโเบฎเบนเปโเบเปเบฝเบงโเบเบฑเบโเบเบฒเบโ? เบเปเปเบเบฝเบเปเบเปเปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบกเบตเบเบฒเบเบฎเปเบญเบเบเป get_future_salts
, เปเบเบดเปเบเบเบญเบเบเปเบฒเบเบงเปเบฒเปเบฅเบเบฐเปเบเบเบฐเบเบทเบเบเปเบญเบ, เปเบเปเบเบฑเบเบเปเบญเบเบงเปเบฒเบเปเบฒเปเบเบทเบญเบเบญเบเปเบเบปเปเบฒ "เปเบเบปเปเบฒเปเบเบทเปเบญเบ", เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเปเบเบงเบฒเบก (เบเปเบฒเบฎเปเบญเบเบเป) เบเบฐเบชเบนเบเปเบชเบเปเบ. เปเบเปเบเบญเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฐเบฅเบฒเบเบเบฒเบเปเบเบทเบญเปเบซเบกเปเปเบเบเบเบฒเบเบญเบญเบ new_session_created
- เปเบเปเบเบฑเบเบญเบฑเบเปเบเบปเปเบฒเปเบเบปเปเบฒเบเบฐเบเปเบญเบเบชเบปเปเบเบเบทเบเบเบฒเบเบญเบฑเบ, เบเบปเบงเบขเปเบฒเบ. เปเบฅเบฐเบเบฑเบเบซเบฒเบเบตเปเบกเบตเบเบปเบเบเบฐเบเบปเบเบเปเปเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบญเบเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ.
เปเบเบตเบเปเบงเบตเปเบเปเบเบทเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบซเบผเบธเบเบฅเบปเบเปเบเบเบเบฑเบเบเบฑเบเบซเบกเบปเบเปเบฅเบฐเบเบญเบเบชเบฐเบซเบเบญเบเบเปเบงเบเบงเบดเบเบตเบเบตเปเบเปเบงเบเปเบซเบเบเบปเบเบซเบผเบฒเบเบขเปเบฒเบ. เบเบปเบงเบเบดเบเปเบฅเปเบง, เบเบญเบเบเบฐเบเบธเบก MTProto เปเบกเปเบเบซเบเบฑเบเบเบฒเบเบเปเบฒเบเบฅเบนเบเบเปเบฒ? เบเบตเปเปเบกเปเบเบชเบญเบเบเบปเบงเปเบฅเบ session_id
ะธ seq_no
เบเปเปเบเบงเบฒเบกเบเบฒเบเปเบเปเบเบเบเบฑเบเบเบตเป. เบเบต, เปเบฅเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP, เปเบเปเบเบญเบ. เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒเบฅเบนเบเบเปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเปเปเบฎเบนเปเบงเบดเบเบตเบเบฒเบเปเบฎเบฑเบเบซเบผเบฒเบเบขเปเบฒเบ, เบฅเบฒเบงเปเบเปเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบฅเบฐเปเบเบทเปเบญเบกเบเปเปเปเบซเบกเป. เบเปเบฒเบชเบดเปเบเบเบตเปเปเบเบตเบเบเบถเปเบเบขเปเบฒเบเปเบงเบงเบฒ - เบเบญเบเบเบฐเบเบธเบกเปเบเบปเปเบฒเบชเบทเบเบเปเปเปเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP เปเบซเบกเป, เปเบเบตเปเบกเบเบถเปเบ seq_no
เบเบทเปเบกเบญเบตเบ. เบเปเบฒเบกเบฑเบเปเบเปเปเบงเบฅเบฒเบเบปเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบฅเบถเบเบกเบฑเบเปเบเป, เปเบเบฒเบฐเบงเปเบฒเบขเบนเปเบเปเบฒเบเบเบญเบเบกเบฑเบเบเบฑเบเปเบเบฑเบเปเบเบง, เบเบฑเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบปเบเปเบซเบฑเบ.
เบกเบฑเบเบเบงเบเบเบฐเปเบเบฑเบเปเบเบงเปเบ seq_no
? เปเบญเป, เบเบฑเปเบเปเบกเปเบเบเปเบฒเบเบฒเบกเบเบตเปเบซเบเบธเปเบเบเบฒเบ. เบเบฐเบเบฒเบเบฒเบกเปเบเบปเปเบฒเปเบเบขเปเบฒเบเบเบทเปเบชเบฑเบเปเบเบชเบดเปเบเบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ:
เบเปเปเบเบงเบฒเบกเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบทเปเบญเบซเบฒ
เบเปเปเบเบงเบฒเบกเบเบตเปเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบฎเบฑเบเบฎเบนเปเบขเปเบฒเบเบเบฐเปเบเปเบ. เปเบซเบผเบปเปเบฒเบเบตเปเบฅเบงเบกเบกเบตเบเบนเปเปเบเปเบเบฑเบเบซเบกเบปเบเปเบฅเบฐเบเปเปเบเบงเบฒเบกเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเปเบฒเบเบงเบเบซเบผเบฒเบ, virtually เบเบฑเบเบซเบกเบปเบเบเบปเบเปเบงเบฑเปเบเบเบฒเบเบเบฑเบเบเบธเปเบฅเบฐเบเบฒเบเบฎเบฑเบเบฎเบนเป.
เปเบฒเบเปเบฅเบเบฅเบณเบเบฑเบเบเปเปเบเบงเบฒเบก (msg_seqno)
เบเปเบฒเบเบงเบ 32-bit เปเบเบปเปเบฒเบเบฑเบเบชเบญเบเปเบเบปเปเบฒเบเบญเบเบเปเบฒเบเบงเบเบเปเปเบเบงเบฒเบก "เบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบทเปเบญเบซเบฒ" (เบเบตเปเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบฎเบฑเบเบฎเบนเป, เปเบฅเบฐเปเบเบเบชเบฐเปเบเบฒเบฐเบเบตเปเบเปเปเปเบกเปเบเบเบฑเบเบเบธ) เบเบตเปเบชเปเบฒเบเบเบถเปเบเปเบเบเบเบนเปเบชเบปเปเบเบเปเบญเบเบเปเปเบเบงเบฒเบกเบเบตเปเปเบฅเบฐเบเปเปเบกเบฒเปเบเบตเปเบกเบเบถเปเบเบซเบเบถเปเบเบเปเบฒเบซเบฒเบเบงเปเบฒเบเปเปเบเบงเบฒเบกเบเบฐเบเบธเบเบฑเบเปเบกเปเบเปเบเบฑเบ. เบเปเปเบเบงเบฒเบกเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบทเปเบญเบซเบฒ. เบเบนเปเบเบญเบเปเบเบเปเบเบตเบเบฐเบเบทเบเบชเปเบฒเบเบเบทเปเบเปเบฅเบทเปเบญเบเปเบซเบผเบฑเบเบเบฒเบเปเบเบทเปเบญเปเบเบเบฑเบเบซเบกเบปเบเบเบญเบเบกเบฑเบ; เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบงเบเบฅเปเบฒเบเบฑเบเบเบญเบเบกเบฑเบเปเบซเบเปเบเบงเปเบฒเบซเบผเบทเปเบเบปเปเบฒเบเบฑเบเบเบปเบงเปเบฅเบเบฅเปเบฒเบเบฑเบเบเบญเบเบเปเปเบเบงเบฒเบกเบเบตเปเบกเบตเบขเบนเปเปเบเบกเบฑเบ.
เบงเบปเบเบเบญเบเบเบฐเปเบเบเปเบเปเบเปเบเบตเปเบกเบตเบเบฒเบเปเบเบตเปเบกเบเบถเปเบเปเบเบ 1, เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบญเบตเบเปเบเบ 2? .. เบเปเบฒเบเบฐเปเบเบปเปเบฒเบชเบปเบเปเบชเบงเปเบฒเปเบเปเบเบทเปเบญเบเบเบปเปเบเบเบงเบเปเบเบปเบฒเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ "เบซเบเปเบญเบเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบ ACK, เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเปเบกเปเบเบเบปเบงเปเบฅเบ", เปเบเปเบเบปเบเปเบเปเบฎเบฑเบเปเบกเปเบเบเปเปเบเบทเบเบฑเบ - เปเบเบเบชเบฐเปเบเบฒเบฐ, เบกเบฑเบเบญเบญเบเบกเบฒ, เบชเบฒเบกเบฒเบเบชเบปเปเบเปเบเป เบซเบผเบฒเบเปเบเบฑเปเบ เบเบฒเบเบขเบทเบเบขเบฑเบเบกเบตเบเบทเบเบฑเบ seq_no
! เปเบเบงเปเบ? เบเบปเบงเบขเปเบฒเบเปเบเบฑเปเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบชเบปเปเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบชเบปเปเบเบกเบฑเบ, เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเปเบญเบเบเบฑเบเบเบปเบเบเบฝเบ, เบเบฝเบเปเบเปเบเบญเบเบชเบฐเบซเบเบญเบเบเบฑเบเบเปเปเบเบงเบฒเบกเบเบฒเบเบเปเบฅเบดเบเบฒเบเบขเบทเบเบขเบฑเบเบเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบเบงเบฒเบกเบเบญเบเบกเบฑเบ. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเบฒเบเบขเบทเบเบขเบฑเบเบเบฒเบญเบญเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบกเบตเบเบปเบงเปเบฅเบเบเบฒเบญเบญเบเบเบฝเบงเบเบฑเบ. เบเปเบฒเบเปเบฒเบเบเบธเปเบเปเบเบตเบเบเบฑเบ TCP เปเบฅเบฐเบเบดเบเบงเปเบฒเบเบตเปเบชเบฝเบเบเปเบฒเบเปเบฒเบกเบฐเบเบฒเบเบเบฒเบเบขเปเบฒเบ, เปเบเปเปเบเบดเปเบเบเบทเบงเปเบฒเบเปเปเบเปเบฒเบกเบฐเบเบฒ, เปเบเบฒเบฐเบงเปเบฒเปเบ TCP seq_no
เบเปเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ, เปเบเปเบเบฒเบเบขเบทเบเบขเบฑเบเปเบ seq_no
เปเบเบญเบตเบเบเปเบฒเบเบซเบเบถเปเบ, เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบฐเปเบฅเบฑเปเบเปเบฎเบฑเบเปเบซเปเปเบเบปเปเบฒเปเบชเบเปเบ. เบเบฒเบเบขเบทเบเบขเบฑเบเปเบกเปเบเปเบซเปเบขเบนเปเปเบ MTProto เบเปเปเปเบกเปเบ on the seq_no
, เปเบ TCP, เปเบเปเปเบเบ msg_id
!
เบเบตเปโเปเบกเปเบโเบซเบเบฑเบ msg_id
, เบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเบเบญเบเบชเบฒเบเบฒเปเบซเบผเบปเปเบฒเบเบตเป? เบเบปเบงเบฅเบฐเบเบธเบเปเปเบเบงเบฒเบกเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบ, เบเบฒเบกเบเบตเปเบเบทเปเปเบเบฐเบเปเบฒ. เบกเบฑเบเบเบทเบเบเปเบฒเบเบปเบเปเบเบฑเบเบเบปเบงเปเบฅเบ 64 เบเบดเบ, เบเบดเบเบเปเปเบฒเบชเบธเบเบเบตเปเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบกเบต magic "server-not-server", เปเบฅเบฐเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเปเบกเปเบเบเบฒเบเบชเบฐเปเบเบกเปเบงเบฅเบฒ Unix, เบฅเบงเบกเบเบฑเบเบชเปเบงเบเปเบชเบเปเบซเบผเบทเบญ, เบเปเบฝเบ 32 bits เปเบเบเบฒเบเบเปเบฒเบ. เปเบซเบผเบปเปเบฒเบเบฑเปเบ. timestamp per se (เปเบฅเบฐเบเปเปเบเบงเบฒเบกเบเบตเปเบกเบตเปเบงเบฅเบฒเบเบตเปเปเบเบเบเปเบฒเบเบเบฑเบเบซเบผเบฒเบเปเบเบตเบเปเบเบเบฐเบเบทเบเบเบฐเบเบดเปเบชเบเปเบเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ). เบเบฒเบเบเบตเปเบกเบฑเบ turns เปเบซเปเปเบซเบฑเบเบงเปเบฒเปเบเบเบเบปเปเบงเปเบเบเบตเปเปเบกเปเบเบเบปเบงเบฅเบฐเบเบธเบเบปเปเบงเปเบฅเบเบชเปเบฒเบฅเบฑเบเบฅเบนเบเบเปเบฒ. เปเบซเปเบงเปเบฒ - เปเบซเปเบเบงเบเปเบฎเบปเบฒเบเบทเป session_id
- เบเบงเบโเปเบฎเบปเบฒโเบฎเบฑเบโเบเบฐโเบเบฑเบโ: เบเบฒเบเปเบเปเบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบเบเปเปเบเบฒเบก, เบเปเปเบเบงเบฒเบกเบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบชเปเบฒเบฅเบฑเบเบซเบเบถเปเบเปเบเบเบเบฑเบเบเบฐเบเบทเบเบชเบปเปเบเปเบเบปเปเบฒเปเบเปเบเปเบเบเบเบฑเบเบญเบทเปเบ. เบเบฑเปเบเปเบกเปเบ, เบกเบฑเบ turns เปเบซเปเปเบซเบฑเบเบงเปเบฒเบกเบตเปเบฅเปเบง เบชเบฒเบก เบฅเบฐเบเบฑเบ - เปเบเบเบเบฑเบ, เบเปเบฒเบเบงเบเปเบเบเบเบฑเบ, ID เบเปเปเบเบงเบฒเบก. เปเบเบฑเบเบซเบเบฑเบเบเบฒเบเบชเบฑเบเบชเบปเบเบเบฑเปเบเบเปเบฒเบง, เบเบงเบฒเบกเบฅเบถเบเบฅเบฑเบเบเบตเปเปเบกเปเบเบเบดเปเบเปเบซเบเปเบซเบผเบฒเบ.
เบเบฑเปเบโเบเบฑเปเบ msg_id
เบเปเบฒโเปเบเบฑเบโเบชเปเบฒโเบฅเบฑเบ ...
RPC: เบเบฒเบเบฎเปเบญเบเบเป, เบเปเบฒเบเบญเบ, เบเบงเบฒเบกเบเบดเบเบเบฒเบ. เบเบฒเบเบขเบทเบเบขเบฑเบ.
เบเบฑเปเบเบเบตเปเบเปเบฒเบเบญเบฒเบเบเบฐเปเบเปเบชเบฑเบเปเบเบเปเบซเบฑเบ, เบเปเปเบกเบตเบเบฐเปเบเบเบเบดเปเบชเบ "เปเบฎเบฑเบเบเบฒเบเบฎเปเบญเบเบเป RPC" เบซเบผเบทเบเบฐเบเบดเบเบฑเบเบซเบเปเบฒเปเบเปเปเบเปเบเบเบงเบฒเบ, เปเบเบดเบเปเบกเปเบเบงเปเบฒเบกเบตเบเปเบฒเบเบญเบ. เบซเบผเบฑเบเบเบฒเบเบเบตเปเบเบฑเบเบซเบกเบปเบ, เบเบงเบเปเบฎเบปเบฒเบกเบตเบเปเปเบเบงเบฒเบกเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบทเปเบญเบซเบฒ! เบเบฑเปเบโเปเบกเปเบ, เปเบเป เบเปเปเบเบงเบฒเบกเบญเบฒเบเบเบฐเปเบเบฑเบเบเปเบฒเบฎเปเบญเบเบเป! เบซเบผเบทเบเปเปเบเบฐเปเบเบฑเบ. เบซเบฅเบฑเบโเบเบฒเบโเบเบฑเปเบ, เปเบเปเบฅเบฐเบเบปเบ เบกเบตเปเบกเปเบ msg_id
. เปเบเปเบกเบตเบเปเบฒเบเบญเบ:
rpc_result#f35c6d01 req_msg_id:long result:Object = RpcResult;
เบเบตเปเปเบกเปเบเบเปเบญเบเบเบตเปเบกเบฑเบเบเบทเบเบฅเบฐเบเบธเบงเปเบฒเบเปเปเบเบงเบฒเบกเปเบเปเบเบฑเบเบเบฒเบเบเบญเบ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบเบเบญเบ API, เบเปเบฒเบเบเบฐเบเปเบญเบเบเบทเปเบเปเบฒเบงเปเบฒเบเปเบฒเบเบงเบเบเปเบฒเบฎเปเบญเบเบเปเบเบญเบเบเปเบฒเบเปเบกเปเบเบซเบเบฑเบ - เบเปเบฒเบเบฐเปเบเบปเปเบฒเบเบดเบเบงเปเบฒเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบญเบฐเบเบดเบเบฒเบเบงเปเบฒเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบกเปเบ asynchronous, เปเบฅเบฐเบชเบฒเบกเบฒเบเบกเบตเบซเบผเบฒเบเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบเปเบฒเปเบเบตเบเบขเบนเปเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบเปเบฒเบเบญเบเบเบตเปเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเบฒเบเบชเบปเปเบเบเบทเบเปเบเบเปเบฒเบชเบฑเปเบเปเบ? เปเบเบซเบผเบฑเบเบเบฒเบ, เบเบฒเบเบเปเปเบเบงเบฒเบกเบเบตเปเปเบฅเบฐเบเปเปเบเบดเบเบเบฒเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเบเปเปเบกเบตเบเบปเบเบเบฒเบ, เบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบตเปเบขเบนเปเปเบเบทเปเบญเบเบซเบฅเบฑเบเบเบตเปเบชเบฒเบกเบฒเบเบเบดเบเบเบฒเบกเปเบเป: เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบฎเบฑเบเบชเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP เบเบฑเบเบเปเบฒเบเปเบกเปเบเบเบปเบงเบเบธเปเบเบเปเบฝเบเบเปเบฒเบเบซเบเปเบฒ, เบกเบฑเบเบชเบปเปเบเบเปเปเบเปเบฒเบฎเปเบญเบเบเปเปเบเบซเบฒ backends เปเบฅเบฐเบฅเบงเบเบฅเบงเบกเบเบงเบเปเบเบปเบฒเบเบทเบเบเปเบฒเบ. 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;
เปเบญเป, เบเบฒเบเบเบปเบเบเบฐเบฎเปเบญเบเบญเบญเบเบกเบฒ, เบเบตเปเปเบกเปเบเบฎเบนเบเปเบเบเบเบตเปเบกเบตเบกเบฐเบเบธเบเบซเบผเบฒเบ - เบกเบตเปเบชเบฑเปเบ! เปเบเปโเปเบงโเบฅเบฒโเบเบญเบโเปเบเบปเปเบฒ. เบเบตเปเบเบตเป FLOOD_WAIT_3600
เบเบฐเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเบฒเบเบเปเบญเบเบฅเปเบเปเบฒเบซเบเบถเปเบเบเบปเปเบงเปเบกเบ, เปเบฅเบฐ PHONE_MIGRATE_5
, เบงเปเบฒเปเบเบตเปเบเบฅเบฐเบชเบฑเบเบเบตเปเบกเบตเบเปเบฒเบเปเบฒเบซเบเปเบฒเบเบตเปเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบฅเบปเบเบเบฐเบเบฝเบเบขเบนเปเปเบ 5th DC. เบเบงเบเปเบฎเบปเบฒเบกเบตเบเบฒเบชเบฒเบเบฐเปเบเบ, เปเบกเปเบเบเป? เบเบงเบโเปเบฎเบปเบฒโเบเปเปโเบเปเบฒโเปเบเบฑเบโเบเปเบญเบโเบกเบตโเบเบฒเบโเปเบเปโเบเบฝเบโเบเบฒเบโเบชเบฐโเบโเบฃเบดเบโ, เบเบปเบโเบเบปเบโเบเบฐโเบเบดโเบเบฐโเปเบฎเบฑเบโเปเบเปโ, เบเปเปโเปเบเบฑเบโเบซเบเบฑเบโ.
เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบเบตเปเบเปเปเปเบกเปเบเบขเบนเปเปเบเบซเบเปเบฒเบเปเปเบเบงเบฒเบกเบเปเบฅเบดเบเบฒเบ, เปเบเป, เบเบฒเบกเบเบปเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบฒเบเบเบตเป, เบเปเปเบกเบนเบเบชเบฒเบกเบฒเบเบเบปเบเปเบเป เปเบเปเปเบฒเปเบญเบเบฐเบชเบฒเบเบญเบทเปเบ. เบซเบฅเบท เบเบดเปเบกเบเบงเบฒเบกเบชเบปเบเปเบช. เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เปเบเบดเปเบ, เบเบฒเบเบฅเบฐเปเบกเบตเบเบเบฒเบเบเบดเบก / เบเบฑเปเบ - RpcError
เบชเบฒเบกเบฒเบเบเบทเบเบฎเบฑเบเบขเบนเปเปเบ RpcResult
. เปเบเบฑเบเบซเบเบฑเบเบเปเปเบขเบนเปเบเปเบฒเบเบเบญเบ? เบเบงเบโเปเบฎเบปเบฒโเบเปเปโเปเบเปโเบเปเบฒโเบโเบถเบโเปเบเบดเบโเบซเบเบฑเบโ?.. เบเบฑเปเบโเบเบฑเปเบโ, เบเบฒเบโเบฎเบฑเบโเบเบฐโเบเบฑเบโเบเบตเปโเบขเบนเปโเปเบชโ RpcError
เบญเบฒเบเบเบฐเบเปเปเบเบทเบเบเบฑเบเบขเบนเปเปเบ RpcResult
, เปเบเปเบเบทเบเปเบเบเบเบปเบเบซเบผเบทเบฎเบฑเบเบขเบนเปเปเบเบเบฐเปเบเบเบญเบทเปเบ?.. เปเบฅเบฐเบเปเบฒเบกเบฑเบเปเบฎเบฑเบเบเปเปเปเบเป, เปเบเบฑเบเบซเบเบฑเบเบกเบฑเบเบเบถเปเบเบเปเปเบขเบนเปเปเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ, i.e. เบกเบฑเบเบเบฒเบเบซเบฒเบเปเบ req_msg_id
? ..
เปเบเปเปเบซเปเบชเบทเบเบเปเปเบเปเบฝเบงเบเบฑเบเบเปเปเบเบงเบฒเบกเบเบฒเบเบเปเบฅเบดเบเบฒเบ. เบฅเบนเบเบเปเบฒเบญเบฒเบเบเบฐเบเบดเบเบงเปเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบกเปเบเบเบดเบเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบเปเบฅเบฐเปเบฎเบฑเบเปเบซเปเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบเบฐเปเบชเบตเบเบเบตเป:
rpc_drop_answer#58e4a740 req_msg_id:long = RpcDropAnswer;
เบกเบตเบชเบฒเบกเบเปเบฒเบเบญเบเบเบตเปเปเบเบฑเบเปเบเปเบเปเบชเปเบฒเบฅเบฑเบเบเปเบฒเบเบฒเบกเบเบตเป, เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบเบฑเบเบเบฑเบเบเบฑเบเบเบปเบเปเบเบเบฒเบเบขเบทเบเบขเบฑเบ; เบเบฐเบเบฒเบเบฒเบกเปเบเบปเปเบฒเปเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบเบปเบฒเบเบงเบเบเบฐเปเบเบฑเบ (เปเบฅเบฐเบชเบดเปเบเบเบตเปเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบปเปเบงเปเบเบเบญเบเบเบฐเปเบเบเบเบตเปเบเปเปเบเปเบญเบเบเบฒเบเบเบฒเบเบขเบทเบเบขเบฑเบ) เปเบกเปเบเบเปเบญเบเปเบซเปเบเบนเปเบญเปเบฒเบเปเบเบฑเบเบงเบฝเบเบเปเบฒเบ (เบซเบกเบฒเบเปเบซเบ: เบเปเปเบกเบนเบเปเบ เบฅเบฐเบซเบฑเบเปเบซเบผเปเบ Telegram Desktop เบเปเปเบเบปเบเบเปเบงเบ).
เบเบฒเบเบเบดเบเบขเบฒเปเบชเบเบเบดเบ: เบชเบฐเบเบฒเบเบฐเบเบฒเบเบเปเปเบเบงเบฒเบก
เปเบเบเบเบปเปเบงเปเบเปเบฅเปเบง, เบซเบผเบฒเบเปเบเปเบญเบเปเบ TL, MTProto เปเบฅเบฐ Telegram เปเบเบเบเบปเปเบงเปเบเปเบฎเบฑเบเปเบซเปเบเบงเบฒเบกเบฎเบนเปเบชเบถเบเบเบทเปเบเปเบฒเบ, เปเบเปเบญเบญเบเบเบฒเบเบเบงเบฒเบกเบชเบธเบเบฒเบ, เบกเบตเบชเบฐเบเบดเบเบฑเบเบเบฒ เปเบฅเบฐ เบญเบทเปเบเป. เบเบฑเบเบชเบฐเบญเปเบญเบเป เบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบกเบดเบโเบเบฝเบโเบเปเบฝเบงโเบเบฑเบโเปเบฅเบทเปเบญเบโเบเบตเปโเบขเปเบฒเบโเบชเบธเบเบฒเบ, เปเบฅเบฐโเปเบเปโเปเบเบฑเบโเปเบเบตโเบโเบเบงเบฒเบกโเบเบปเปเบงโเบฎเปเบฒเบโเปเบโเบเบฒเบโเบชเบปเบโเบเบฐโเบเบฒ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบชเบฐเบเบฒเบเบเบตเปเบเบตเปะเบชเปเบงเบเปเบซเบเปเบเบญเบเบซเบเปเบฒเปเบกเปเบเบเปเบฝเบงเบเบฑเบ
เบกเบฑเบเปเบฅเบตเปเบกเบเบปเปเบ innocuously, เบเปเบงเบเบเบฒเบเบขเบทเบเบขเบฑเบ. เบเปเปเปเบเบเบงเบเปเบเบปเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเบฝเบงเบเบฑเบ
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 เบเบฐเบเปเบญเบเบเบฑเบเบเบฒเบเบเบฑเบเบเบงเบเปเบเบปเบฒ; เปเบเบงเบปเบเบเบญเบเบเบญเบ "เปเบเปเปเบ - เบฅเบงเบเบฅเบงเบกเบเบทเบเปเบซเบกเป - เปเบเบตเบเบเบปเบง", เบเบฒเบเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบญเบเบเบปเบงเปเบฅเบเบซเบผเบทเปเบเบทเบญเบเบตเปเบกเบตเบเบฒเบเบเบธเปเบกเบเบญเบเบเบตเปเบเปเปเบเบตเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฑเบเปเบเปเปเบกเปเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเปเบฒเบกเบฐเบเบฒ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบกเบตเบชเบญเบเบเบธเบเบเบตเป:
- เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเปเปเบเบงเบฒเบกเบเบปเปเบเบชเบฐเบเบฑเบเปเบเปเบชเบนเบเปเบชเบเปเบ. เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเบเบฒเบเบเบดเบง, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบเบดเปเบเปเบเบเบฒเบเบซเบผเบฑเบ.
- เบเบปเบงเปเบฅเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเปเบเบเบเบฐเบซเบผเบฒเบเปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบเบซเบเบฑเบ? 16, 17, 18, 19, 20, 32, 33, 34, 35, 48, 64... เบเบปเบงเปเบฅเบเบญเบทเปเบเบขเบนเปเปเบช, Tommy?
เปเบญเบเบฐเบชเบฒเบเบฅเบฐเบเบธเบงเปเบฒ:
เบเบงเบฒเบกเบเบฑเปเบเปเบเปเบกเปเบเบงเปเบฒเบเปเบฒ error_code เปเบเปเบเบทเบเบเบฑเบเปเบเบฑเบเบเบธเปเบก (error_code >> 4): เบเบปเบงเบขเปเบฒเบ, เบฅเบฐเบซเบฑเบ 0x40 โ 0x4f เบเบปเบเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเบเบฒเบเปเบชเบทเปเบญเบกเปเบเบกเบเบญเบเบเบฑเบเบเบธ.
เปเบเป, เบเปเบญเบเบญเบทเปเบ เปเบปเบ, เบเบฒเบเบเปเบฝเบเปเบเบเปเบเบเบดเบเบเบฒเบเบญเบทเปเบ, เปเบฅเบฐเบญเบฑเบเบเบตเบชเบญเบ, เบกเบฑเบเบเปเป เบชเบณ เบเบฑเบ, เบฅเบฐเบซเบฑเบเบญเบทเปเบเบขเบนเปเปเบช? เปเบเบซเบปเบงเบเบญเบเบเบนเปเบเบฝเบ?.. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เปเบซเบผเบปเปเบฒเบเบตเปเปเบกเปเบ trifles.
เบชเบดเปเบเปเบชเบเบเบดเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเปเปเบเบงเบฒเบกเบเปเบฝเบงเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเปเปเบเบงเบฒเบก เปเบฅเบฐเบชเบณเปเบเบปเบฒเบเปเปเบเบงเบฒเบก:
- เบฎเปเบญเบเบเปเบเปเปเบกเบนเบเบชเบฐเบเบฒเบเบฐเบเปเปเบเบงเบฒเบก
เบเปเบฒเบเปเบฒเบเปเบเบเปเบฒเบเปเบถเปเบเบเปเปเปเบเปเบฎเบฑเบเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบญเบเบเปเปเบเบงเบฒเบกเบเบตเปเบชเบปเปเบเบญเบญเบเบกเบฒเปเบเบฑเบเปเบฅเบเบฐเปเบถเปเบ, เบกเบฑเบเบญเบฒเบเบเบฐเบฎเบฝเบเบฎเปเบญเบเบเบฒเบเบญเบตเบเบเปเบฒเบเบขเปเบฒเบเบเบฐเปเบเปเบ:
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 query เบเบฑเบเบเบธเบขเบนเปเปเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเปเบฒเบฅเบฑเบเบเปเบฒเปเบเบตเบเบเบฒเบเบซเบผเบทเบเบฒเบเบเบธเบเปเบเปเบเบชเปเบฒเปเบฅเบฑเบเปเบฅเปเบง
- +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;
เปเบกเบทเปเบญเปเบเปเบฎเบฑเบ, เบเปเปเบเบงเบฒเบกเบเบฐเบเบทเบเบเบธเบเปเบเปเบเบเบทเบเบฑเบเบงเปเบฒ wrapper เบเปเปเบขเบนเปเบเบตเปเบเบฑเปเบ. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเบกเบฑเบเปเบเบฑเบเบเบตเปเบฎเบนเปเบเบฑเบเบขเปเบฒเบเปเบเปเบเบญเบเบงเปเบฒเบเปเปเบเบงเบฒเบก orig_message.msg_id เปเบเปเบเบทเบเบฎเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเปเบเบงเบฒเบกเปเบซเบกเปเบเปเปเปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบ (เปเบเบเบฐเบเบฐเบเบตเปเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เบกเบฑเบเปเบฅเบฐ orig_message.msg_id เปเบเปเบฎเบฑเบเบเบฒเบเบเบญเบกเบฎเบฑเบ). เบเปเบฒเบเบญเบ orig_message.msg_id เบเปเบญเบเบเปเปเบฒเบเบงเปเบฒ msg_id เบเบญเบเบเปเบญเบเบเบฑเบเบเบธ.
เปเบซเปเบเบญเบเปเบกเปเปเบเปเบฎเบฑเบเบชเบฒเบเบฝเบเบเปเบฝเบงเบเบฑเบเบชเบดเปเบเบเบตเป msgs_state_info
เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบ, เบซเบนเบเบญเบ TL เบเบตเปเบเปเปเบชเปเบฒเปเบฅเบฑเบเปเบกเปเบเบเบดเบเบญเบญเบ (เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบ vector เบเบญเบ bytes, เปเบฅเบฐเปเบเบชเบญเบ bits เบเปเปเบฒเบกเบต enum, เปเบฅเบฐเปเบเบชเบญเบ bits เบชเบนเบเบกเบตเบเบธเบ). เบเบธเบเปเบกเปเบเปเบเบเบเปเบฒเบเบเบฑเบ. เบกเบตเปเบเปเบเบปเปเบฒเปเบเบงเปเบฒเปเบเบฑเบเบซเบเบฑเบเบเบฑเบเบซเบกเบปเบเบเบตเปเปเบกเปเบเบขเบนเปเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ? เปเบเบฅเบนเบเบเปเบฒเบเบตเปเปเบเปเบเบดเบ เบเปเบฒเปเบเบฑเบ?.. เบกเบฑเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบฒเบ, เปเบเปเบเบปเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบดเบเบเบฐเบเบฒเบเบฒเบเบเบปเบเบเบฐเปเบซเบเบเบเบฒเบเบขเปเบฒเบเบเปเบฒเบเบธเบเบเบปเบเปเบเบซเบเบถเปเบเบกเบตเบชเปเบงเบเบฎเปเบงเบกเปเบเบเบฒเบเบเบตเบเบฑเบ, เปเบฅเบฐเปเบเบฎเบนเบเปเบเบเบเบฒเบเปเบเปเบเบญเบ - เบเบฒเบกเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบงเปเบฒเปเบเบงเปเบเปเบฅเบฐเปเบเบงเปเบ. เปเบเปเปเบเบเบตเปเบเบตเปเบเปเบฒเบฎเปเบญเบเบเปเปเบเปเบเบทเบเบญเบฐเบเบดเบเบฒเบ เปเบโเบเบฑเบ.
เบกเบฑเบเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบงเปเบฒเปเบเปเบฅเบฐเบเปเบฒเบเบเปเบญเบเบเปเปเบเบฝเบเปเบเปเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบฅเบฐเบชเบปเปเบเบเปเปเบเบงเบฒเบกเปเบเบปเปเบฒเบเบฑเปเบ, เปเบเปเบเบฑเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบเบปเบงเปเบญเบ, เบเปเบฝเบงเบเบฑเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเบเบงเบเปเบเบปเบฒ, เปเบเบฑเบเปเบงเบฅเบฒเบเบตเปเบเปเปเบฎเบนเปเบเบฑเบ. เปเบญเบเบฐเบชเบฒเบเบเปเปเปเบเปเบญเบฐเบเบดเบเบฒเบเปเบเบดเบเปเบงเบฅเบฒ เบซเบผเบท เบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบปเบงเบเบดเบเบเบญเบเบเบธเบเบชเบปเบกเบเบฑเบเปเบซเบผเบปเปเบฒเบเบตเป. เบเปเปเบกเบตเบเบฒเบเปเบ. เบชเบดเปเบเบเบตเปเบซเบเปเบฒเบเบฐเบซเบฅเบฒเบเปเบเบเบตเปเบชเบธเบเปเบกเปเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบทเบเบเปเบฒเปเบเปเบเบปเบงเบเบดเบเปเบเบฅเบฐเบซเบฑเบเบเบญเบเบฅเบนเบเบเปเบฒเบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ! เบเบฒเบเบปเบเบเบทเปเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบทเบเบเบญเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเปเปเปเบเปเบฅเบงเบกเบขเบนเปเปเบเปเบญเบเบฐเบชเบฒเบเบชเบฒเบเบฒเบฅเบฐเบเบฐ. เปเบเบปเปเบฒเปเบเบเบฒเบเบฅเบฐเบซเบฑเบ เปเบเบฑเบเบซเบเบฑเบ, เปเบกเปเบเบเปเปเบเปเบฒเบเบเบฒเบเบเบทเปเบเบเปเบฅเบฐเบเบตเบเบญเบ TL - เบกเบฑเบเบเปเปเปเบกเปเบ (เบเปเบญเบเบเปเบฒเบ) เบชเปเบงเบเบเบตเปเปเบเบเบเปเบฝเบงเบขเปเบฒเบเบกเบตเปเบซเบเบเบปเบ, เปเบเปเปเบเบฑเบเบเบดเปเบเบชเปเบงเบเบเบตเปเบเบดเบเบเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ, i.e. เบเบฐเบเปเบญเบเปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเบเบงเปเบฒเปเบเบปเปเบฒเปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบฅเบฐเบซเบฑเบเบเปเบฒเบฎเปเบญเบเบชเบฐเบซเบกเบฑเบ.
Pings เปเบฅเบฐเปเบงเบฅเบฒ. เบเบดเบง.
เบเบฒเบเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบ, เบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบทเปเบเปเบฒเบเบฒเบเบเบฒเบเปเบเบปเบฒเบเปเบฝเบงเบเบฑเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบญเบเปเบเบตเบเปเบงเบต (เบเบฒเบเปเบเบเบขเบฒเบเบเปเบฒเบฎเปเบญเบเบเปเปเบเบเบปเปเบง backends), เปเบเบฑเบเบชเบดเปเบเบเบตเปเบซเบเปเบฒเปเบชเบปเปเบฒเปเบเบซเบผเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบก - เปเบเบดเบเบงเปเบฒเบเบฐเบกเบตเบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบฒเบเบเบฑเบเบชเบปเปเบเบเบฑเบเบซเบกเบปเบเปเบ TCP (เบเปเปเบกเบนเบเบเบฐเบเบทเบเบชเบปเปเบ, เบซเบผเบทเบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเปเบเปเบเบเปเบฝเบงเบเบฑเบเบเปเบญเบเบซเบงเปเบฒเบ, เปเบเป. เบเปเปโเบกเบนเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบชเบปเปเบโเบเปเบญเบโเบเบตเปโเบเบฑเบโเบซเบฒโเบเบฐโเปเบเบตเบโเบเบถเปเบโ)โ, เบเบฒเบโเบขเบทเบโเบขเบฑเบโเปเบ MTProto เบเบปเบงโเบกเบฑเบโเปเบญเบ - เบเปเปเบกเบตเบเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบ. เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบชเบนเบเปเบชเบเบซเบผเบทเบเบดเปเบกเบเปเปเบเบงเบฒเบกเบเบญเบเปเบเบปเปเบฒเปเบเปเบเปเบฒเบ, เปเบฅเบฐเบเปเปเบกเบตเบซเบเบฑเบเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเบเปเบฝเบงเบเบฑเบเบกเบฑเบ, เบเบฝเบเปเบเปเปเบเปเปเบกเปเบเปเบญเบเบเบฐเปเบเบเบเปเบฒเบเป.
เปเบฅเบฐเบเปเบฒเบญเบดเบเบเบญเบเบเบฒเบเบเบฑเบเบซเบกเบปเบ - เปเบเบงเบเปเปเบเบงเบฒเบก. เบเบต, เบกเบตเบชเบดเปเบเบซเบเบถเปเบเบเบตเปเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบซเบฑเบเปเบเปเบเบฑเบเปเบเบเบเบฑเปเบเปเบเปเปเบฅเบตเปเบกเบเบปเปเบ - เบเปเปเบเบงเบฒเบกเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบเบฒเบเบขเบทเบเบขเบฑเบเบเปเบญเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบฅเบฐ reent. เปเบฅเบฐเบซเบผเบฑเบเบเบฒเบเปเบงเบฅเบฒเปเบ? เปเบฅเบฐ jester เบฎเบนเปเบเบฑเบเบเบฃเบฐเบญเบปเบ. เบเบฒเบเบเบตเบเปเปเบเบงเบฒเบกเบเบตเปเบเบดเบเบเบฑเบเปเบซเบผเบปเปเบฒเบเบฑเปเบเปเบเปเปเบเบเบฑเบเบซเบฒเบเบตเปเบเปเบงเบเปเบกเปเบเปเบญเบเปเบเบปเปเบฒ, เปเบงเบปเปเบฒเบงเปเบฒ, เปเบ Telegram Desktop เบกเบตเบเบฐเบกเบฒเบ 4 เบเบดเบงเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเบเบฑเบเบเบงเบเปเบเบปเบฒ (เบเบฒเบเบเบตเบญเบฒเบเบกเบตเบซเบผเบฒเบเบเบงเปเบฒเบเบฑเปเบ, เบเบฑเปเบเบเบตเปเปเบเปเบเปเบฒเบงเบกเบฒเปเบฅเปเบง, เบชเปเบฒเบฅเบฑเบเปเบฅเบทเปเบญเบเบเบตเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบปเปเบฒเปเบเบฅเบฐเบซเบฑเบเปเบฅเบฐเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบญเบเบกเบฑเบเบขเปเบฒเบเบเบดเบเบเบฑเบ; เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ. เปเบงเบฅเบฒ, เบเบงเบเปเบฎเบปเบฒเบฎเบนเปเบงเปเบฒเบกเบฑเบเบเปเปเบชเบฒเบกเบฒเบเบเบทเบเบเปเบฒเบกเบฒเปเบเบฑเบเบเบปเบงเบขเปเบฒเบ; เบเปเบฒเบเบงเบเบเบฒเบเบเบฐเปเบเบเบเบฒเบเปเบเบเบเบฒเบ MTProto เบเปเปเปเบเปเบเบทเบเบเปเบฒเปเบเปเปเบเบกเบฑเบ).
เปเบเบฑเบเบซเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเปเปเบเบตเบเบเบถเปเบ? เบญเบฒเบเบเบฐเปเบเบฑเบ, เบเบนเปเบเบฝเบเปเบเบฅเปเบเบฅเบกเปเบเบตเบเปเบงเบตเบเปเปเบชเบฒเบกเบฒเบเบฎเบฑเบเบเบฐเบเบฑเบเบเบงเบฒเบกเบซเบเปเบฒเปเบเบทเปเบญเบเบทเบเบฒเบเปเบเบเบธเปเบก, เบซเบผเบทเปเบกเปเบเบฐเบเบฑเปเบ buffering เปเบเบเบปเบงเบเบธเปเบเบเปเบฝเบเบเปเบฒเบเบซเบเปเบฒ, เปเบฅเบฐเปเบญเบเบเบฑเบเบซเบฒเบเบตเปเปเบซเปเบเบฑเบเบฅเบนเบเบเปเบฒ. เบญเบญเบเบเบฒเบเบเบงเบฒเบกเบชเบดเปเบเบซเบงเบฑเบ, Vasily เบเบฐเบเบฒเบเบฒเบกเบเบฐเบเบดเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบฒเบเปเบฅเบทเบญเบ, เบกเบตเบเบฝเบเปเบเปเบชเบญเบเบเบดเบง, เบเบฒเบเบเปเบฒเปเบเปเบชเบนเบเบเบฒเบเบเบดเบเปเบฅเปเบเบฒเบ TCP - เบเบฒเบเบงเบฑเบเปเบเบ RTT เบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฐเบซเบเบฒเบเบเบญเบ "เบเปเบญเบเบขเปเบฝเบก" (เปเบเบเปเปเบเบงเบฒเบก) เบเบถเปเบเบเบฑเบเบเปเบฒเบเบงเบเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบเบฒเบเบขเบทเบเบขเบฑเบ. เบเบฑเปเบเปเบกเปเบ, เบฅเบฑเบเบชเบฐเบเบฐเบเบตเปเบซเบเบฒเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเปเบกเบตเบเบเบฒเบเปเบซเบผเบเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบกเปเบเบเปเบฒเบเบงเบเบเปเบฒเบฎเปเบญเบเบเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบตเปเบกเบฑเบเบชเบฒเบกเบฒเบ chew เปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบเปเบฅเบฐเบเปเปเบชเบนเบเปเบชเบ.
เปเบฅเปเบง, เบเบฑเปเบเปเบกเปเบ, เปเบเบปเปเบฒเปเบเบปเปเบฒเปเบ, เปเบกเปเบเบเป? เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฐเบเบดเบเบฑเบ TCP เบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบขเบนเปเปเบเบดเบเปเบเปเบเบเบญเบเบเบตเปเปเบฅเปเบเบเปเบฒเบ TCP, เบเบตเปเบเบตเปเปเบซเปเปเบซเบฑเบเปเบเบดเบเปเบเปเบเบเบญเบเบเบตเปเบเบทเบเบญเบญเบเปเบเบเบเปเปเบเบตเบซเบผเบฒเบ.
เปเบญเป, เปเบเบฑเบเบซเบเบฑเบเบเปเบฒเบเบเปเบญเบเบเบฒเบเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบเบเบดเบง, เปเบฅเบฐเบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเปเบเบงเปเบเบชเปเบฒเบฅเบฑเบเบเบปเบเบเบตเปเปเบฎเบฑเบเบงเบฝเบเบเบฑเบ API เบฅเบฐเบเบฑเบเบชเบนเบ? เปเบเบดเปเบ, เบเปเบฒเบเปเบฎเบฑเบเบเบฒเบเบฎเปเบญเบเบเป, serialize เบกเบฑเบ, เปเบเปเปเบฅเบทเปเบญเบเปเบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเบชเบปเปเบเบกเบฑเบเบเบฑเบเบเบต. เปเบเบฑเบเบซเบเบฑเบ? เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเปเบฒเบเบญเบเบเบฐเปเบเบฑเบ msg_id
, เบเบถเปเบเปเบเบฑเบเบเบปเปเบงเบเบฒเบงะฐเบเปเบญเบเปเบเบฑเบเบเปเบฒเบเบเบทเป, เบเบฒเบเบกเบญเบเบซเบกเบฒเบเบเบตเปเบเบทเบเปเบฅเบทเปเบญเบเบเบตเปเบเบตเบเบตเปเบชเบธเบเบเบปเบเบเปเบงเบฒเบเปเบฒเปเบเบปเปเบฒเบเบตเปเปเบเบฑเบเปเบเปเบเป - เปเบเบเปเบฅเบฐเบเบตเบเบตเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฐเบเบดเปเบชเบเบกเบฑเบเปเบเบทเปเบญเบเบเบฒเบเปเบงเบฅเบฒเบเปเปเบเบปเบเบเบฑเบเบฅเบฐเบซเบงเปเบฒเบเบเบงเบเปเบฎเบปเบฒเบเบฑเบเบฅเบฒเบง (เปเบเปเบเบญเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบกเปเบเปเบญเบเบเบตเปเบเปเบฝเบเปเบงเบฅเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฒเบเบเบฐเบเบธเบเบฑเบ. เบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบเบเบเบฒเบเปเบเบตเปเบก delta เบเบตเปเบเบดเบเปเบฅเปเบเบฒเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ - เบฅเบนเบเบเปเบฒเบเบตเปเปเบเบฑเบเบเบฒเบเบเบฒเบเปเบฎเบฑเบเปเบเบงเบเบตเป, เปเบเปเบงเปเบฒเบกเบฑเบเปเบกเปเบ crude เปเบฅเบฐเบเปเปเบเบทเบเบเปเบญเบเปเบเบทเปเบญเบเบเบฒเบ buffering). เบเบฑเปเบเบเบฑเปเบ, เปเบกเบทเปเบญเบเปเบฒเบเบฎเปเบญเบเบเปเบเปเบงเบเบเบฒเบเปเบเบซเบฒเบซเบเปเบฒเบเบตเปเบเปเบญเบเบเบดเปเบเบเบฒเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบ, เบเปเปเบเบงเบฒเบกเบเบฐเบเปเบฒเบเบเบฑเปเบเบเบญเบเบเปเปเปเบเบเบตเป:
- เบกเบฑเบเบขเบนเปเปเบเปเบเบงเบเบฝเบงเปเบฅเบฐเบฅเปเบเปเบฒเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบ.
- เปเบเปเบเบเบฑเปเบ
msg_id
เปเบฅเบฐเบเปเปเบเบงเบฒเบกเปเบเปเปเบเบซเบฒเปเบเบงเบญเบทเปเบ - เบเบฒเบเบชเบปเปเบเบเปเปเบเบตเปเปเบเบฑเบเปเบเปเบเป; เบชเบปเปเบเปเบเบเบตเปเปเบเบปเปเบฒเบฎเบฑเบ. - a) เปเบเบตเบเปเบงเบตเบเบญเบ MsgsAck - เบเปเปเบเบงเบฒเบกเบเบทเบเบชเบปเปเบ, เบเบงเบเปเบฎเบปเบฒเบฅเบถเบเบกเบฑเบเบญเบญเบเบเบฒเบ "เปเบเบงเบญเบทเปเบ".
b) เบซเบผเบทเปเบเบเบฒเบเบเบฑเบเบเบฑเบ, เบฅเบฒเบงเบเปเปเบกเบฑเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบ, เบฅเบฒเบงเบเบญเบ badmsg - เบชเบปเปเบเบเบทเบเบเบฒเบ "เปเบเบงเบญเบทเปเบ"
c) เบเปเปเบกเบตเบซเบเบฑเบเบเบตเปเบฎเบนเปเบเบฑเบ, เบเปเปเบเบงเบฒเบกเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบ resent เบเบฒเบเปเบเบงเบญเบทเปเบ - เปเบเปเบกเบฑเบเบเปเปเบฎเบนเปเบเบฑเบเปเบเปเบเบญเบเปเบเปเบงเบฅเบฒเปเบ. - เบชเบธเบเบเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบ
RpcResult
- เบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเบปเบงเบเบดเบ (เบซเบผเบทเบเบงเบฒเบกเบเบดเบเบเบฒเบ) - เบเปเปเบเบฝเบเปเบเปเบชเบปเปเบ, เปเบเปเบเบฑเบเบเปเบฒเปเบเบตเบเบเบฒเบ.
เบญเบฒเบเบเบฐเปเบเบฑเบ, เบเบฒเบเบเปเบฒเปเบเปเบเบนเปเบเบญเบเปเบเบเปเบเบตเบชเบฒเบกเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒเปเบเปเบเบฒเบเบชเปเบงเบ. เบเบตเปเปเบกเปเบเปเบงเบฅเบฒเบเบตเปเบเปเปเบเบญเบเบเปเปเบเบงเบฒเบกเบเบทเบเบเบฑเบเบเบธเปเบเบปเปเบฒเปเบเปเบเบซเบเบถเปเบ, เปเบฅเบฐเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเบงเบเบเบฒเบเบขเบทเบเบขเบฑเบเบเบฑเบเบเบงเบเปเบเบปเบฒเบเบฑเบเบซเบกเบปเบเปเบเปเบงเบฅเบฒเบเบฝเบงเบเบฑเบ, เปเบเบซเบเบถเปเบ. msg_id
. เปเบเปเบฅเบฒเบงเบเบฑเบเบเบฐเบเบฐเบเบดเปเบชเบเบเบธเบเบเบตเป, เบเปเบฒเบกเบตเบเบฒเบเบขเปเบฒเบเบเบดเบเบเบฒเบ, เบเบฑเบเบซเบกเบปเบ.
เปเบฅเบฐเปเบเบเบธเบเบเบตเป, เบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒเบเบตเปเบเปเปเปเบกเปเบเบเบฒเบเบงเบดเบเบฒเบเบฒเบเปเบเบปเปเบฒเบกเบฒเบกเบตเบเบปเบเบเบฒเบ. เบเบฒเบเบเบฐเบชเบปเบเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบซเบฑเบเปเบกเปเบเปเบญเบเปเบเบปเปเบฒเบซเบผเบฒเบเบขเปเบฒเบ, เปเบฅเบฐเบเบญเบเบเบฒเบเบเบฑเปเบ, เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเบฐเปเบซเบฑเบเบเบปเบงเบขเปเบฒเบเบเบญเบเบเปเบฒเปเบเบฐเบเปเบฒเบเบตเปเบเปเปเบเบตเปเบฅเบฐเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบซเบผเบฒเบเบเบงเปเบฒเปเบเบปเปเบฒ - เปเบเปเบเบทเปเบญเบเปเบเบเบฑเปเบเบเปเบฒเบง, เบกเบฑเบเบเบธเปเบกเบเปเบฒเบเบตเปเบเบฐเปเบงเปเบงเบฒเบเปเบเปเบฅเบฐเบเบฒเบเบเบฑเบเบชเบดเบเปเบเบเบฑเปเบเบเปเบฒเบงเบเป? เบเปเบฒเบเบฒเบกเปเบกเปเบ rhetorical (เปเบเปเบเบญเบเบเปเปเปเบกเปเบ).
เบเบงเบเปเบฎเบปเบฒเปเบงเบปเปเบฒเบเปเบฝเบงเบเบฑเบเบซเบเบฑเบ? เบเปเบฒเบขเบนเปเปเบเบซเบปเบงเบเปเปเบเบญเบ "เบเปเปเบเบงเบฒเบกเบเปเบฝเบงเบเบฑเบเบขเบฒเปเบชเบเบเบดเบ" เปเบเบปเปเบฒเบเบฑเบเบชเบฒเบกเบฒเบเบเบฒเบเปเบเบปเบฒเปเบเปเบเปเบงเบเบเบฒเบเบเบฑเบเบเปเบฒเบเปเบเบฑเปเบ: "เปเบเบปเปเบฒเปเบเป, เปเบเบปเปเบฒเบเปเปเปเบเบปเปเบฒเปเบเปเบเบเบเบฒเบเบเบตเปเบเบตเบเบญเบเบเบงเบเปเบฎเบปเบฒ!" (เบเบฑเปเบเบเบฑเปเบ, เบเบฝเบเปเบญเบเบฐเบชเบฒเบเบเปเบญเบ, เบเบฒเบกเบเบตเปเบเบปเบเบเปเบฒเบกเบฐเบเบฒเบเบงเบ, เบเปเบงเบเปเบซเบเบเบปเบเปเบฅเบฐเบเบปเบงเบขเปเบฒเบเบเบญเบเบเบฒเบเปเบฅเบเบเปเบฝเบเบเบธเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเบเบเบฐเบเบฒ), เปเบงเบฅเบฒ / เปเบงเบฅเบฒเบซเบกเบปเบเปเบงเบฅเบฒเปเบกเปเบเบเปเบฒเบเบฒเบกเบเบตเปเบเบฐเบเบดเบเบฑเบเปเบเปเบขเปเบฒเบเปเบเปเบเบดเบเปเบฅเบฐเบชเบฐเปเบเบฒเบฐ, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเบขเบนเปเบเบตเปเบเบตเปเปเบกเปเบเปเบเบฑเบเบเบตเปเบฎเบนเปเบเบฑเบเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบ. เปเบญเบเบฐเบชเบฒเบเบเบญเบเบซเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเปเบฝเบงเบเบฑเบเบเบฒเบเปเบปเบเปเบงเบฅเบฒ?
เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบกเบฑเบเบเบฐเบฎเบฑเบเบฎเบนเปเบเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบเบงเบฒเบกเบเบฒเบเบฅเบนเบเบเปเบฒ (เบเบฒเบกเบเบปเบเบเบฐเบเบด, เบเบฒเบเบชเบญเบเบเบฒเบก RPC) เปเบเบเปเบเปเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบ RPC. เบเปเบฒเบเบฒเบเบเบญเบเบชเบฐ เปเบญเบ เปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบญเบฒเบเบเบฐเบชเบปเปเบเบเบฒเบเบฎเบฑเบเบฎเบนเปเบเบฒเบเบฎเบฑเบ, เปเบฅเบฐเบเปเปเบกเบฒ, เบเบฒเบเบเบญเบเบชเบฐ เปเบญเบ เบเบญเบ RPC เปเบญเบ.
เบฅเบนเบเบเปเบฒเบเบปเบเบเบฐเบเบดเบฎเบฑเบเบฎเบนเปเบเบฒเบเปเบเปเบฎเบฑเบเบเปเปเบเบงเบฒเบกเบเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ (เปเบเบเบเบปเบเบเบฐเบเบด, เบเปเบฒเบเบญเบ RPC) เปเบเบเบเบฒเบเปเบเบตเปเบกเบเบฒเบเบฎเบฑเบเบฎเบนเปเบเบฑเบเบเปเบฒเบเบฒเบก RPC เบเปเปเปเบเบเปเบฒเบกเบฑเบเบเปเปเปเบเปเบชเบปเปเบเบเปเบฒเปเบเบตเบเปเบ (เบเปเบฒเบกเบฑเบเบเบทเบเบชเปเบฒเบ, เปเบซเปเปเบงเบปเปเบฒเบงเปเบฒ, 60-120 เบงเบดเบเบฒเบเบตเบซเบผเบฑเบเบเบฒเบเปเบเปเบฎเบฑเบ. เบเปเปเบเบงเบฒเบกเบเบฒเบเปเบเบตเบเปเบงเบต). เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบเปเบฒเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบ, เบเปเปเบกเบตเปเบซเบเบเบปเบเบเบตเปเบเบฐเบชเบปเปเบเบเปเปเบเบงเบฒเบกเปเบเบซเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบซเบผเบทเบเปเบฒเบกเบตเบเปเบฒเบเบงเบเบเปเปเบเบงเบฒเบกเบเบตเปเบเปเปเปเบเปเบฎเบฑเบเบเบฒเบเบเบญเบกเบฎเบฑเบเบเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ (เปเบงเบปเปเบฒเบงเปเบฒ, เบซเบผเบฒเบเบเบงเปเบฒ 16), เบฅเบนเบเบเปเบฒเบชเบปเปเบเบเบฒเบเบฎเบฑเบเบฎเบนเปเปเบเบเบขเบทเบเบขเบนเปเบเบปเบเบเบฝเบง.
... เบเปเบญเบเปเบเบงเปเบฒ: เบเบปเบงเปเบฎเบปเบฒเปเบญเบเบเปเปเบฎเบนเปเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบเบกเบฑเบเบซเบผเบฒเบเบเบฒเบเปเบ, เบชเบฐเบเบฑเปเบเปเบซเปเบชเบปเบกเบกเบธเบเบงเปเบฒเปเบซเปเบกเบฑเบเปเบเบฑเบเปเบเบเบเบตเป.
เปเบฅเบฐโเบเปเบฝเบงโเบเบฑเบ pingsโ:
เบเปเปเบเบงเบฒเบก Ping (PING/PONG)
ping#7abe77ec ping_id:long = Pong;
เบเบฒเบเบเบญเบเบชเบฐ เปเบญเบ เปเบเบเบเบปเบเบเบฐเบเบดเปเบกเปเบเบเบฑเบเบเบทเบเบชเบนเปเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฝเบงเบเบฑเบ:
pong#347773c5 msg_id:long ping_id:long = Pong;
เบเปเปเบเบงเบฒเบกเปเบซเบผเบปเปเบฒเบเบตเปเบเปเปเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบกเบตเบเบฒเบเบฎเบฑเบเบฎเบนเป. เบเบญเบเบเบทเบเบชเบปเปเบเบเบฝเบเปเบเปเปเบเบเบฒเบเบเบญเบเปเบเปเบเบฑเบ ping เปเบเบเบฐเบเบฐเบเบตเป ping เบชเบฒเบกเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเปเบเปเปเบเบเบเบฑเบเบชเบญเบเบเปเบฒเบ.
เบเบฒเบเปเบฅเบทเปเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบดเบ + PING
ping_delay_disconnect#f3427b8c ping_id:long disconnect_delay:int = Pong;
เปเบฎเบฑเบเบงเบฝเบเบเบทเบเบฑเบ ping. เบเบญเบเบเบฒเบเบเบฑเปเบ, เบซเบผเบฑเบเบเบฒเบเปเบเปเบฎเบฑเบเบญเบฑเบเบเบตเปเปเบฅเปเบง, เปเบเบตเบเปเบงเบตเปเบฅเบตเปเบกเบเบฑเบเปเบงเบฅเบฒเบเบตเปเบเบฐเบเบดเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบฑเบเบเบธเบเบฑเบ disconnect_delay เบงเบดเบเบฒเบเบตเบเปเปเบกเบฒ เปเบงเบฑเปเบเปเบชเบเปเบเปเบงเปเบฒเบกเบฑเบเบเบฐเปเบเปเบฎเบฑเบเบเปเปเบเบงเบฒเบกเปเบซเบกเปเบเบญเบเบเบฐเปเบเบเบเบฝเบงเบเบฑเบเบเบตเปเบเบฑเปเบเปเบงเบฅเบฒเบเบฑเบเบซเบกเบปเบเบเบตเปเบเปเบฒเบเบกเบฒเปเบเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ. เบเปเบฒเบฅเบนเบเบเปเบฒเบชเบปเปเบ ping เปเบซเบผเบปเปเบฒเบเบตเปเบเบธเบเป 60 เบงเบดเบเบฒเบเบต, เบเบปเบงเบขเปเบฒเบ, เบกเบฑเบเบญเบฒเบเบเบฐเบเปเบฒเบเบปเบ disconnect_delay เปเบเบปเปเบฒเบเบฑเบ 75 เบงเบดเบเบฒเบเบต.
เปเบเบปเปเบฒโเปเบเบฑเบโเบเปเบฒโเบซเบงเบฒ?! เปเบ 60 เบงเบดเบเบฒเบเบต, เบฅเบปเบเปเบเบเบฐเปเบเบปเปเบฒเปเบเปเบเบชเบฐเบเบฒเบเบต, เบฅเบธเบเบฅเบปเบเปเบฅเบฐเปเบญเบปเบฒเบเบนเปเปเบเบเบชเบฒเบ, เปเบฅเบฐเบญเบตเบเปเบเบทเปเบญเบซเบเบถเปเบเบชเบนเบเปเบชเบเบเบฒเบเบเบดเบเบเปเปเปเบเบญเบธเปเบกเบ. เปเบ 120 เบงเบดเบเบฒเบเบต, เปเบเบเบฐเบเบฐเบเบตเปเบเปเบฒเบเปเบเปเบเบดเบเบกเบฑเบ, เบกเบฑเบเบเบฐเบกเบฒเบฎเบญเบเบญเบตเบเบญเบฑเบเบซเบเบถเปเบ, เปเบฅเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบญเบฒเบเบเบฐเปเบเบ. เปเบฅเปเบง, เบกเบฑเบเปเบเบฑเบเบเบตเปเบเบฑเบเปเบเบเบงเปเบฒเบเบฒเบกเบฒเบเบฒเบเปเบช - "เบเปเบญเบเปเบเปเบเบดเบเบชเบฝเบเบเบฑเบ, เปเบเปเบเปเปเบฎเบนเปเบงเปเบฒเบกเบฑเบเบขเบนเปเปเบช", เบกเบตเบฅเบฐเบเบปเบเบเบญเบ Nagl เปเบฅเบฐเบเบฒเบเปเบฅเบทเบญเบ TCP_NODELAY, เบกเบตเบเบธเบเบเบฐเบชเบปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเบเปเบเปเบเบญเบ. เปเบเป, excuse เบเปเบฒเบเบฐเปเบเบปเปเบฒ, เบเบทเบชเบธเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบกเบฑเบ - 200 เบกเบดเบเบฅเบตเบงเบดเบเบฒเบเบต เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบฑเบเบฅเบฐเบเบฒเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเปเบฒเบเบเบทเบเบฑเบเปเบฅเบฐเบเบฐเบซเบเบฑเบเบชเบญเบเบชเบฒเบกเปเบเบฑเบเปเบเบฑเบเบเบตเปเปเบเบฑเบเปเบเปเบเป, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบซเปเบเบดเบเบกเบฑเบเปเบงเป 5 เบงเบดเบเบฒเบเบต, เบซเบผเบทเปเบเบเปเปเบเบฒเบก "เบเบนเปเปเบเปเบเปเบฒเบฅเบฑเบเบเบดเบก ... " เบเปเปเบเบงเบฒเบกเบซเบกเบปเบเปเบงเบฅเบฒเปเบเบเบฑเบเบเบธเบเบฑเบ. เปเบเปเบเปเปเบกเบตเบญเบตเบเปเบฅเปเบง.
เปเบฅเบฐเบชเบธเบเบเปเบฒเบ, pings. เบเบฑเปเบเปเบกเปเบ, เบเบฒเบเบเบงเบเบชเบญเบเบเบตเบงเบดเบเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP. เบกเบฑเบเปเบเบฑเบเปเบฅเบทเปเบญเบเบเบฐเบซเบฅเบปเบ, เปเบเปเบเบฐเบกเบฒเบ 10 เบเบตเบเปเบญเบเบซเบเปเบฒเบเบตเปเบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฝเบเบเปเปเบเบงเบฒเบกเบเบตเปเบชเปเบฒเบเบฑเบเบเปเบฝเบงเบเบฑเบเบเบนเปเบชเบปเปเบเบเปเบฒเบงเบเบญเบเบซเปเบเบฑเบเบเบญเบเบเบฐเบเบฐเบงเบดเบเบฒเบเบญเบเบเบงเบเปเบฎเบปเบฒ - เบเบนเปเบเบฝเบเบขเบนเปเบเบตเปเบเบฑเปเบเบเบฑเบเปเบเป ping เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฒเบเบฅเบนเบเบเปเบฒ, เปเบฅเบฐเบเปเปเบเบปเบเบเบฑเบเบเปเบฒเบก. เปเบเปเบเบฑเบเบชเบถเบเบชเบฒเบเบต 3 เปเบเบฑเบเบชเบดเปเบเบซเบเบถเปเบ, เปเบฅเบฐเบซเปเบญเบเบเบฒเบเบชเบฒเบเบปเบเปเบกเปเบเบญเบตเบ, เบเปเปเปเบกเปเบเบเป?..
เบซเบเปเบฒเบเปเบฒเบญเบดเบ, เปเบเบเบเบฒเบเบเบฒเบเบชเบถเบเบชเบฒเปเบฅเบฑเบเบเปเบญเบ. เบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP, เปเบเบเปเบฅเบฐเบเบตเบเบตเปเบเปเปเบกเบตเบเบฒเบเปเบฅเบเบเปเบฝเบเปเบเบฑเบเปเบเบฑเบ, เบชเบฒเบกเบฒเบเบกเบตเบเบตเบงเบดเบเบขเบนเปเปเบเปเบซเบผเบฒเบเบญเบฒเบเบดเบ. เบเบตเปเปเบกเปเบเบเบฑเบเบเบตเปเบฅเบฐเบเปเปเบเบต, เบเบถเปเบเบเบฑเบเบเบธเบเบเบฐเบชเบปเบ. เบกเบฑเบเบเบตเบเปเบฒเบเปเบฒเบเบกเบตเบเบฒเบเปเบเบทเปเบญเบกเบเปเป SSH เปเบเบตเบเบเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ, เบเปเบฒเบเปเบเปเบฅเบธเบเบเบถเปเบเบเบฒเบเบเบญเบกเบเบดเบงเปเบเบต, reboot router, เบเบฑเบเบเบทเบเปเบเบซเบฒเบชเบฐเบเบฒเบเบเบตเปเบเบญเบเบเปเบฒเบ - เปเบเบเบเบฑเบเบเปเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบตเปเบเปเปเปเบเปเบเบทเบเบเบตเบ (เบเปเบฒเบเบเปเปเปเบเปเบเบดเบกเบซเบเบฑเบ, เบเปเปเบกเบตเปเบเบฑเบเปเบเบฑเบ) , เบกเบฑเบเบชเบฐเบเบงเบ. เบกเบฑเบเบเปเปเบเบตเบเปเบฒเบกเบตเบฅเบนเบเบเปเบฒเบซเบฅเบฒเบเบเบฑเบเบเบปเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ, เปเบเปเบฅเบฐเบเบปเบเปเบเปเบเบฑเบเบเบฐเบเบฒเบเบญเบ (เบชเบฐเบเบฒเบเบเบต, Postgres!), เปเบฅเบฐเปเบเบปเปเบฒเบเบฒเบเบเบญเบเบฅเบนเบเบเปเบฒเบญเบฒเบเบเบฐ rebooted เปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบเบเปเบญเบเบซเบเปเบฒเบเบตเป - เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเปเปเบฎเบนเปเบเปเบฝเบงเบเบฑเบเบกเบฑเบ.
เบฅเบฐเบเบปเบเบชเบปเบเบเบฐเบเบฒ / IM เบเบปเบเบขเบนเปเปเบเบเปเบฅเบฐเบเบตเบเบตเบชเบญเบเบชเปเบฒเบฅเบฑเบเปเบซเบเบเบปเบเปเบเบตเปเบกเปเบเบตเบกเบซเบเบถเปเบ - เบชเบฐเบเบฒเบเบฐเบเบฒเบเบญเบญเบเปเบฅเบเป. เบเปเบฒเบเบนเปเปเบเป "เบฅเบปเปเบกเบฅเบปเบ", เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเปเบเปเบซเปเบเบนเปเบเบดเบเบเปเปเบเบญเบเบฅเบฒเบงเบเปเบฝเบงเบเบฑเบเปเบฅเบทเปเบญเบเบเบตเป. เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบเบฐเบชเบดเปเบเบชเบธเบเบเปเบงเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเบนเปเบชเปเบฒเบ Jabber เปเบเปเปเบฎเบฑเบ (เปเบฅเบฐเปเบเปเปเบเบชเปเบฒเบฅเบฑเบ 20 เบเบต) - เบเบนเปเปเบเปเปเบเปเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป, เปเบเปเบเบงเบเปเบเบปเบฒเบเบฑเบเบชเบทเบเบเปเปเบเบฝเบเบเปเปเบเบงเบฒเบกเบซเบฒเบฅเบฒเบง, เปเบเบทเปเบญเบงเปเบฒเบฅเบฒเบงเบญเบญเบเปเบฅเบเป (เปเบเบดเปเบเบเบฑเบเบชเบนเบเปเบชเบเบเบฑเบเบซเบกเบปเบเปเบเบชเบดเปเบเปเบซเบผเบปเปเบฒเบเบตเป. เบชเบญเบเบชเบฒเบกเบเบฒเบเบตเบเปเบญเบเบเบตเปเบเบฐเบเบฑเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเปเบเบทเบเบเบปเปเบเบเบปเบ). เบเปเป, เบเบฒเบเปเบฅเบทเบญเบ TCP_KEEPALIVE, เปเบเบดเปเบเบซเบผเบฒเบเบเบปเบเบเบตเปเบเปเปเปเบเบปเปเบฒเปเบเบงเบดเบเบตเบเบฒเบเบเบฑเบเปเบงเบฅเบฒ TCP เปเบฎเบฑเบเบงเบฝเบเปเบเบเบชเบธเปเบก (เปเบเบเบเบฒเบเบเปเบฒเบเบปเบเบเปเบฒเบเปเบฒเบกเบฐเบเบฒเบเปเบเบฑเปเบเบชเบดเบเบงเบดเบเบฒเบเบต), เบเบฐเบเปเปเบเปเบงเบเบขเบนเปเบเบตเปเบเบตเป - เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบซเปเปเบเปเปเบเบงเปเบฒเบเปเปเบเบฝเบเปเบเป OS kernel เปเบเบปเปเบฒเบเบฑเปเบ. เปเบเบทเปเบญเบเบเบฑเบเบเบญเบเบเบนเปเปเบเปเปเบกเปเบเบกเบตเบเบตเบงเบดเบเบขเบนเป, เปเบเปเบเบฑเบเปเบฎเบฑเบเบงเบฝเบเบเบปเบเบเบฐเบเบด, เบชเบฒเบกเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเปเบเป, เปเบฅเบฐเปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบเบเบปเบงเบกเบฑเบเปเบญเบ (เบเปเบฒเบเบเบดเบเบงเปเบฒเบกเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเบเปเบเป? Telegram Desktop เปเบ Ubuntu 18.04 froze เบชเปเบฒเบฅเบฑเบเบเปเบญเบเบซเบผเบฒเบเบเบงเปเบฒเบซเบเบถเปเบเบเบฑเปเบ).
เบเบฑเปเบเปเบกเปเบเปเบซเบเบเบปเบเบเบตเปเปเบเบปเปเบฒเบเปเบญเบ ping server เบฅเบนเบเบเปเบฒ, เปเบฅเบฐเบเปเปเบเบปเบเบเบฑเบเบเปเบฒเบก - เบเปเบฒเบฅเบนเบเบเปเบฒเปเบฎเบฑเบเปเบเบเบเบตเป, เบเปเบฒเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบทเบเบเปเบฒเบฅเบฒเบ, ping เบเบฐเบเปเปเบเบทเบเบชเบปเปเบ, เปเบเบปเปเบฒเบซเบกเบฒเบเบเบฐเบเปเปเบเบฑเบเบฅเบธ.
เบเบงเบเปเบฎเบปเบฒเปเบซเบฑเบเบซเบเบฑเบเบขเบนเปเปเบ Telegram? เบกเบฑเบเบเบปเบเบเบฑเบเบเปเบฒเบกเปเบเปเป! เบเบต, เบเบฑเปเบเปเบกเปเบ. เบขเปเบฒเบเปเบเบฑเบเบเบฒเบเบเบฒเบ, เปเบเปเบเบญเบ, เบเบฑเบเบชเบญเบเบเปเบฒเบเบชเบฒเบกเบฒเบ ping เปเบเบดเปเบเบเบฑเบเปเบฅเบฐเบเบฑเบ. เปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เบฅเบนเบเบเปเบฒเปเบเปเปเบกเปเบเปเบญเบเปเบเบปเปเบฒ ping_delay_disconnect
, เปเบเบดเปเบเบเปเบฒเบเบปเบเปเบงเบฅเบฒเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ. เบเบต, เบเปเปเบเบ, เบกเบฑเบเบเปเปเบเบถเปเบเบเบฑเบเบฅเบนเบเบเปเบฒเบเบตเปเบเบฐเบเบฑเบเบชเบดเบเปเบเบงเปเบฒเบฅเบฒเบงเบเปเบญเบเบเบฒเบเบญเบฒเปเบชเบขเบนเปเบเบตเปเบเบฑเปเบเบเบปเบเบเบฒเบเปเบเปเบเบเบเปเปเบกเบตเบเบฒเบ ping. เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ, เปเบเบเบญเบตเบเปเบชเปเบเบฒเบเปเบซเบผเบเบเบญเบเบกเบฑเบ, เบฎเบนเปเบเบตเบเบงเปเบฒ. เปเบเป, เปเบเปเบเบญเบ, เบเปเบฒเบเปเบฒเบเบเปเปเบชเบปเบเปเบเบเบฑเบเบเบฐเบเบฒเบเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบเบฐเปเบเบฑเบ Pinocchio เบเบตเปเบเบปเปเบงเบฎเปเบฒเบเบเบญเบเปเบเบปเปเบฒเปเบญเบ, เปเบฅเบฐเปเบกเปเบเปเบญเบเปเบเบปเปเบฒเบเบฐเปเบฎเบฑเบ ...
เบกเบฑเบเบเบงเบเบเบฐเบเบทเบเบญเบญเบเปเบเบเปเบเบงเปเบ?
เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเบทเปเบญเบงเปเบฒเบเปเปเปเบเบฑเบเบเบดเบเบเปเบฒเบเปเบเบดเบเบเบตเปเปเบซเปเปเบซเบฑเบเปเบเบดเบเบเบงเบฒเบกเบชเบฒเบกเบฒเบเบเบตเปเบเปเปเบชเบนเบเบซเบผเบฒเบเบเบญเบเบเบตเบกเบเบฒเบ Telegram / VKontakte เปเบเบเบปเบเปเบเบเบเบฒเบเบเบปเบเบชเบปเปเบ (เปเบฅเบฐเบฅเบฐเบเบฑเบเบเปเปเบฒ) เบเบญเบเปเบเบทเบญเบเปเบฒเบเบเบญเบกเบเบดเบงเปเบเบตเปเบฅเบฐเบเบธเบเบชเบปเบกเบเบฑเบเบเบตเปเบเปเปเบฒเปเบเปเบฅเบทเปเบญเบเบเบตเปเบเปเบฝเบงเบเปเบญเบ.
เปเบเบฑเบเบซเบเบฑเบเบกเบฑเบเบเบถเปเบเปเบฎเบฑเบเปเบซเปเบชเบฑเบเบชเบปเบเบซเบผเบฒเบ, เปเบฅเบฐเบเบฑเบเบชเบฐเบเบฒเบเบฐเบเบดเบ Telegram เบเบฐเบเบฒเบเบฒเบกเบเบฑเบเบเปเบฒเบเปเบเบงเปเบ? เบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบฐเบเบฒเบเบฒเบกเปเบฎเบฑเบเบเบญเบเบเบฐเบเบธเบกเบเบตเปเบฅเบญเบเบเบตเบงเบดเบเบเบฒเบเบขเบธเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP, i.e., เบชเบดเปเบเบเบตเปเบเปเปเปเบเปเบชเบปเปเบเปเบเบเบฑเบเบเบธเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบปเปเบเบเปเปเบกเบฒ. เบเบงเบเปเบเบปเบฒเบญเบฒเบเบเบฐเบเบฐเบเบฒเบเบฒเบกเปเบฎเบฑเบเบเบฒเบเบเบปเบเบชเบปเปเบ UDP, เปเบเปเบเบงเบเปเบเบปเบฒเบเบฐเบชเบปเบเบเบฑเบเบเบงเบฒเบกเบซเบเบธเปเบเบเบฒเบเปเบฅเบฐเบเบฐเบเบดเปเบกเบกเบฑเบ (เบเบฑเปเบเปเบกเปเบเปเบซเบเบเบปเบเบเบตเปเบงเปเบฒเปเบญเบเบฐเบชเบฒเบเบซเบงเปเบฒเบเปเบเบปเปเบฒ - เบเปเปเบกเบตเบซเบเบฑเบเบเบตเปเบเบฐเปเบงเบปเปเบฒเปเบญเปเบญเบงเบ). เปเบเปเปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฒเบเบเบงเบฒเบกเปเบเบปเปเบฒเปเบเบเปเบฝเบงเบเบฑเบเบงเบดเบเบตเบเบฒเบเปเบเบทเบญเบเปเบฒเบเปเบเบเบเบปเปเบงเปเบเปเบฅเบฐ TCP เปเบเบเบชเบฐเปเบเบฒเบฐเปเบฎเบฑเบเบงเบฝเบ, เบเปเบญเบเบเบตเปเบเปเบฒเบเบชเบฒเบกเบฒเบเบญเบตเบเปเบชเปเบกเบฑเบ, เปเบฅเบฐเบเปเบญเบเบเบตเปเบเปเบฒเบเบเปเบญเบเบเบฒเบเปเบฎเบฑเบเบกเบฑเบเปเบญเบ (เปเบฅเบฐเบงเบดเบเบตเบเบฒเบ), เปเบฅเบฐเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบตเปเบเบฐเบชเบปเบกเบเบปเบเบเบฑเบ cryptography "เบชเบญเบเบเบปเบเบเบฑเบ. เบซเบตเบเบเปเบญเบเบเบฝเบงโ, เบเบตเปเปเบกเปเบเบเบปเบเปเบเปเบฎเบฑเบ.
เบกเบฑเบเปเบเบฑเบเบชเบดเปเบเบเปเบฒเปเบเบฑเบเปเบเบงเปเบ? เบญเบตเบเปเบชเปเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒ msg_id
เปเบเบฑเบเบเบฒเบเบเบฐเบเบฑเบเบเบฒเปเบงเบฅเบฒเบเบตเปเบเปเบฒเปเบเบฑเบเบเบฒเบเบเบธเบเบเบฒเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบฅเบฑเบเปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบกเบเบต replay, เบกเบฑเบเปเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเบฐเปเบเบเบเบฑเบเบเบฑเบเบเบปเบงเบฅเบฐเบเบธเบเบตเปเปเบเบฑเบเปเบญเบเบฐเบฅเบฑเบเบเบฑเบเบกเบฑเบ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบเบเปเปเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบทเปเบเบเบฒเบเบเบญเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเปเบเบเบฐเบเบธเบเบฑเบ (เปเบกเบทเปเบญเบเบฒเบเบเปเบฒเบเบเบญเบเบเบฒเบเบเบฑเบเบเบธเบ, เบเบฑเปเบเปเบกเปเบเบซเบปเบงเบเปเป API เบฅเบฐเบเบฑเบเบชเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบงเบเบญเบทเปเบเบเบญเบเบเบธเบเบเบตเป), เบซเบเบถเปเบเบเบฐเบเปเบญเบ:
- เปเบเบตเบเปเบงเบตเบเบตเปเบเบทเบเบฒเบเปเบเบทเปเบญเบกเบเปเป TCP เบเบฑเบเบฅเบนเบเบเปเบฒเบฎเบฑเบเบเบดเบเบเบญเบ - เบเปเบฒเบกเบฑเบเปเบเปเบญเปเบฒเบเบเบฒเบเบเบฑเบญเบเปเบเบฑเบ, เบเบฐเบฅเบธเบเบฒเบฎเบฑเบเบฎเบนเป, เบเปเบฒเปเบเบตเบเบเบฒเบเบซเบผเบทเบชเบปเปเบเบเบทเบเบเปเปเบเบดเบเบเบฒเบ, เบเปเปเบกเบตเบเบฒเบเบชเบนเบเปเบชเบ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบฒเบเบขเบทเบเบขเบฑเบเบเปเปเปเบกเปเบ vector เบเบญเบ ids, เปเบเปเบเบฝเบเปเบเป "seq_no เบเบตเปเปเบเปเบฎเบฑเบเบชเบธเบเบเปเบฒเบ" - เบเบฝเบเปเบเปเบเบปเบงเปเบฅเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ TCP (เบชเบญเบเบเบปเบงเปเบฅเบ - seq เบเบญเบเบเปเบฒเบเปเบฅเบฐเบซเบเบถเปเบเบเบตเปเบขเบทเบเบขเบฑเบ). เบเบงเบเปเบฎเบปเบฒเบขเบนเปเปเบเบเบญเบเบเบฐเบเบธเบกเบชเบฐเปเบซเบกเบต, เบเปเปเปเบกเปเบเบเป?
- เปเบงเบฅเบฒเปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบเบฒเบเปเบเบกเบเบต replay เบเบฒเบเปเบเบฑเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเปเบเบเบเปเบฒเบเบซเบฒเบ, a la nonce. เบกเบฑเบเปเบเปเบเบทเบเบเบงเบเบชเบญเบ, เปเบเปเบเปเปเบกเบตเบเบปเบเบเบฐเบเบปเบเบซเบเบฑเบเบญเบตเบ. เบเบฝเบเบเปเปเบฅเบฐ
uint32
- เบเปเบฒเปเบเบทเบญเบเบญเบเบเบงเบเปเบฎเบปเบฒเบเปเบฝเบเปเบเบเบขเปเบฒเบเบซเบเปเบญเบเบเบธเบเปเปเบเบดเปเบเบกเบทเป, เบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบเบฑเบเบชเบฑเบ 16 bits เปเบซเปเบเบฑเบ bits เบเปเปเบฒเบเบญเบเบเปเบฒเบเบงเบเปเบเบฑเบกเบเบญเบเปเบงเบฅเบฒเปเบเบเบฐเบเบธเบเบฑเบ, เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญ - เปเบเบฑเบเบชเปเบงเบเปเบชเบเปเบซเบผเบทเบญเบเบญเบเบงเบดเบเบฒเบเบต (เปเบเบเบฑเบเบเบธเบเบฑเบ). - เบฅเบถเบเบญเบญเบเปเบฅเปเบง
msg_id
เบเบฑเบเบซเบกเบปเบ - เบเบฒเบเบเบฑเบเบชเบฐเบเบฐเบเบญเบเบเบฒเบเบเปเบฒเปเบเบเบเบฒเบเบฎเปเบญเบเบเปเปเบ backends, เบกเบต, เบเปเบฒเบญเบดเบ, id เบฅเบนเบเบเปเบฒ, เปเบฅเบฐเบญเบฑเบเบเบตเบชเบญเบ, session id, concatenate เปเบซเปเปเบเบปเบฒเปเบเบปเปเบฒ. เบเบฒเบกโเบเบฑเปเบโเปเบฅเปเบง, เบเบฝเบโเปเบเปโเบชเบดเปเบโเบเบฝเบงโเปเบเบปเปเบฒโเบเบฑเปเบโเปเบกเปเบโเบเบฝเบโเบเปโเปเบเบฑเบโเบเบปเบงโเบฅเบฐเบเบธโเบเบฒเบโเบฎเปเบญเบโเบเปseq_no
.
เบเบตเปเบเปเปเปเบกเปเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบเบซเบผเบฒเบเบเบตเปเบชเบธเบ; เปเบเบเบชเบธเปเบกเบเบตเปเบชเบปเบกเบเบนเบเบชเบฒเบกเบฒเบเปเบเบฑเบเบเบปเบงเบฅเบฐเบเบธ - เบเบตเปเปเบกเปเบเปเบฎเบฑเบเปเบฅเปเบงเปเบ API เบฅเบฐเบเบฑเบเบชเบนเบเปเบเปเบงเบฅเบฒเบชเบปเปเบเบเปเปเบเบงเบฒเบก, เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ. เบกเบฑเบเบเบฐเปเบเบฑเบเบเบฒเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเบชเปเบฒเบเบชเบฐเบเบฒเบเบฑเบเบเบฐเบเบฐเบเปเบฒเบเบทเบเปเบซเบกเปเบขเปเบฒเบเบชเบปเบกเบเบนเบเบเบฒเบเบเบตเปเบเปเบญเบเบเบฑเบเบขเปเบฒเบเปเบเปเบเบดเบ, เปเบเปเบเบตเปเปเบกเปเบเบซเบปเบงเบเปเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเปเบงเบเบญเบทเปเบ, เบเปเปเปเบกเปเบเบเบฒเบเบเบญเบเบเบตเป.
API?
เบเบฒเบเบณ! เบเบฑเปเบเบเบฑเปเบ, เปเบเบเปเบเปเบเปเปเบชเบนเปเบเบฑเบเปเบชเบฑเปเบเบเบฒเบเบเบตเปเปเบเบฑเบกเปเบเบเปเบงเบเบเบงเบฒเบกเปเบเบฑเบเบเบงเบเปเบฅเบฐเปเบกเปเบเปเบญเบเปเบเบปเปเบฒ, เปเบเบเบตเปเบชเบธเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเปเปเบเปเปเบเบซเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบฅเบฐเปเบเปเบฎเบฑเบเบเปเบฒเบเบญเบเปเบเปเบเบฑเบเบเบงเบเปเบเบปเบฒ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบธเบเบเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ (เบเปเปเปเบกเปเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเบเปเบฒเบฎเปเบญเบเบเป, เปเบเปเบกเบฑเบเปเบญเบ. เบชเบปเปเบเปเบซเปเบเบงเบเปเบฎเบปเบฒ, เปเบเบฑเปเบ PUSH, เบเปเบฒเปเบเบกเบฑเบเบเบฐเปเบเปเบเบเบงเปเบฒเบเบฑเปเบ).
เปเบญเบปเบฒเปเบเปเบชเป, เปเบเบเบฑเบเบเบธเบเบฑเบเบเบฐเบกเบตเบเบปเบงเบขเปเบฒเบเบเบฝเบงเปเบ Perl เปเบเบเบปเบเบเบงเบฒเบก! (เบชเปเบฒเบฅเบฑเบเบเบนเปเบเบตเปเบเปเปเบเบธเปเบเปเบเบตเบเบเบฑเบ syntax, เบเบฒเบเปเบเปเบเบฝเบเบเปเบฒเบญเบดเบเบเบญเบเบเบญเบเปเบกเปเบเปเบเบเบชเปเบฒเบเบเปเปเบกเบนเบเบเบญเบเบงเบฑเบเบเบธ, เบญเบฑเบเบเบตเบชเบญเบเปเบกเปเบเบซเปเบญเบเบฎเบฝเบเบเบญเบเบกเบฑเบ):
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' )
};
เปเบกเปเบเปเบฅเปเบง, เบเปเปเปเบกเปเบเบเบฒเบเบซเบผเบญเบเบฅเบงเบเบเปเบงเบเบเบธเบเบเบฐเบชเบปเบ - เบเปเบฒเบเปเบฒเบเบเบฑเบเบเปเปเปเบเปเบญเปเบฒเบเบกเบฑเบ, เบชเบทเบเบเปเปเปเบเบตเบเบซเบเปเบฒเปเบฅเบฐเปเบฎเบฑเบเบกเบฑเบ!
เปเบญเป เบงเปเบฒเบง~~... เบญเบฑเบเบเบตเปเปเบเบดเปเบเบเบทเปเบเบงเปเบ? เบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบเบตเปเบเบธเปเบเปเบเบตเบ ... เบเบฒเบเบเบตเบเบตเปเปเบกเปเบเปเบเบเบชเปเบฒเบเบเปเปเบกเบนเบเบเบญเบ Web API เบเบปเบเบเบฐเบเบดเปเบ JSON, เบเบปเบเปเบงเบฑเปเบเบงเปเบฒเบเบฑเปเบเบฎเบฝเบเบเบฑเบเบเบดเบเบเบฑเบเบงเบฑเบเบเบธ?..
เบชเบฐเบเบฑเปเบเบกเบฑเบเปเบเบฑเบเปเบเบงเปเบเบกเบฑเบ turns เบญเบญเบ ... เบกเบฑเบเบเบฑเบเบซเบกเบปเบเบเปเบฝเบงเบเบฑเบ, comrades?.. เบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบซเบผเบฒเบ - เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเบขเบธเบเปเบเบปเบฒเบเบฒเบเบเบฑเบเบเปเบญเบเบเปเบญเบเบเบตเปเบเบฑเบเบเบฝเบเปเบเบฅเปเบเบฅเบกเปเบงเบฑเบ. เบเบฝเบเปเบเปเปเบฅเบตเปเบกเบเบปเปเบ?..เบเปเปเบเบฝเบเปเบเป JSON เบเปเบฒเบ HTTPS เบเบฐเบเปเบฒเบเบเบงเปเบฒเบเป?! เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบซเบเบฑเบเปเบเบเบฒเบเปเบฅเบเบเปเบฝเบ? เบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบเบธเปเบกเบเปเบฒเบเป?
เบกเบฒเบเบฐเปเบกเบตเบเบชเบดเปเบเบเบตเป TL+MTProto เบกเบญเบเปเบซเปเบเบงเบเปเบฎเบปเบฒ เปเบฅเบฐเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเปเบเบฑเบเปเบเปเบเปเปเบเบงเปเบ. เบเบต, HTTP, เปเบเบดเปเบเบชเบธเบกเปเบชเปเบฎเบนเบเปเบเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเบฒเบฎเปเบญเบเบเป, เปเบกเปเบเปเบซเบกเบฒเบฐเบชเบปเบกเบเบตเปเบเปเปเบเบต, เปเบเปเบขเปเบฒเบเบซเบเปเบญเบเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบขเบนเปเปเบเบดเบ TLS?
serialization เบซเบเบฒเปเบซเบเปเบ. เปเบเบดเปเบเปเบเบเบชเปเบฒเบเบเปเปเบกเบนเบเบเบตเป, เบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบ JSON, เบเปเบญเบเบเบทเปเปเบเปเบงเปเบฒเบกเบตเบฅเบธเปเบ binary เบเบญเบเบกเบฑเบ. เปเบซเปเบซเบกเบฒเบ MsgPack เปเบเบฑเบเบเบฒเบเบเบฐเบซเบเบฒเบเบเปเปเบเบฝเบเบเป, เปเบเปเบกเบต, เบเบปเบงเบขเปเบฒเบ, CBOR - เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, เบกเบฒเบเบเบฐเบเบฒเบเบเบตเปเบญเบฐเบเบดเบเบฒเบเปเบงเปเปเบ.
- 25 + 256 - เบเบฒเบเบเปเบฝเบเบชเบฒเบเบเบตเปเบเปเปเบฒเบเบฑเบเบเปเบงเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบเปเบฒเบเบงเบเปเบชเบฑเปเบ, เปเบเบฑเปเบเบงเบดเบเบตเบเบฒเบเบเบตเบเบญเบฑเบเบฅเบฒเบเบฒเบเบทเบ
- 26 - serialized Perl object เบเบตเปเบกเบตเบเบทเปเบซเปเบญเบเบฎเบฝเบ เปเบฅเบฐ constructor arguments
- 27 - serialized language-independent object with type name and constructor arguments
เบเบต, เบเปเบฒเบเบฐเปเบเบปเปเบฒเปเบเปเบเบฐเบเบฒเบเบฒเบก serialize เบเปเปเบกเบนเบเบเบฝเบงเบเบฑเบเปเบ TL เปเบฅเบฐเปเบ CBOR เบเปเบงเบเบเบฒเบเปเบเบตเบเบชเบฒเบเปเบฅเบฐเบเบฒเบเบซเบธเปเบกเบซเปเปเบงเบฑเบเบเบธ. เบเบปเบเปเบเปเบฎเบฑเบเปเบฅเบตเปเบกเปเบเบเบเปเบฒเบเบเบฑเบเปเบเปเบเบทเปเบญเบเปเบเบเบญเบ CBOR เบเบฒเบเบเปเบญเบเบเบฒเบ megabyte:
cborlen=1039673 tl_len=1095092
เบเบฑเปเบโเบเบฑเปเบ เบชเบฐเบซเบผเบธเบ: เบกเบตเบฎเบนเบเปเบเบเบเบตเปเบเปเบฒเบเบเบงเปเบฒเบซเบผเบฒเบเบเบตเปเบเปเปเบเบถเปเบเบเบฑเบเบเบฑเบเบซเบฒเบเบญเบ synchronization เบฅเบปเปเบกเปเบซเบผเบง เบซเบผเบทเบเบปเบงเบฅเบฐเบเบธเบเบตเปเบเปเปเบฎเบนเปเบเบฑเบ, เบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบเบเบฝเบเบเบฝเบ.
เบเบฒเบโเบชเปเบฒเบโเบเบฑเปเบโเบเบฒเบโเปเบเบทเปเบญเบกโเบเปเปโเปเบงโ. เบเบตเปเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบชเบนเบ RTT เบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบทเบเปเบซเบกเป (เปเบกเบทเปเบญเบเบตเปเบเปเบเบทเบเบชเปเบฒเบเปเบฅเปเบงเบเบฑเปเบเบเบฝเบง) - เบชเบฒเบกเบฒเบเบเปเบฒเปเบเปเปเบเปเบเบฒเบเบเปเปเบเบงเบฒเบก MTProto เบเปเบฒเบญเบดเบ, เปเบเปเบงเปเบฒเบกเบตเบเบฒเบเบเบญเบเบเบฒเบ - เบกเบปเบเบเบตเปเบเบทเบญเบเบฝเบงเบเบฑเบ, เปเบเบเบเบฑเบเบเปเป rotten, เปเบฅเบฐเบญเบทเปเบเป. TLS เบชเบฐเปเปเบตเบซเบเบฑเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบ? เบญเปเบฒเบเปเบเบดเบเบซเบปเบงเบเปเป:
เปเบกเบทเปเบญเปเบเป PFS เปเบ TLS, TLS session tickets (
RFC 5077 ) เปเบเบทเปเบญเบชเบทเบเบเปเปเปเบเบเบเบฑเบเบเบตเปเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเปเบงเปเปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเบฅเบฐเบเบฒเบเบทเบเปเบซเบกเป เปเบฅเบฐเบเปเปเบกเบตเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเบตเปเบชเปเบฒเบเบฑเบเบขเบนเปเปเบเปเบเบตเบเปเบงเบต. เปเบกเบทเปเบญเปเบเบตเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเปเบฒเบญเบดเบเปเบฅเบฐเบชเปเบฒเบเบฅเบฐเบซเบฑเบ, เปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฐเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบฅเบฐเบชเบปเปเบเบกเบฑเบเปเบเบซเบฒเบฅเบนเบเบเปเบฒ (เปเบเบฎเบนเบเปเบเบเบเบญเบเบเบตเปเบเบญเบเบเบฐเบเบธเบก). เบเบฑเปเบเบเบฑเปเบ, เปเบกเบทเปเบญเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบทเบเปเบซเบกเป, เบฅเบนเบเบเปเบฒเบชเบปเปเบเบเบปเปเบงเบเบญเบเบเบฐเบเบธเบก, เบฅเบงเบกเบเบฑเบเบฅเบฐเบซเบฑเบเปเบเบเบเบฑเบ, เบเบฑเบเบเบทเบเปเบเบซเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ. เบเบตเปเบเบปเบงเบกเบฑเบเปเบญเบเบเบทเบเปเบเบปเปเบฒเบฅเบฐเบซเบฑเบเบเปเบงเบเบเบฐเปเบเบเบปเปเบงเบเบฒเบง (เบฅเบฐเบซเบฑเบเบเบตเปเปเบเบเบเบฑเบ), เปเบเบดเปเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบเปเบเบตเบเปเบงเบต เปเบฅเบฐเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเปเบเบเบขเบฒเบเปเบเบเบฑเบเบเบฒเปเบเบตเบเปเบงเบตเบเปเบฒเบเปเปเบฒเบเบฑเบเปเบปเบเบเบตเปเบเบฐเบกเบงเบเบเบปเบ SSL เปเบเบเบฒเบเปเบเปเปเบเบเบธเปเบก.[10]. เบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเปเบเบฐเบเปเบฒเบเบญเบเบเบปเปเบงเบเบญเบเบเบฐเบเบธเบกเบญเบฒเบเบเบฐเบฅเบฐเปเบกเบตเบ PFS เบเปเบฒเบเบฐเปเบเปเบเบตเบเปเบงเบตเบเบทเบเบเปเบฒเบฅเบฒเบ, เบเบปเบงเบขเปเบฒเบ, เปเบกเบทเปเบญเบเบงเบเบกเบฑเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบ (OpenSSL, nginx, Apache เปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบงเบเบกเบฑเบเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบชเปเบฒเบฅเบฑเบเปเบฅเบเบฐเปเบงเบฅเบฒเบเบฑเบเบซเบกเบปเบเบเบญเบเปเบเบเบเบฒเบ; เปเบงเบฑเบเปเบเบเปเบเบตเปเบเบดเบเบปเบกเปเบเป. เบเบธเบเปเบเปเบเบฑเบเปเบงเบฅเบฒเบซเบผเบฒเบเบเบปเปเบงเปเบกเบ, เปเบเบดเบเบกเบทเป).
เบเบตเปเบเบตเป RTT เบเปเปเปเบกเปเบเบชเบนเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฅเบเบเปเบฝเบเบขเปเบฒเบเบซเบเปเบญเบ ClientHello เปเบฅเบฐ ServerHello, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบฅเบนเบเบเปเบฒเบชเบฒเบกเบฒเบเบชเบปเปเบเบเปเปเบกเบนเบเบเปเบญเบกเบเบฑเบ Finished. เปเบเปเปเบเบเบตเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบงเบเบเบทเปเปเบงเปเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเปเบกเบตเปเบงเบฑเบ, เบกเบตเบเปเปเบเบญเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบตเปเปเบเบตเบเปเบซเบกเป, เปเบเป messenger, เบเบฒเบเปเบเบทเปเบญเบกเบเปเปเบเบตเปเบกเบฑเบเบเบฐเปเบเบฑเบเบซเบเบถเปเบเปเบฅเบฐเบซเบผเบฒเบเบซเบผเบทเบซเบเปเบญเบ, เบเบฒเบง, เบเบฒเบเบฎเปเบญเบเบเปเบชเบฑเปเบเบเบฑเบเบซเบเปเบฒเปเบงเบฑเบ - เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบ multiplexed. เบเบฒเบเปเบ. เบเบฑเปเบเปเบกเปเบ, เบกเบฑเบเปเบเบฑเบเบเบตเปเบเบญเบกเบฎเบฑเบเปเบเปเบซเบผเบฒเบเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเปเบเบปเบเบเบฑเบเบเบฒเบเบชเปเบงเบเบฅเบปเบเปเบเปเบเปเบเบดเบเบเบตเปเบเปเปเบเบตเปเบเปเป.
เบฅเบทเบกเบญเบฑเบเบญเบทเปเบเบเป? เบเบฝเบเปเบเบเปเบฒเปเบซเบฑเบ.
เบเบดเบโเบเบฒเบกโเบเบญเบโเบเปเปโเปเบ!
เปเบเบเบฒเบเบเบตเบชเบญเบเบเบญเบเบซเบปเบงเบเปเปเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบดเบเบฒเบฅเบฐเบเบฒเบเปเปเปเบกเปเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ, เปเบเปเบเบฑเบเบซเบฒเบเบญเบเบญเบปเบเบเบฒเบเบเบฑเบเบเบฑเปเบ - เบงเบดเบเบตเบเบฒเบ, เบญเบธเบเบปเบกเบเบฒเบ, เบเบฒเบเปเบเปเบเบญเบ, เบเบฑเบเบชเบฐเบเบฐเบเบฐเบเบดเบเปเปเบเบนเปเปเบเป, เปเบฅเบฐเบญเบทเปเบเป. เบขเปเบฒเบเปเบเบเปเบเบฒเบก, เบญเบตเบเบเบฒเบกเบเปเปเบกเบนเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบเบเบตเปเบเปเบฒเบชเบฐเปเบซเบเบตเบขเบนเปเบเบตเปเบเบตเป.
เบชเปเบงเบเบเบตเบชเบฒเบกเบเบฐเบชเบทเบเบเปเปเบงเบดเปเบเบฒเบฐเบญเบปเบเบเบฐเบเบญเบเบเปเบฒเบเบงเบดเบเบฒเบเบฒเบ / เบเบฐเบชเบปเบเบเบฒเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒ. เบเปเบฒเบเบเบฐเปเบเปเบฎเบฝเบเบฎเบนเป, เปเบเบเบชเบฐเปเบเบฒเบฐ:
- เบเบฒเบเบชเบทเบเบเปเปเบเบญเบ pandemonium เบเบตเปเบกเบตเบเบงเบฒเบกเบซเบฅเบฒเบเบซเบฅเบฒเบเบเบญเบเบเบฐเปเบเบ TL
- เบชเบดเปเบเบเบตเปเบเปเปเบฎเบนเปเบเปเบฝเบงเบเบฑเบเบเปเบญเบเบเบฒเบ เปเบฅเบฐเบเบธเปเบกเปเบซเบเป
- เปเบเบฑเบเบซเบเบฑเบเบเปเบญเบเปเบเปเบเบญเบเบเบถเปเบเบฎเปเบฒเบเปเบฎเบเบเบงเปเบฒเบเบฑเบเบเบตเบฅเบฒเบเบเบฒเบ
- เบเปเบฝเบงโเบเบฑเบโเบเบฒเบโเปเบเปโเปเบโเบเปเปโเบเบงเบฒเบกโเบเบตเปโเบชเบปเบกโเบเบนเบโเปเบฅเบฐโเบเบตเปโเบเปเบญเบโเบเบฑเบโ
- เบเบงเบฒเบกเปเบเบเบเปเบฒเบเบฅเบฐเบซเบงเปเบฒเบเบฎเบนเบเบเบฒเบเปเบฅเบฐเบฎเบนเบเบเบฒเบเปเบกเปเบเบซเบเบฑเบ
- emoji เปเบเบเปเบเบเบเปเปเบเบงเบฒเบกเบเบปเบงเบญเบฝเบเปเบเบงเปเบ
เปเบฅเบฐเปเบกเปเบเปเบญเบเปเบเบปเปเบฒเบญเบทเปเบเป! เบเบดเบเบเบฒเบกเบขเบนเป!
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com