เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฆเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจ…เจคเฉ‡ เจธเฉฐเจ—เจ เจจเจพเจคเจฎเจ• เจชเจนเฉเฉฐเจš เจฆเฉ€ เจ†เจฒเฉ‹เจšเจจเจพเฅค เจญเจพเจ— 1, เจคเจ•เจจเฉ€เจ•เฉ€: เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจฟเจ–เจฃ เจฆเจพ เจ…เจจเฉเจญเจต - TL, MT

เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš, เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจ•เจฟเฉฐเจจเจพ เจตเจงเฉ€เจ† เจนเฉˆ, เจกเฉ‚เจฐเฉ‹เจต เจญเจฐเจพ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจธเจฟเจธเจŸเจฎ เจฌเจฃเจพเจ‰เจฃ เจตเจฟเฉฑเจš เจ•เจฟเฉฐเจจเฉ‡ เจนเฉเจธเจผเจฟเจ†เจฐ เจ…เจคเฉ‡ เจคเจœเจฐเจฌเฉ‡เจ•เจพเจฐ เจนเจจ, เจ†เจฆเจฟ เจฌเจพเจฐเฉ‡ เจชเฉ‹เจธเจŸเจพเจ‚ เจนเฉˆเจฌเจฐเฉ‡ 'เจคเฉ‡ เจ…เจ•เจธเจฐ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจฃเฉ€เจ†เจ‚ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจ—เจˆเจ†เจ‚ เจนเจจเฅค เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚, เจฌเจนเฉเจค เจ˜เฉฑเจŸ เจฒเฉ‹เจ•เจพเจ‚ เจจเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจคเจ•เจจเฉ€เจ•เฉ€ เจกเจฟเจตเจพเจˆเจธ เจตเจฟเฉฑเจš เจฒเฉ€เจจ เจ•เจฐ เจฒเจฟเจ† เจนเฉˆ - เจตเฉฑเจง เจคเฉ‹เจ‚ เจตเฉฑเจง, เจ‰เจน JSON 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจ‡เฉฑเจ• เจ•เจพเจซเจผเฉ€ เจธเจงเจพเจฐเจจ (เจ…เจคเฉ‡ MTProto เจคเฉ‹เจ‚ เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉฑเจ–เจฐเฉ‡) Bot API เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฟเจฐเจซเจผ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจตเจฟเจธเจผเจตเจพเจธ 'เจคเฉ‡ เจธเจพเจฐเฉ€เจ†เจ‚ เจชเฉเจฐเจธเจผเฉฐเจธเจพ เจ…เจคเฉ‡ เจชเฉ€เจ†เจฐ เจœเฉ‹ เจฎเฉˆเจธเฉ‡เจ‚เจœเจฐ เจฆเฉ‡ เจฆเฉเจ†เจฒเฉ‡ เจ˜เฉเฉฐเจฎเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจฒเจ—เจญเจ— เจกเฉ‡เจข เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚, เจเจธเจผเฉ‡เจฒเฉ‹เจจ เจเจจเจœเฉ€เจ“ เจตเฉˆเจธเฉ€เจฒเฉ€ (เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจกเจฐเจพเจซเจŸ เจฆเฉ‡ เจจเจพเจฒ เจนเฉˆเจฌเจฐเฉ‡ เจ‰เฉฑเจคเฉ‡ เจ‰เจธเจฆเจพ เจ–เจพเจคเจพ เจฎเจฟเจŸเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€) เจตเจฟเฉฑเจš เจฎเฉ‡เจฐเฉ‡ เจธเจนเจฟเจฏเฉ‹เจ—เฉ€ เจจเฉ‡ เจชเจฐเจฒ เจตเจฟเฉฑเจš เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจ†เจชเจฃเจพ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจฟเจ–เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ, เจ…เจคเฉ‡ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจฆเจพ เจฒเฉ‡เจ–เจ• เจธเจผเจพเจฎเจฒ เจนเฉ‹ เจ—เจฟเจ†เฅค เจ•เจฟเจ‰เจ‚ เจชเจฐเจฒ, เจ•เฉเจ เจคเฉเจฐเฉฐเจค เจชเฉเฉฑเจ›เจฃเจ—เฉ‡? เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ…เจœเจฟเจนเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‚เจœเฉ€เจ†เจ‚ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฎเฉŒเจœเฉ‚เจฆ เจนเจจเฅคเจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‡เจน เจฌเจฟเฉฐเจฆเฉ‚ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ•เฉ‹เจˆ เจนเฉ‹เจฐ เจญเจพเจธเจผเจพ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจ•เฉ‹เจˆ เจจเจนเฉ€เจ‚ เจนเฉˆ เจคเจฟเจ†เจฐ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€, เจ…เจคเฉ‡ เจ‰เจธ เจ…เจจเฉเจธเจพเจฐ เจฒเฉ‡เจ–เจ• เจจเฉ‚เฉฐ เจธเจพเจฐเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚. เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจญเจฐเฉ‹เจธเฉ‡ เจฆเจพ เจฎเจพเจฎเจฒเจพ เจนเฉˆ, เจชเจฐ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเฉ‹. เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฆเฉ‡ เจ‰เจฆเฉ‡เจธเจผ เจจเจพเจฒ เจ‡เฉฑเจ• เจ‰เจคเจชเจพเจฆ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉเจธเฉ€เจ‚ เจจเจฟเจฐเจฎเจพเจคเจพ เจคเฉ‹เจ‚ เจคเจฟเจ†เจฐ-เจ•เฉ€เจคเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ 'เจคเฉ‡ เจญเจฐเฉ‹เจธเจพ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจ…เจคเฉ‡ เจ‡เจธ 'เจคเฉ‡ เจ…เฉฐเจจเฉเจนเฉ‡เจตเจพเจน เจญเจฐเฉ‹เจธเจพ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ (เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจฆเฉ‚เจœเฉ‡ เจญเจพเจ— เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจธเจผเจพ เจนเฉˆ)เฅค เจ‡เจธ เจธเจฎเฉ‡เจ‚, เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ "เจ”เจธเจค" เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ€ เจนเฉˆ (เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจตเฉ€ API เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ)เฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจชเฉ‹เจธเจŸเจพเจ‚ เจฆเฉ€ เจ‡เจธ เจฒเฉœเฉ€ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจœเจพเจ‚ เจ—เจฃเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจคเจ•เจจเฉ€เจ•เฉ€ เจตเฉ‡เจฐเจตเฉ‡ เจ…เจคเฉ‡ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐเจฒ เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ (เจ‰เจจเฉเจนเจพเจ‚ เจฒเจˆ เจตเฉ€ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจนเจจ เจœเฉ‹ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจฒเจฟเจ–เจฃเจ—เฉ‡, เจชเจฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจ—เฉ‡)เฅค เจ‡เจธ เจฒเจˆ, เจฎเฉเฉฑเจ– เจŸเฉ€เจšเจพ เจ—เจพเจนเจ• เจจเฉ‚เฉฐ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจเจพ เจธเฉ€ เจ…เจงเจฟเจ•เจพเจฐเจค เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ. เจญเจพเจต, เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจ…เจงเจฟเจ•เจพเจฐเจค เจ—เจพเจนเจ•เจพเจ‚ เจฆเจพ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฌเฉฐเจฆ เจนเฉˆ (เจฆเฉเจฌเจพเจฐเจพ, เจฆเฉ‚เจœเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจตเจฟเจธเจผเฉ‡ เจจเฉ‚เฉฐ เจตเจงเฉ‡เจฐเฉ‡ เจตเจฟเจธเจฅเจพเจฐ เจจเจพเจฒ เจ•เจตเจฐ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ‡เจน เจธเฉฑเจš เจนเฉˆเฅค เจตเจพเจชเจฐเจฆเจพ เจนเฉˆ เจ‡เจธ เจฒเจˆ), เจชเจฐ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเฉเจฐเจพเจฃเฉ‡ เจฆเจฟเจจเจพเจ‚ เจตเจฟเฉฑเจš, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, RFC เจตเจฐเจ—เจพ เจ‡เฉฑเจ• เจฎเจฟเจ†เจฐ เจนเฉˆ - เจ•เฉ€ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจจเฉ‚เฉฐ "เจฆเฉ‡เจ–เฉ‡" เจฌเจฟเจจเจพเจ‚, เจ‡เจ•เฉฑเจฒเฉ‡ เจจเจฟเจฐเจงเจพเจฐเจจ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจฟเจ–เจฃเจพ เจธเฉฐเจญเจต เจนเฉˆ, เจญเจพเจตเฉ‡เจ‚ เจ‡เจน เจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉ‹เจตเฉ‡ (เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเจพเจช, เจฎเฉ‹เจฌเจพเจˆเจฒ), เจœเจพเจ‚ เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจŸเฉˆเจฒเฉ€เจฅเฉŒเจจ?

เจตเจฟเจธเจผเจพ - เจธเฉ‚เจšเฉ€:

เจฆเจธเจคเจพเจตเฉ‡เจœเจผ... เจ‡เจน เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ, เจ เฉ€เจ• เจนเฉˆ? เจ•เฉ€ เจ‡เจน เจธเฉฑเจš เจนเฉˆ?..

เจ‡เจธ เจฒเฉ‡เจ– เจฒเจˆ เจจเฉ‹เจŸเจพเจ‚ เจฆเฉ‡ เจŸเฉเจ•เฉœเฉ‡ เจชเจฟเจ›เจฒเฉ€เจ†เจ‚ เจ—เจฐเจฎเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ‡เจ•เฉฑเจ เฉ‡ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃเฉ‡ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจ—เจ เจธเจจเฅค เจ‡เจน เจธเจพเจฐเจพ เจธเจฎเจพเจ‚ เจธเจฐเจ•เจพเจฐเฉ€ เจตเฉˆเจฌเจธเจพเจˆเจŸ 'เจคเฉ‡ https://core.telegram.org เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฒเฉ‡เจ…เจฐ 23 เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเฉ€, เจฏเจพเจจเฉ€. 2014 เจตเจฟเฉฑเจš เจ•เจฟเจคเฉ‡ เจซเจธ เจ—เจฟเจ† เจธเฉ€ (เจฏเจพเจฆ เจฐเฉฑเจ–เฉ‹, เจ‰เจฆเฉ‹เจ‚ เจตเฉ€ เจšเฉˆเจจเจฒ เจจเจนเฉ€เจ‚ เจธเจจ?) เจฌเฉ‡เจธเจผเฉฑเจ•, เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, เจ‡เจธ เจจเจพเจฒ เจธเจพเจจเฉ‚เฉฐ 2014 เจตเจฟเฉฑเจš เจ‰เจธ เจธเจฎเฉ‡เจ‚ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจตเจพเจฒเฉ‡ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจธเฉ€เฅค เจชเจฐ เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจตเฉ€, เจฆเจธเจคเจพเจตเฉ‡เจœเจผ, เจชเจนเจฟเจฒเจพเจ‚, เจ…เจงเฉ‚เจฐเจพ, เจ…เจคเฉ‡ เจฆเฉ‚เจœเจพ, เจธเจฅเจพเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เจน เจ†เจชเจฃเฉ‡ เจ†เจช เจฆเฉ‡ เจ‰เจฒเจŸ เจธเฉ€เฅค เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจฎเจนเฉ€เจจเจพ เจชเจนเจฟเจฒเจพเจ‚, เจธเจคเฉฐเจฌเจฐ 2019 เจตเจฟเฉฑเจš, เจ‡เจน เจธเฉ€ เจ…เจšเจพเจจเจ• เจ‡เจน เจ–เฉ‹เจœ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ เจ•เจฟ เจธเจพเจˆเจŸ 'เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจตเฉฑเจกเจพ เจ…เจชเจกเฉ‡เจŸ เจธเฉ€, เจฌเจฟเจฒเจ•เฉเจฒ เจคเจพเจœเจผเจพ เจฒเฉ‡เจ…เจฐ 105 เจฒเจˆ, เจ‡เฉฑเจ• เจจเฉ‹เจŸ เจฆเฉ‡ เจจเจพเจฒ เจ•เจฟ เจนเฉเจฃ เจนเจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ. เจฆเจฐเจ…เจธเจฒ, เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฒเฉ‡เจ– เจธเฉฐเจธเจผเฉ‹เจงเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ, เจชเจฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจจเจพ เจฌเจฆเจฒเฉ‡ เจ—เจ เจธเจจเฅค เจ‡เจธ เจฒเจˆ, เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฌเจพเจฐเฉ‡ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ†เจฒเฉ‹เจšเจจเจพ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉเจ เจšเฉ€เจœเจผเจพเจ‚ เจนเฉเจฃ เจขเฉเจ•เจตเฉ‡เจ‚ เจจเจนเฉ€เจ‚ เจนเจจ, เจชเจฐ เจ•เฉเจ เจ…เจœเฉ‡ เจตเฉ€ เจ•เจพเจซเจผเฉ€ เจนเจจ. เจ†เจ–เจผเจฐเจ•เจพเจฐ, เจ†เจงเฉเจจเจฟเจ• เจธเฉฐเจธเจพเจฐ เจตเจฟเฉฑเจš 5 เจธเจพเจฒ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจฒเฉฐเจฎเจพ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจฌเจนเฉเจค เจนเฉ€ เจฌเจนเฉเจค เจฌเจนเฉเจค เจธเจพเจฐเฉ‡. เจ‰เจนเจจเจพเจ‚ เจธเจฎเจฟเจ†เจ‚ เจคเฉ‹เจ‚ (เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ‰เจฆเฉ‹เจ‚ เจคเฉ‹เจ‚ เจฐเฉฑเจฆ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจฎเฉเฉœ เจธเฉเจฐเจœเฉ€เจค เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเฉ€เจ“เจšเฉˆเจŸ เจธเจพเจˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฆเฉ‡), เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš API เจตเจฟเจงเฉ€เจ†เจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจธเฉŒ เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เฉ‡ เจขเจพเจˆ เจธเฉŒ เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉ‹ เจ—เจˆ เจนเฉˆ!

เจ‡เฉฑเจ• เจจเฉŒเจœเจตเจพเจจ เจฒเฉ‡เจ–เจ• เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ•เจฟเฉฑเจฅเฉ‡ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจนเฉˆ?

เจ‡เจธ เจจเจพเจฒ เจ•เฉ‹เจˆ เจซเจผเจฐเจ• เจจเจนเฉ€เจ‚ เจชเฉˆเจ‚เจฆเจพ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจฒเจฟเจ–เจฆเฉ‡ เจนเฉ‹ เจœเจพเจ‚ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฐเฉˆเจกเฉ€เจฎเฉ‡เจก เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€เจ†เจ‚ เจชเจพเจˆเจฅเจจ เจฒเจˆ เจŸเฉˆเจฒเฉ€เจฅเฉŒเจจ เจœ PHP เจฒเจˆ เจฎเฉ‡เจกเจฒเจพเจˆเจจ, เจ•เจฟเจธเฉ‡ เจตเฉ€ เจนเจพเจฒเจค เจตเจฟเฉฑเจš, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจ†เจชเจฃเฉ€ เจ…เจฐเจœเจผเฉ€ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐเฉ‹ - เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹ api_id ะธ api_hash (เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ VKontakte API เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจนเฉˆ เจ‰เจน เจคเฉเจฐเฉฐเจค เจธเจฎเจ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ) เจœเจฟเจธ เจฆเฉเจ†เจฐเจพ เจธเจฐเจตเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เจฐเฉ‡เจ—เจพเฅค เจ‡เจน เจ•เจฐเจจเจพ เจชเจเจ—เจพ เจ‡เจน เจ•เจพเจจเฉ‚เฉฐเจจเฉ€ เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡ เจ•เจฐเฉ‹, เจชเจฐ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฒเฉ‡เจ–เจ• เจ‡เจธเจจเฉ‚เฉฐ เจฆเฉ‚เจœเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš เจ•เจฟเจ‰เจ‚ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจคเฉเจธเฉ€เจ‚ เจŸเฉˆเจธเจŸ เจฆเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจธเฉฐเจคเฉเจธเจผเจŸ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‰เจน เจฌเจนเฉเจค เจธเฉ€เจฎเจค เจนเจจ - เจคเฉฑเจฅ เจ‡เจน เจนเฉˆ เจ•เจฟ เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจเจช, เจ‡เจธ เจฒเจˆ เจ‡เจธ เจตเจฟเฉฑเจš เจœเจฒเจฆเจฌเจพเจœเจผเฉ€ เจจเจพ เจ•เจฐเฉ‹เฅค

เจนเฉเจฃ, เจคเจ•เจจเฉ€เจ•เฉ€ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, เจธเจพเจจเฉ‚เฉฐ เจ‡เจธ เจคเฉฑเจฅ เจตเจฟเฉฑเจš เจฆเจฟเจฒเจšเจธเจชเฉ€ เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจฐเจœเจฟเจธเจŸเจฐเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเจพเจจเฉ‚เฉฐ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจคเฉ‹เจ‚ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚, เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ, เจ†เจฆเจฟ เจฆเฉ‡ เจ…เจชเจกเฉ‡เจŸเจพเจ‚ เจฌเจพเจฐเฉ‡ เจธเฉ‚เจšเจจเจพเจตเจพเจ‚ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจฃเฉ€เจ†เจ‚ เจšเจพเจนเฉ€เจฆเฉ€เจ†เจ‚ เจนเจจ. เจญเจพเจต, เจ•เฉ‹เจˆ เจ‡เจน เจฎเฉฐเจจ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจกเฉŒเจ•เจธ เจตเจพเจฒเฉ€ เจธเจพเจˆเจŸ เจจเฉ‚เฉฐ เจฌเจธ เจ›เฉฑเจก เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจธเฉ€ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเจพเจฒ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ เจ—เจพเจนเจ• เจฌเจฃเจพเจ‰เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ เจธเฉ€, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจ†เจธเจพเจจ เจนเฉˆเฅค เจชเจฐ เจจเจนเฉ€เจ‚, เจ…เจœเจฟเจนเจพ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจ—เจฟเจ†, เจ•เฉ‹เจˆ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเจนเฉ€เจ‚ เจ†เจˆเฅค

เจ…เจคเฉ‡ เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจฒเจฟเจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ…เจœเฉ‡ เจตเฉ€ เจฌเจนเฉเจค เจฆเฉ‚เจฐ เจนเฉˆ. เจนเจพเจฒเจพเจ‚เจ•เจฟ https://core.telegram.org/ เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ MTProto เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ - เจชเจฐ เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจตเจฟเจธเจผเจตเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ OSI เจฎเจพเจกเจฒ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจฒเฉ‡เจ†เจ‰เจŸ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ‡ เจ‡เฉฑเจ• เจ†เจฎ เจตเจฐเจฃเจจ เจฒเจˆ เจชเฉฐเจจเฉ‡ เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจซเจฟเจฐ เจ‡เจน เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจตเจฟเจ…เจฐเจฅ เจนเฉˆ.

เจตเจพเจธเจคเจต เจตเจฟเฉฑเจš, MTProto เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ…เจคเฉ‡ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจ•เจˆ เจชเฉฑเจงเจฐเจพเจ‚ 'เจคเฉ‡ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ OS เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจตเจฟเจฆเฉ‡เจธเจผเฉ€ เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฐ เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจฒเฉ‡เจ…เจฐ เจ‰เจฒเฉฐเจ˜เจฃเจพ), เจ‡เฉฑเจ• เจตเฉฑเจกเจพ, เจฆเจฐเจฆเจจเจพเจ• เจ…เจคเฉ‡ เจญเจฟเจ†เจจเจ• เจตเจฟเจธเจผเจพ เจฐเจธเจคเฉ‡ เจตเจฟเฉฑเจš เจ† เจœเจพเจตเฉ‡เจ—เจพ ...

เจฌเจพเจˆเจจเจฐเฉ€ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ: TL (เจŸเจพเจˆเจช เจฒเฉˆเจ‚เจ—เฉ‚เจเจœ) เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจธเจ•เฉ€เจฎ, เจ…เจคเฉ‡ เจฒเฉ‡เจ…เจฐเจพเจ‚, เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจกเจฐเจพเจ‰เจฃเฉ‡ เจธเจผเจฌเจฆ

เจ‡เจน เจตเจฟเจธเจผเจพ, เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจ•เฉเฉฐเจœเฉ€ เจนเฉˆ. เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจญเจฟเจ†เจจเจ• เจธเจผเจฌเจฆ เจนเฉ‹เจฃเจ—เฉ‡ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจตเจฟเฉฑเจš เจ–เฉ‹เจœ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‹เจ—เฉ‡.

เจ‡เจธ เจฒเจˆ, เจ‡เฉฑเจฅเฉ‡ เจšเจฟเฉฑเจคเจฐ เจนเฉˆ. เจœเฉ‡ เจ‡เจน เจธเจผเจฌเจฆ เจคเฉเจนเจพเจกเฉ‡ เจฎเจจ เจตเจฟเจš เจ†เจตเฉ‡ เจคเจพเจ‚ เจ•เจนเฉ‹, JSON เจธเจ•เฉ€เจฎเจพ, เจคเฉเจธเฉ€เจ‚ เจธเจนเฉ€ เจธเฉ‹เจšเจฟเจ†เฅค เจŸเฉ€เจšเจพ เจ‡เฉฑเจ•เฉ‹ เจนเฉˆ: เจชเฉเจฐเจธเจพเจฐเจฟเจค เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจธเฉฐเจญเจพเจตเฉ€ เจธเจฎเฉ‚เจน เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฒเจˆ เจ•เฉเจ เจญเจพเจธเจผเจพเฅค เจ‡เจน เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจธเจฎเจพเจจเจคเจพเจตเจพเจ‚ เจ–เจคเจฎ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ. เจœเฉ‡เจ•เจฐ เจชเฉฐเจจเฉ‡ เจคเฉ‹เจ‚ MTProto เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ, เจœเจพเจ‚ เจ…เจงเจฟเจ•เจพเจฐเจค เจ•เจฒเจพเจ‡เฉฐเจŸ เจฆเฉ‡ เจธเจฐเฉ‹เจค เจŸเฉเจฐเฉ€ เจคเฉ‹เจ‚, เจ…เจธเฉ€เจ‚ เจ•เฉเจ เจธเจ•เฉ€เจฎเจพ เจ–เฉ‹เจฒเฉเจนเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจ…เจธเฉ€เจ‚ เจ•เฉเจ เจ…เจœเจฟเจนเจพ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡:

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

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

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

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

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

---functions---

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

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

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

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

เจ‡เจธ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ เจฆเฉ‡เจ–เจฃ เจตเจพเจฒเจพ เจตเจฟเจ…เจ•เจคเฉ€ เจ…เจจเฉเจญเจตเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจœเฉ‹ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจ‰เจธ เจฆเฉ‡ เจธเจฟเจฐเจซ เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹เจตเฉ‡เจ—เจพ - เจ เฉ€เจ• เจนเฉˆ, เจ‡เจน เจœเจผเจพเจนเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเจฃเจคเจฐ เจนเจจ (เจนเจพเจฒเจพเจ‚เจ•เจฟ เจจเจพเจฎ เจ•เจฟเฉฑเจฅเฉ‡ เจนเฉˆ, เจ–เฉฑเจฌเฉ‡ เจชเจพเจธเฉ‡ เจœเจพเจ‚ เจธเฉฑเจœเฉ‡ เจชเจพเจธเฉ‡?), เจ‰เจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจš เจ–เฉ‡เจคเจฐ เจนเจจ, เจœเจฟเจธเจฆเฉ‡ เจฌเจพเจ…เจฆ เจ‡เฉฑเจ• เจ•เฉŒเจฒเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ... เจธเจผเจพเจ‡เจฆเฅค เจ‡เฉฑเจฅเฉ‡ เจ•เฉ‹เจฃ เจฌเจฐเฉˆเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจธเจผเจพเจ‡เจฆ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ เจนเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ C++ (เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจธเจšเจฎเฉเจš เจจเจนเฉ€เจ‚). เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจธเจพเจฐเฉ‡ เจšเจฟเฉฐเจจเฉเจนเจพเจ‚ เจฆเจพ เจ•เฉ€ เจ…เจฐเจฅ เจนเฉˆ, เจชเฉเจฐเจธเจผเจจ เจšเจฟเฉฐเจจเฉเจน, เจตเจฟเจธเจฎเจฟเจ• เจšเจฟเฉฐเจจเฉเจน, เจชเฉเจฐเจคเฉ€เจธเจผเจค, เจนเฉˆเจธเจผ เจšเจฟเฉฐเจจเฉเจน (เจ…เจคเฉ‡ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเจพ เจ…เจฐเจฅ เจตเฉฑเจ–-เจตเฉฑเจ– เจฅเจพเจตเจพเจ‚ 'เจคเฉ‡ เจตเฉฑเจ–เฉ‹ เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจนเจจ), เจ•เจˆ เจตเจพเจฐ เจฎเฉŒเจœเฉ‚เจฆ เจนเจจ เจ…เจคเฉ‡ เจ•เจฆเฉ‡ เจจเจนเฉ€เจ‚, เจนเฉˆเจ•เจธเจพเจกเฉˆเจธเฉ€เจฎเจฒ เจจเฉฐเจฌเจฐ - เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ, เจ‡เจธ เจคเฉ‹เจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจนเฉˆ เจธเจนเฉ€ (เจœเจฟเจธ เจจเฉ‚เฉฐ เจธเจฐเจตเจฐ เจฆเฉเจ†เจฐเจพ เจฐเฉฑเจฆ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ) เจฌเจพเจˆเจŸ เจธเจŸเฉเจฐเฉ€เจฎ? เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ (เจนเจพเจ‚, เจจเฉ‡เฉœเฉ‡ เจฆเฉ‡ JSON เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจธเจ•เฉ€เจฎเจพ เจฆเฉ‡ เจฒเจฟเฉฐเจ• เจนเจจ - เจชเจฐ เจ‡เจน เจ‡เจธเจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ).

เจชเฉฐเจจเจพ เจ–เฉ‹เจฒเฉเจนเฉ‹ เจฌเจพเจˆเจจเจฐเฉ€ เจกเจพเจŸเจพ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจฎเจธเจผเจฐเฉ‚เจฎเจœเจผ เจ…เจคเฉ‡ เจตเฉฑเจ–เจฐเฉ‡ เจ—เจฃเจฟเจค เจฆเฉ€ เจœเจพเจฆเฉ‚เจˆ เจฆเฉเจจเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ—เฉ‹เจคเจพเจ–เฉ‹เจฐเฉ€ เจ•เจฐเฉ‹, 4เจตเฉ‡เจ‚ เจธเจพเจฒ เจตเจฟเฉฑเจš เจฎเจŸเจจ เจตเจฐเจ—เฉ€ เจšเฉ€เจœเจผเฅค เจตเจฐเจฃเจฎเจพเจฒเจพ, เจ•เจฟเจธเจฎ, เจฎเฉเฉฑเจฒ, เจ•เฉฐเจฌเฉ€เจจเฉ‡เจŸเจฐ, เจซเฉฐเจ•เจธเจผเจจเจฒ เจ•เฉฐเจฌเฉ€เจจเฉ‡เจŸเจฐ, เจธเจพเจงเจพเจฐเจจ เจฐเฉ‚เจช, เจธเฉฐเจฏเฉเจ•เจค เจ•เจฟเจธเจฎ, เจชเฉ‹เจฒเฉ€เจฎเฉ‹เจฐเจซเจฟเจ• เจ•เจฟเจธเจฎ... เจ…เจคเฉ‡ เจ‡เจน เจธเจญ เจธเจฟเจฐเจซ เจชเจนเจฟเจฒเจพ เจชเฉฐเจจเจพ เจนเฉˆ! เจ…เจ—เจฒเจพ เจคเฉเจนเจพเจกเจพ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ TL เจญเจพเจธเจผเจพ, เจœเฉ‹ เจ•เจฟ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‡เจธ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจฎเจพเจฎเฉ‚เจฒเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ…เจคเฉ‡ เจœเจตเจพเจฌ เจฆเฉ€ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจ‡เจน เจตเจงเฉ‡เจฐเฉ‡ เจ†เจฎ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจฒเจˆ เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉ€ เจœเจตเจพเจฌ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฐเฉ‚เจธเฉ€ เจคเฉ‹เจ‚ เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจตเจฟเฉฑเจš เจ…เจจเฉเจตเจพเจฆ เจ•เฉ€เจคเฉ‡ เจ—เจ เจ—เจฃเจฟเจค เจฆเฉ‡ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ…เฉฑเจ  เจเจฎเจฌเฉˆเฉฑเจก 'เจคเฉ‡ เจฎเฉเฉœ เจคเฉ‹เจ‚ เจชเฉœเฉเจนเจจเจพ เจชเจตเฉ‡เจ—เจพเฅค เจชเฉฐเจจเฉ‡!

เจซเฉฐเจ•เจธเจผเจจเจฒ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจ•เจฟเจธเจฎ เจฆเฉ‡ เจ…เจจเฉเจฎเจพเจจ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจชเจพเจ เจ•, เจฌเฉ‡เจธเจผเจ•, เจ‡เจธ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃเจ—เฉ‡, เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจ‰เจฆเจพเจนเจฐเจจ เจคเฉ‹เจ‚ เจตเฉ€, เจœเจฟเฉฐเจจเจพ เจœเจผเจฟเจ†เจฆเจพ เจœเจพเจฃเฉ‚ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เจนเจฟ เจธเจ•เจฆเฉ‡ เจนเจจ เจ•เจฟ เจ‡เจน เจ…เจธเจฒ เจตเจฟเฉฑเจš เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš เจฌเฉเจฐเจพ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ‡เจคเจฐเจพเจœเจผ เจนเจจ:

  • เจนเจพเจ‚, เจฎเจ•เจธเจฆ เจšเฉฐเจ—เจพ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ, เจชเจฐ เจ…เจซเจผเจธเฉ‹เจธ, เจ‰เจน เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ
  • เจฐเฉ‚เจธเฉ€ เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฟเจŸเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจธเจฟเฉฑเจ–เจฟเจ† เจ†เจˆเจŸเฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ€ เจตเฉฑเจ–เจฐเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ - เจนเจฐ เจ•เจฟเจธเฉ‡ เจจเฉ‡ เจ…เจจเฉเจธเจพเจฐเฉ€ เจ•เฉ‹เจฐเจธ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจนเฉˆ
  • เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡, เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจ‡เจน เจนเฉˆ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจตเจฐเจฃเจฟเจค TL เจฆเจพ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจธเฉ€เจฎเจค เจธเจฌเจธเฉˆเฉฑเจŸ เจตเจฐเจคเจฟเจ† เจ—เจฟเจ† เจนเฉˆ

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟเจนเจพ เจ—เจฟเจ† เจนเฉˆ เจฒเจฟเจ“เจจเฉ‡เจฐเจก เจšเฉˆเจจเจฒ 'เจคเฉ‡ #perl เจซเฉเจฐเฉ€เจจเฉ‹เจก เจ†เจˆเจ†เจฐเจธเฉ€ เจจเฉˆเจŸเจตเจฐเจ• เจตเจฟเฉฑเจš, เจœเจฟเจธ เจจเฉ‡ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจคเฉ‹เจ‚ เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจคเฉฑเจ• เจ‡เฉฑเจ• เจ—เฉ‡เจŸ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ (เจ•เฉ‹เจŸ เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจคเฉ‹เจ‚ เจ—เจฒเจค เจนเฉˆ):

เจ‡เจน เจฎเจนเจฟเจธเฉ‚เจธ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ เจฅเจฟเจŠเจฐเฉ€ เจŸเจพเจˆเจช เจ•เจฐเจจ เจฒเจˆ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจ‰เจคเจธเจพเจนเจฟเจค เจนเฉ‹ เจ—เจฟเจ†, เจ…เจคเฉ‡ เจ‡เจธ เจจเจพเจฒ เจ–เฉ‡เจกเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ, เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจธ เจ—เฉฑเจฒ เจฆเฉ€ เจชเจฐเจตเจพเจน เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจ•เจฟ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€ เจœเจพเจ‚ เจจเจนเฉ€เจ‚เฅค

เจ†เจชเจฃเฉ‡ เจฒเจˆ เจฆเฉ‡เจ–เฉ‹, เจœเฉ‡เจ•เจฐ เจฌเฉ‡เจ…เจฐ-เจŸเจพเจˆเจชเจพเจ‚ (เจ‡เฉฐเจŸ, เจฒเฉฐเจฌเฉ€, เจ†เจฆเจฟ) เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจธเฉ‡ เจฎเฉเฉฑเจขเจฒเฉ€ เจšเฉ€เจœเจผ เจตเจœเฉ‹เจ‚ เจธเจตเจพเจฒ เจจเจนเฉ€เจ‚ เจ‰เจ เจพเจ‰เจ‚เจฆเฉ€ - เจ†เจ–เจฐเจ•เจพเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ - เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ†เจ“ เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจ เจตเฉˆเจ•เจŸเจฐ. เจญเจพเจต, เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจเจฐเฉ‡, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจจเจคเฉ€เจœเฉ‡ เจตเจพเจฒเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจธเจนเฉ€ เจจเจพเจฎ เจจเจพเจฒ เจฌเฉเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเฉ‹เฅค

เจชเจฐ เจ…เฉฑเจ—เฉ‡

TL เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ‡ เจธเจฌเจธเฉˆเฉฑเจŸ เจฆเจพ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจตเฉ‡เจฐเจตเจพ เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจœเฉ‹ เจ…เจงเจฟเจ•เจพเจฐเจค เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจชเฉœเฉเจนเจฆเฉ‡ เจนเจจ

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

fixed#abcdef34 id:int = Type2;

fixedVec set:Vector<Type2> = FixedVec;

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

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

เจชเจฐเจฟเจญเจพเจธเจผเจพ เจนเจฎเฉ‡เจธเจผเจพ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจจเจฟเจฐเจฎเจพเจคเจพ, เจœเจฟเจธเจฆเฉ‡ เจฌเจพเจ…เจฆ เจšเฉ‹เจฃเจตเฉ‡เจ‚ เจฐเฉ‚เจช เจตเจฟเฉฑเจš (เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš - เจนเจฎเฉ‡เจธเจผเจพ) เจšเจฟเฉฐเจจเฉเจน เจฆเฉเจ†เจฐเจพ # เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจธเฉ€ เจ†เจฐ เจธเฉ€ 32 เจ‡เจธ เจ•เจฟเจธเจฎ เจฆเฉ€ เจธเจงเจพเจฐเจฃ เจตเจฐเจฃเจจ เจธเจคเจฐ เจคเฉ‹เจ‚เฅค เจ…เฉฑเจ—เฉ‡ เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเจพ เจตเฉ‡เจฐเจตเจพ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ; เจœเฉ‡เจ•เจฐ เจ‰เจน เจฎเฉŒเจœเฉ‚เจฆ เจนเจจ, เจคเจพเจ‚ เจ•เจฟเจธเจฎ เจ–เจพเจฒเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจธเจญ เจ‡เฉฑเจ• เจฌเจฐเจพเจฌเจฐ เจšเจฟเฉฐเจจเฉเจน เจจเจพเจฒ เจ–เจคเจฎ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ‰เจธ เจ•เจฟเจธเจฎ เจฆเจพ เจจเจพเจฎ เจœเจฟเจธ เจจเจพเจฒ เจ‡เจน เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ - เจœเฉ‹ เจ•เจฟ เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‰เจช-เจ•เจฟเจธเจฎ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉˆเฅค เจฌเจฐเจพเจฌเจฐ เจฆเฉ‡ เจšเจฟเฉฐเจจเฉเจน เจฆเฉ‡ เจธเฉฑเจœเฉ‡ เจชเจพเจธเฉ‡ เจตเจพเจฒเจพ เจฎเฉเฉฐเจกเจพ เจนเฉˆ เจฌเจนเฉเจฐเฉ‚เจชเฉ€ - เจญเจพเจต, เจ•เจˆ เจ–เจพเจธ เจ•เจฟเจธเจฎเจพเจ‚ เจ‡เจธ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจœเฉ‡เจ•เจฐ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจฒเจพเจˆเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ ---functions---, เจคเจพเจ‚ เจธเฉฐเจŸเฉˆเจ•เจธ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเจพ เจฐเจนเฉ‡เจ—เจพ, เจชเจฐ เจ…เจฐเจฅ เจตเฉฑเจ–เจฐเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ: เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ RPC เจซเฉฐเจ•เจธเจผเจจ เจฆเจพ เจจเจพเจฎ เจฌเจฃ เจœเจพเจตเฉ‡เจ—เจพ, เจ–เฉ‡เจคเจฐ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฌเจฃ เจœเจพเจฃเจ—เฉ‡ (เจ เฉ€เจ• เจนเฉˆ, เจฏเจพเจจเฉ€, เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจนเฉ€ เจฐเจนเฉ‡เจ—เจพ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจนเฉ‡เจ เจพเจ‚ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค , เจ‡เจน เจธเจฟเจฐเจซเจผ เจจเจฟเจฐเจงเจพเจฐเจค เจ…เจฐเจฅ เจนเฉ‹เจตเฉ‡เจ—เจพ), เจ…เจคเฉ‡ "เจชเฉ‹เจฒเฉ€เจฎเฉ‹เจฐเจซเจฟเจ• เจ•เจฟเจธเจฎ " - เจตเจพเจชเจธ เจ•เฉ€เจคเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจฆเฉ€ เจ•เจฟเจธเจฎเฅค เจ‡เจน เจธเฉฑเจš เจนเฉˆ เจ•เจฟ เจ‡เจน เจ…เจœเฉ‡ เจตเฉ€ เจฌเจนเฉเจฐเฉ‚เจชเฉ€ เจฐเจนเฉ‡เจ—เจพ - เจธเจฟเจฐเจซเจผ เจญเจพเจ— เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ ---types---, เจชเจฐ เจ‡เจธ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจจเฉ‚เฉฐ "เจตเจฟเจšเจพเจฐเจฟเจ† เจจเจนเฉ€เจ‚ เจœเจพเจตเฉ‡เจ—เจพ"เฅค เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฌเฉเจฒเจพเจ เจ—เจ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจ“เจตเจฐเจฒเฉ‹เจก เจ•เจฐเจจเจพ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡, เจ‡เฉฑเจ•เฉ‹ เจจเจพเจฎ เจตเจพเจฒเฉ‡ เจชเจฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจฆเจธเจคเจ–เจคเจพเจ‚ เจตเจพเจฒเฉ‡ เจ•เจˆ เจซเฉฐเจ•เจธเจผเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ C++ เจตเจฟเฉฑเจš, TL เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจพเจจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจเฅค

เจ•เจฟเจ‰เจ‚ "เจ•เจจเจธเจŸเจฐเจ•เจŸเจฐ" เจ…เจคเฉ‡ "เจชเฉ‹เจฒเฉ€เจฎเฉ‹เจฐเจซเจฟเจ•" เจœเฉ‡ เจ‡เจน เจ“เจ“เจชเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ? เจ–เฉˆเจฐ, เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ•เจฟเจธเฉ‡ เจฒเจˆ เจ“เจ“เจชเฉ€ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เจธ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฃเจพ เจธเฉŒเจ–เจพ เจนเฉ‹เจตเฉ‡เจ—เจพ - เจ‡เฉฑเจ• เจ…เจฎเฉ‚เจฐเจค เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเจนเฉเจฐเฉ‚เจชเฉ€ เจ•เจฟเจธเจฎ, เจ…เจคเฉ‡ เจจเจฟเจฐเจฎเจพเจคเจพ เจ‡เจธเจฆเฉ‡ เจธเจฟเฉฑเจงเฉ‡ เจตเฉฐเจธเจผเจœ เจตเจฐเจ— เจนเจจ, เจ…เจคเฉ‡ final เจ•เจˆ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจฆเฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจตเจฟเฉฑเจšเฅค เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจฌเฉ‡เจธเจผเฉฑเจ•, เจ‡เฉฑเจฅเฉ‡ เจนเฉ€ เจธเจฎเจพเจจเจคเจพ OO เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจธเจฒ เจ“เจตเจฐเจฒเฉ‹เจก เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจตเจฟเจงเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เฉฑเจฅเฉ‡ เจธเจฟเจฐเจซเจผ เจกเจพเจŸเจพ เจธเจŸเฉเจฐเจ•เจšเจฐ เจนเจจ, เจ‡เฉฑเจฅเฉ‡ เจ•เฉ‹เจˆ เจตเจฟเจงเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚ เจนเจจ (เจนเจพเจฒเจพเจ‚เจ•เจฟ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจ…เจคเฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ…เฉฑเจ—เฉ‡ เจธเจฟเจฐ เจตเจฟเฉฑเจš เจ‰เจฒเจเจฃ เจชเฉˆเจฆเจพ เจ•เจฐเจจ เจฆเฉ‡ เจธเจฎเจฐเฉฑเจฅ เจนเฉˆ เจ•เจฟ เจ‰เจน เจฎเฉŒเจœเฉ‚เจฆ เจนเจจ, เจชเจฐ เจ‡เจน เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจ—เฉฑเจฒ เจนเฉˆ) - เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจธเฉ‹เจš เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเฉ‹ เจฆเจพ เจจเจฟเจฐเจฎเจพเจฃ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ เจฌเจพเจˆเจŸ เจธเจŸเฉเจฐเฉ€เจฎ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจŸเจพเจˆเจช เจ•เจฐเฉ‹เฅค

เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ? เจกเฉ€เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเจฐ, เจœเฉ‹ เจนเจฎเฉ‡เจธเจผเจพ 4 เจฌเจพเจˆเจŸ เจชเฉœเฉเจนเจฆเจพ เจนเฉˆ, เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเจพ เจนเฉˆ 0xcrc32 - เจ…เจคเฉ‡ เจธเจฎเจเจฆเจพ เจนเฉˆ เจ•เจฟ เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพ field1 เจ•เจฟเจธเจฎ เจฆเฉ‡ เจจเจพเจฒ int, i.e. เจฌเจฟเจฒเจ•เฉเจฒ 4 เจฌเจพเจˆเจŸ เจชเฉœเฉเจนเจฆเจพ เจนเฉˆ, เจ‡เจธ 'เจคเฉ‡ เจŸเจพเจˆเจช เจฆเฉ‡ เจจเจพเจฒ เจ“เจตเจฐเจฒเจพเจˆเฉฐเจ— เจซเฉ€เจฒเจก PolymorType เจชเฉœเฉเจนเฉ‹เฅค เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฆเจพ เจนเฉˆ 0x2crc32 เจ…เจคเฉ‡ เจธเจฎเจเจฆเจพ เจนเฉˆ เจ•เจฟ เจ…เฉฑเจ—เฉ‡ เจฆเฉ‹ เจ–เฉ‡เจคเจฐ เจนเจจ, เจชเจนเจฟเจฒเจพเจ‚ long, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ 8 เจฌเจพเจˆเจŸ เจชเฉœเฉเจนเจฆเฉ‡ เจนเจพเจ‚เฅค เจ…เจคเฉ‡ เจซเจฟเจฐ เจฆเฉเจฌเจพเจฐเจพ เจ‡เฉฑเจ• เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจ•เจฟเจธเจฎ, เจœเฉ‹ เจ‰เจธเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจกเฉ€เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ. เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ, Type3 เจธเจฐเจ•เจŸ เจตเจฟเฉฑเจš เจ•เฉเจฐเจฎเจตเจพเจฐ เจฆเฉ‹ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐเจพเจ‚ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ˜เฉ‹เจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจซเจฟเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจœเจพเจ‚ เจคเจพเจ‚ เจฎเจฟเจฒเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ 0x12abcd34, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจคเฉเจนเจพเจจเฉ‚เฉฐ 4 เจนเฉ‹เจฐ เจฌเจพเจˆเจŸเจธ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ int, เจœเจพเจ‚ 0x6789cdef, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจนเฉ‹เจฐ เจ•เฉเจ เจตเฉ€ - เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ…เจชเจตเจพเจฆ เจธเฉเฉฑเจŸเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ. เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉเจนเจพเจ‚, เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ…เจธเฉ€เจ‚ 4 เจฌเจพเจˆเจŸเจธ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฒเจˆ เจตเจพเจชเจธ เจœเจพเจ‚เจฆเฉ‡ เจนเจพเจ‚ int เจ–เฉ‡เจคเจฐ field_c ะฒ constructorTwo เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจจเจพเจฒ เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเจพ เจชเฉœเฉเจนเจจเจพ เจ–เจคเจฎ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ PolymorType.

เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจซเฉœเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเฉ‹ 0xdeadcrc เจจเฉ‚เฉฐ constructorThree, เจซเจฟเจฐ เจธเจญ เจ•เฉเจ เจนเฉ‹เจฐ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจธเจพเจกเจพ เจชเจนเจฟเจฒเจพ เจ–เฉ‡เจคเจฐ เจนเฉˆ bit_flags_of_what_really_present เจ•เจฟเจธเจฎ เจฆเฉ‡ เจจเจพเจฒ # - เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‡เจน เจ•เจฟเจธเจฎ เจฒเจˆ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ‰เจชเจจเจพเจฎ เจนเฉˆ nat, เจญเจพเจต "เจ•เฉเจฆเจฐเจคเฉ€ เจธเฉฐเจ–เจฟเจ†"เฅค เจ‡เจน, เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ…เจฃ-เจนเจธเจคเจพเจ–เจฐเจฟเจค เจ‡เฉฐเจŸ เจนเฉˆ, เจตเฉˆเจธเฉ‡, เจ‡เฉฑเจ•เฉ‹ เจ‡เฉฑเจ• เจ•เฉ‡เจธ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจนเจธเจคเจพเจ–เจฐเจฟเจค เจธเฉฐเจ–เจฟเจ†เจตเจพเจ‚ เจ…เจธเจฒ เจธเจฐเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจตเจพเจชเจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เจธ เจฒเจˆ, เจ…เจ—เจฒเจพ เจ‡เฉฑเจ• เจชเฉเจฐเจธเจผเจจ เจšเจฟเฉฐเจจเฉเจน เจตเจพเจฒเจพ เจจเจฟเจฐเจฎเจพเจฃ เจนเฉˆ, เจฎเจคเจฒเจฌ เจ•เจฟ เจ‡เจน เจซเฉ€เจฒเจก - เจ‡เจน เจคเจพเจฐ 'เจคเฉ‡ เจธเจฟเจฐเจซ เจคเจพเจ‚ เจนเฉ€ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉ‹เจตเฉ‡เจ—เจพ เจœเฉ‡เจ•เจฐ เจธเจฌเฉฐเจงเจค เจฌเจฟเฉฑเจŸ เจจเฉ‚เฉฐ เจธเฉฐเจฆเจฐเจญเจฟเจค เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ (เจฒเจ—เจญเจ— เจ‡เฉฑเจ• เจŸเจฐเจจเจฐเฉ€ เจ“เจชเจฐเฉ‡เจŸเจฐ เจตเจพเจ‚เจ—)เฅค เจ‡เจธ เจฒเจˆ, เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจ‡เจน เจฌเจฟเฉฑเจŸ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ…เฉฑเจ—เฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ Type, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจพเจกเฉ€ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš 2 เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจนเจจเฅค เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจนเฉˆ (เจธเจฟเจฐเจซเจผ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ), เจฆเฉ‚เจœเฉ‡ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจนเฉˆ ids เจ•เจฟเจธเจฎ เจฆเฉ‡ เจจเจพเจฒ ids:Vector<long>.

เจคเฉเจธเฉ€เจ‚ เจธเฉ‹เจš เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจ…เจคเฉ‡ เจœเฉˆเจจเจฐเจฟเจ• เจฆเฉ‹เจตเฉ‡เจ‚ เจชเฉเจฐเฉ‹ เจœเจพเจ‚ เจœเจพเจตเจพ เจตเจฟเฉฑเจš เจนเจจเฅค เจชเจฐ เจจเจนเฉ€เจ‚เฅค เจฒเจ—เจญเจ—. เจ‡เจน เจ•เฉ‡เจตเจฒ เจ‡เจ•เฉ‹ เจ…เจธเจฒ เจธเจฐเจ•เจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉ‹เจฃ เจฌเจฐเฉˆเจ•เจŸเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจฎเจพเจฎเจฒเจพ, เจ…เจคเฉ‡ เจ‡เจน เจธเจฟเจฐเจซเจผ เจตเฉˆเจ•เจŸเจฐ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจฌเจพเจˆเจŸ เจธเจŸเฉเจฐเฉ€เจฎ เจตเจฟเฉฑเจš, เจ‡เจน เจตเฉˆเจ•เจŸเจฐ เจ•เจฟเจธเจฎ เจฒเจˆ 4 CRC32 เจฌเจพเจˆเจŸ เจนเฉ‹เจฃเจ—เฉ‡, เจนเจฎเฉ‡เจธเจผเจพ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡, เจซเจฟเจฐ 4 เจฌเจพเจˆเจŸ - เจเจฐเฉ‡ เจคเฉฑเจคเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‡เจน เจคเฉฑเจค เจ†เจชเจฃเฉ‡ เจ†เจชเฅค

เจ‡เจธ เจคเฉฑเจฅ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเฉ‹ เจ•เจฟ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจนเจฎเฉ‡เจธเจผเจพ 4 เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจ‡เจธเจฆเฉ‡ เจ—เฉเจฃเจœ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ - เจฌเจฟเจฒเจŸ-เจ‡เจจ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเจพ เจตเฉ€ เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ bytes ะธ string เจฒเฉฐเจฌเจพเจˆ เจฆเฉ‡ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ 4 เจฆเฉเจ†เจฐเจพ เจ‡เจธ เจ…เจฒเจพเจˆเจจเจฎเฉˆเจ‚เจŸ เจจเจพเจฒ - เจ เฉ€เจ• เจนเฉˆ, เจ‡เจน เจ†เจฎ เจ…เจคเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเจคเจจ เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ€ เจตเฉ€ เจœเจพเจชเจฆเจพ เจนเฉˆ? เจนเจพเจฒเจพเจ‚เจ•เจฟ TL เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ€ เจฌเจพเจˆเจจเจฐเฉ€ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจนเฉ‹เจฃ เจฆเจพ เจฆเจพเจ…เจตเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจจเจฐเจ• เจตเจฟเฉฑเจš, เจธเจฟเจฐเจซ เจฒเจ—เจญเจ— เจ•เจฟเจธเฉ‡ เจตเฉ€ เจšเฉ€เจœเจผ เจฆเฉ‡ เจตเจฟเจธเจฅเจพเจฐ เจฆเฉ‡ เจจเจพเจฒ, เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจฌเฉเจฒเฉ€เจ…เจจ เจฎเฉเฉฑเจฒเจพเจ‚ เจ…เจคเฉ‡ เจธเจฟเฉฐเจ—เจฒ-เจ…เฉฑเจ–เจฐ เจธเจคเจฐ เจจเฉ‚เฉฐ 4 เจฌเจพเจˆเจŸ เจคเฉฑเจ•, เจ•เฉ€ JSON เจ…เจœเฉ‡ เจตเฉ€ เจฌเจนเฉเจค เจฎเฉ‹เจŸเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ? เจฆเฉ‡เจ–เฉ‹, เจฌเฉ‡เจฒเฉ‹เฉœเฉ‡ เจ–เฉ‡เจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ€ เจฌเจฟเฉฑเจŸ เจซเจฒเฉˆเจ— เจฆเฉเจ†เจฐเจพ เจ›เฉฑเจกเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจธเจญ เจ•เฉเจ เจฌเจนเฉเจค เจตเจงเฉ€เจ† เจนเฉˆ, เจ…เจคเฉ‡ เจญเจตเจฟเฉฑเจ– เจฒเจˆ เจตเฉ€ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจนเฉˆ, เจคเจพเจ‚ เจ•เจฟเจ‰เจ‚ เจจเจพ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจตเจฟเฉฑเจš เจจเจตเฉ‡เจ‚ เจตเจฟเจ•เจฒเจชเจฟเจ• เจ–เฉ‡เจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡?...

เจชเจฐ เจจเจนเฉ€เจ‚, เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฎเฉ‡เจฐเฉ‡ เจธเฉฐเจ–เฉ‡เจช เจตเจฐเจฃเจจ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚, เจชเจฐ เจชเฉ‚เจฐเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฆเฉ‡ เจนเฉ‹เฅค เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจฆเฉ‡ CRC32 เจฆเฉ€ เจ—เจฃเจจเจพ เจธเจ•เฉ€เจฎ เจฆเฉ‡ เจŸเฉˆเจ•เจธเจŸ เจตเจฐเจฃเจจ เจฆเฉ€ เจธเจงเจพเจฐเจฃ เจฒเจพเจˆเจจ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ (เจตเจพเจงเฉ‚ เจ–เจพเจฒเฉ€ เจฅเจพเจ‚ เจจเฉ‚เฉฐ เจนเจŸเจพเจ“, เจ†เจฆเจฟ) - เจ‡เจธ เจฒเจˆ เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจ–เฉ‡เจคเจฐ เจœเฉ‹เฉœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ•เจฟเจธเจฎ เจตเจฐเจฃเจจ เจฒเจพเจˆเจจ เจฌเจฆเจฒ เจœเจพเจตเฉ‡เจ—เฉ€, เจ…เจคเฉ‡ เจ‡เจธเจฒเจˆ เจ‡เจธเจฆเจพ CRC32 เจ…เจคเฉ‡ , เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจเฅค เจ…เจคเฉ‡ เจชเฉเจฐเจพเจฃเจพ เจ—เจพเจนเจ• เจ•เฉ€ เจ•เจฐเฉ‡เจ—เจพ เจœเฉ‡ เจ‰เจธเจจเฉ‚เฉฐ เจจเจตเฉ‡เจ‚ เจซเจฒเฉˆเจ— เจธเฉˆเฉฑเจŸเจพเจ‚ เจตเจพเจฒเจพ เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจ‡เจ†, เจ…เจคเฉ‡ เจ‰เจธเจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจชเจคเจพ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเจพเจฒ เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจ•เจฐเจจเจพ เจนเฉˆ? ..

เจฆเฉ‚เจœเจพ, เจ†เจ“ เจฏเจพเจฆ เจ•เจฐเฉ€เจ เจธเฉ€ เจ†เจฐ เจธเฉ€ 32, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจฅเฉ‡ เจœเจผเจฐเฉ‚เจฐเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจตเจฐเจคเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจนเฉˆเจธเจผ เจซเฉฐเจ•เจธเจผเจจ เจตเจฟเจฒเฉฑเจ–เจฃ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฟ เจ•เจฟเจนเฉœเฉ€ เจ•เจฟเจธเจฎ (เจกเฉ€) เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผ เจ•เฉ€เจคเฉ€ เจœเจพ เจฐเจนเฉ€ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจŸเฉฑเจ•เจฐเจพเจ‚ เจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เจฐเจจเจพ เจชเฉˆ เจฐเจฟเจนเจพ เจนเฉˆ - เจ…เจคเฉ‡ เจจเจนเฉ€เจ‚, เจธเฉฐเจญเจพเจตเจจเจพ 232 เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจนเฉˆ. เจ•เจฟเจธ เจจเฉ‚เฉฐ เจฏเจพเจฆ เจนเฉˆ เจ•เจฟ CRC32 เจธเฉฐเจšเจพเจฐ เจšเฉˆเจจเจฒ เจตเจฟเฉฑเจš เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ (เจ…เจคเฉ‡ เจ เฉ€เจ•) เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ‡เจนเจจเจพเจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‚เจœเจฟเจ†เจ‚ เจฆเฉ‡ เจจเฉเจ•เจธเจพเจจ เจฒเจˆ เจธเฉเจงเจพเจฐเจฆเจพ เจนเฉˆ? เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจฌเจพเจˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจตเจฟเจตเจธเจฅเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจชเจฐเจตเจพเจน เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ: เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‹ เจฒเจพเจˆเจจเจพเจ‚ เจคเฉ‹เจ‚ CRC32 เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจฆเฉ‚เจœเฉ€ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ เจ…เจ—เจฒเฉ‡ 4 เจฌเจพเจˆเจŸเจพเจ‚ เจจเจพเจฒ เจชเจนเจฟเจฒเฉ‡ 4 เจฌเจพเจˆเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉˆเจช เจ•เจฐเจฆเฉ‡ เจนเฉ‹ - เจ‡เจน เจ‰เจนเฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจœเจฆเฉ‹เจ‚ เจธเจพเจกเจพ เจ‡เจจเจชเฉเจŸ เจฒเจพเจคเฉ€เจจเฉ€ เจตเจฐเจฃเจฎเจพเจฒเจพ (เจ…เจคเฉ‡ เจฅเฉ‹เฉœเจพ เจœเจฟเจนเจพ เจตเจฟเจฐเจพเจฎ เจšเจฟเฉฐเจจเฉเจน) เจคเฉ‹เจ‚ เจŸเฉˆเจ•เจธเจŸ เจธเจคเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจจเจพเจฎ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจคเจพเจ‚ เจ…เจœเจฟเจนเฉ‡ เจชเฉเจจเจฐ-เจตเจฟเจตเจธเจฅเจพ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจฌเจนเฉเจค เจตเจง เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจ•เจฟเจธ เจจเฉ‡ เจœเจพเจ‚เจš เจ•เฉ€เจคเฉ€ เจ•เจฟ เจ‰เฉฑเจฅเฉ‡ เจ•เฉ€ เจธเฉ€? เจ…เจธเจฒ เจตเจฟเฉฑเจš CRC32? เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจธเจฐเฉ‹เจค เจ•เฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• (เจตเจพเจฒเจŸเจฎเฉˆเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจตเฉ€) เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจนเฉˆเจธเจผ เจซเฉฐเจ•เจธเจผเจจ เจธเฉ€ เจœเฉ‹ เจนเจฐเฉ‡เจ• เจ…เฉฑเจ–เจฐ เจจเฉ‚เฉฐ 239 เจจเฉฐเจฌเจฐ เจจเจพเจฒ เจ—เฉเจฃเจพ เจ•เจฐเจฆเจพ เจธเฉ€, เจ‡เจนเจจเจพเจ‚ เจฒเฉ‹เจ•เจพเจ‚ เจฆเฉเจ†เจฐเจพ เจฌเจนเฉเจค เจชเจฟเจ†เจฐเจพ, เจนเจพ เจนเจพ!

เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ เฉ€เจ• เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจฎเจนเจฟเจธเฉ‚เจธ เจ•เฉ€เจคเจพ เจ•เจฟ เจ‡เฉฑเจ• เจซเฉ€เจฒเจก เจ•เจฟเจธเจฎ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ Vector<int> ะธ Vector<PolymorType> เจตเฉฑเจ–เจฐเจพ CRC32 เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ”เจจเจฒเจพเจˆเจจ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฌเจพเจฐเฉ‡ เจ•เฉ€? เจ…เจคเฉ‡ เจธเจฟเจงเจพเจ‚เจคเจ• เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, เจ•เฉ€ เจ‡เจน เจ•เจฟเจธเจฎ เจฆเจพ เจนเจฟเฉฑเจธเจพ เจฌเจฃ เจœเจพเจ‚เจฆเจพ เจนเฉˆ? เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจฆเจธ เจนเจœเจผเจพเจฐ เจธเฉฐเจ–เจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจเจฐเฉ‡ เจชเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจพเจฒ Vector<int> เจธเจญ เจ•เฉเจ เจธเจชเจธเจผเจŸ เจนเฉˆ, เจฒเฉฐเจฌเจพเจˆ เจ…เจคเฉ‡ เจนเฉ‹เจฐ 40000 เจฌเจพเจˆเจŸเฅค เจ•เฉ€ เจœเฉ‡ เจ‡เจน Vector<Type2>, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจธเจผเจพเจฎเจฒ เจนเฉˆ int เจ…เจคเฉ‡ เจ‡เจน เจ•เจฟเจธเจฎ เจตเจฟเฉฑเจš เจ‡เจ•เฉฑเจฒเจพ เจนเฉˆ - เจ•เฉ€ เจธเจพเจจเฉ‚เฉฐ 10000xabcdef0 เจจเฉ‚เฉฐ 34 เจตเจพเจฐ เจฆเฉเจนเจฐเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ…เจคเฉ‡ เจซเจฟเจฐ 4 เจฌเจพเจˆเจŸเจธ int, เจœเจพเจ‚ เจญเจพเจธเจผเจพ เจธเจพเจกเฉ‡ เจฒเจˆ เจ‡เจธเจจเฉ‚เฉฐ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจคเฉ‹เจ‚ เจ†เจœเจผเจพเจฆ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉˆ fixedVec เจ…เจคเฉ‡ 80000 เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉ€ เจฌเจœเจพเจ, เจธเจฟเจฐเจซ 40000 เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเฉ‹?

เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉ€ เจตเจฟเจนเจฒเจพ เจธเจฟเจงเจพเจ‚เจคเจ• เจธเจตเจพเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ‹ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจธเจฎเฉ‚เจน เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจฆเจพ เจ‡เฉฑเจ• เจ†เจˆเจกเฉ€, เจชเจนเจฟเจฒเจพ เจจเจพเจฎ, เจ†เจ–เจฐเฉ€ เจจเจพเจฎ เจนเฉˆ - เจ‡เฉฑเจ• เจฎเฉ‹เจฌเจพเจˆเจฒ เจ•เจจเฉˆเจ•เจธเจผเจจ 'เจคเฉ‡ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เฉ€เจคเฉ‡ เจ—เจ เจกเฉ‡เจŸเจพ เจฆเฉ€ เจฎเจพเจคเจฐเจพ เจตเจฟเฉฑเจš เจ…เฉฐเจคเจฐ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฆเฉ€ เจชเฉเจฐเจญเจพเจตเจธเจผเฉ€เจฒเจคเจพ เจนเฉˆ เจœเจฟเจธเจฆเจพ เจธเจพเจกเฉ‡ เจฒเจˆ เจ‡เจธเจผเจคเจฟเจนเจพเจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจฒเจˆโ€ฆ

เจตเฉˆเจ•เจŸเจฐ, เจœเฉ‹ เจ•เจฆเฉ‡ เจตเฉ€ เจœเจพเจฐเฉ€ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€

เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เฉฐเจฌเฉ€เจจเฉ‡เจŸเจฐเจพเจ‚ เจฆเฉ‡ เจตเจฐเจฃเจจ เจฆเฉ‡ เจชเฉฐเจจเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจ˜เฉเฉฐเจฎเจพเจ‰เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เฉ‹เจ—เฉ‡ เจ•เจฟ เจ‡เฉฑเจ• เจตเฉˆเจ•เจŸเจฐ (เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจ‡เฉฑเจ• เจฎเฉˆเจŸเฉเจฐเจฟเจ•เจธ เจตเฉ€) เจฐเจธเจฎเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เจˆ เจธเจผเฉ€เจŸเจพเจ‚ เจฆเฉ‡ เจŸเฉเจชเจฒเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจนเฉ‹เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจชเจฐ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ‰เจน เจญเฉเฉฑเจฒ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ, เจ…เฉฐเจคเจฎ เจชเฉœเจพเจ… เจจเฉ‚เฉฐ เจ›เฉฑเจก เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจตเฉˆเจ•เจŸเจฐ เจฆเฉ€ เจ‡เฉฑเจ• เจชเจฐเจฟเจญเจพเจธเจผเจพ เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเฉ‹ เจ…เจœเฉ‡ เจคเฉฑเจ• เจ•เจฟเจธเฉ‡ เจ•เจฟเจธเจฎ เจจเจพเจฒ เจจเจนเฉ€เจ‚ เจฌเฉฑเจเฉ€ เจนเฉˆเฅค เจ•เฉ€ เจ—เฉฑเจฒ เจนเฉˆ? เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ—, เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจซเฉฐเจ•เจธเจผเจจเจฒ, เจฌเจฃเจคเจฐ เจจเฉ‚เฉฐ เจตเจพเจฐ-เจตเจพเจฐ เจตเจฐเจฃเจจ เจ•เจฐเจจเจพ เจ•เจพเจซเจผเฉ€ เจ†เจฎ เจนเฉˆ - เจ‡เจธเจฆเฉ‡ เจ†เจฒเจธเฉ€ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจตเจพเจฒเจพ เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจธเจญ เจ•เฉเจ เจ†เจชเจฃเฉ‡ เจ†เจช เจธเจฎเจเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ•เจฐเฉ‡เจ—เจพเฅค เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจกเจพเจŸเจพ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจ•เฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เฉเจธเจผเจฒเจคเจพ: เจ‡เจน เจธเจฟเจฐเจซเจผ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจนเฉˆ เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจš, i.e. เจฆเฉ‹ เจคเฉฑเจคเจพเจ‚ เจฆเฉ€ เจฌเจฃเจคเจฐ - เจชเจนเจฟเจฒเจพ เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพ เจคเฉฑเจค เจนเฉˆ, เจฆเฉ‚เจœเจพ เจ‰เจนเฉ€ เจขเจพเจ‚เจšเจพ เจนเฉˆ เจœเจพเจ‚ เจชเฉ‚เจ› เจฒเจˆ เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจฅเจพเจ‚ เจนเฉˆ (เจชเฉˆเจ• (cons) เจฒเจฟเจธเจช เจตเจฟเฉฑเจš). เจชเจฐ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจนเจฐ เจ‡เจ• เจคเฉฑเจค เจ†เจชเจฃเฉ€ เจ•เจฟเจธเจฎ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ 4 เจฌเจพเจˆเจŸ เจ–เจฐเจš เจ•เจฐเจฆเจพ เจนเฉˆ (TL เจตเจฟเฉฑเจš เจ•เฉ‡เจธ เจตเจฟเฉฑเจš CRC32)เฅค เจ‡เฉฑเจ• เจเจฐเฉ‡ เจจเฉ‚เฉฐ เจตเฉ€ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจธเจฅเจฟเจฐ เจ†เจ•เจพเจฐ, เจชเจฐ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจ…เจฃเจœเจพเจฃ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจฒเฉœเฉ€ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจคเฉ‹เฉœ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค

เจ‡เจธ เจฒเจˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ TL เจ‡เฉฑเจ• เจตเฉˆเจ•เจŸเจฐ เจจเฉ‚เฉฐ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ‡เจธ เจจเฉ‚เฉฐ เจธเจพเจˆเจก 'เจคเฉ‡ เจœเฉ‹เฉœเจจเจพ เจชเฉˆเจ‚เจฆเจพ เจนเฉˆเฅค เจ†เจ–เจฐเจ•เจพเจฐ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ:

เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจนเจฎเฉ‡เจธเจผเจพ เจ‰เจนเฉ€ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ โ€œเจตเฉˆเจ•เจŸเจฐโ€ (const 0x1cb5c415 = crc32(โ€œเจตเฉˆเจ•เจŸเจฐ t:Type # [ t ] = เจตเฉˆเจ•เจŸเจฐ tโ€) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจ•เจฟ t เจฆเฉ‡ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ‡ เจ–เจพเจธ เจฎเฉเฉฑเจฒ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจตเจฟเจ•เจฒเจชเจฟเจ• เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจŸเฉ€ เจฆเจพ เจฎเฉเฉฑเจฒ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจจเจคเฉ€เจœเจพ เจ•เจฟเจธเจฎ เจคเฉ‹เจ‚ เจฒเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ (เจนเจฎเฉ‡เจธเจผเจพ เจกเฉ€เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ)เฅค

เจ‡เฉฑเจ• เจจเจœเจผเจฆเฉ€เจ•เฉ€ เจจเจœเจผเจฐ เจฎเจพเจฐเฉ‹: vector {t:Type} # [ t ] = Vector t - เจชเจฐ เจ•เจฟเจคเฉ‡ เจจเจนเฉ€เจ‚ เจ‡เจน เจชเจฐเจฟเจญเจพเจธเจผเจพ เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจ‡เจน เจจเจนเฉ€เจ‚ เจ•เจนเจฟเฉฐเจฆเฉ€ เจ•เจฟ เจชเจนเจฟเจฒเฉ€ เจธเฉฐเจ–เจฟเจ† เจตเฉˆเจ•เจŸเจฐ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ! เจ…เจคเฉ‡ เจ‡เจน เจ•เจฟเจคเฉ‡ เจตเฉ€ เจจเจนเฉ€เจ‚ เจ†เจ‰เจ‚เจฆเจพ. เจ‡เจน เจ‡เฉฑเจ• เจ…เจœเจฟเจนเจพ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเจฟเจธเจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฃ เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจนเฉฑเจฅเจพเจ‚ เจจเจพเจฒ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ. เจ•เจฟเจคเฉ‡ เจนเฉ‹เจฐ, เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจตเฉ€ เจ‡เจฎเจพเจจเจฆเจพเจฐเฉ€ เจจเจพเจฒ เจœเจผเจฟเจ•เจฐ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ•เจฟ เจ•เจฟเจธเจฎ เจ…เจธเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ:

เจตเฉˆเจ•เจŸเจฐ เจŸเฉ€ เจชเฉŒเจฒเฉ€เจฎเฉ‹เจฐเจซเจฟเจ• เจธเฉ‚เจกเฉ‹เจŸเจพเจ‡เจช เจ‡เฉฑเจ• "เจ•เจฟเจธเจฎ" เจนเฉˆ เจœเจฟเจธเจฆเจพ เจฎเฉเฉฑเจฒ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจŸเฉ€ เจฆเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจ•เฉเจฐเจฎ เจนเฉˆ, เจœเจพเจ‚ เจคเจพเจ‚ เจฌเจพเจ•เจธเจก เจœเจพเจ‚ เจฌเฉ‡เจ…เจฐเฅค

... เจชเจฐ เจ‡เจธ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ. เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚, เจ—เจฃเจฟเจค (เจธเจผเจพเจ‡เจฆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฟเจŸเฉ€ เจฆเฉ‡ เจ•เฉ‹เจฐเจธ เจคเฉ‹เจ‚ เจตเฉ€ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹) เจฆเฉ‡ เจ–เจฟเฉฑเจšเจฃ เจคเฉ‹เจ‚ เจฅเฉฑเจ• เจœเจพเจ‚เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจนเจพเจฐ เจฎเฉฐเจจเจฃ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจน เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจ‡เจธ เจจเจพเจฒ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจนเฉˆ, เจคเฉเจนเจพเจกเฉ‡ เจฆเจฟเจฎเจพเจ— เจตเจฟเฉฑเจš เจ‡เจน เจชเฉเจฐเจญเจพเจต เจ›เฉฑเจกเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ—เฉฐเจญเฉ€เจฐ เจนเฉˆเฅค เจ•เฉ‹เจฐ 'เจคเฉ‡ เจ—เจฃเจฟเจค, เจ‡เจน เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉ‚เจฒ เจชเฉ€เจชเจฒ (เจฆเฉ‹ เจ—เจฃเจฟเจค-เจธเจผเจพเจธเจคเจฐเฉ€เจ†เจ‚ - ACM เจตเจฟเจœเฉ‡เจคเจพ) เจฆเฉเจ†เจฐเจพ เจ–เฉ‹เจœ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€, เจจเจพ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจตเจฟเจ…เจ•เจคเฉ€ เจฆเฉเจ†เจฐเจพเฅค เจŸเฉ€เจšเจพ - เจฆเจฟเจ–เจพเจ‰เจฃ เจฒเจˆ - เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ.

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจจเฉฐเจฌเจฐ เจฌเจพเจฐเฉ‡. เจ†เจ“ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจฏเจพเจฆ เจฆเจฟเจตเจพ เจฆเฉ‡เจˆเจ # เจ‡เจน เจ‡เฉฑเจ• เจธเจฎเจพเจจเจพเจฐเจฅเฉ€ เจนเฉˆ nat, เจ•เฉเจฆเจฐเจคเฉ€ เจธเฉฐเจ–เจฟเจ†:

เจ•เจฟเจธเจฎ เจฆเฉ‡ เจธเจฎเฉ€เจ•เจฐเจจ เจนเจจ (เจŸเจพเจˆเจช-เจเจ•เจธเจชเจฐ) เจ…เจคเฉ‡ เจ…เฉฐเจ•เฉ€ เจธเจฎเฉ€เจ•เจฐเจจ (nat-expr). เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจธเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ.

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

เจชเจฐ เจตเจฟเจ†เจ•เจฐเจฃ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ‰เจธเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจฏเจพเจจเฉ€. เจ‡เจธ เจ…เฉฐเจคเจฐ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจนเฉฑเจฅเฉ€เจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจ–เฉˆเจฐ, เจนเจพเจ‚, เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจ•เจฟเจธเจฎเจพเจ‚ (vector<int>, vector<User>) เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจธเจพเจ‚เจเจพ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจนเฉˆ (#1cb5c415), i.e. เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ•เจพเจฒ เจฆเฉ€ เจ˜เฉ‹เจธเจผเจฃเจพ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ

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

เจซเจฟเจฐ เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจตเฉˆเจ•เจŸเจฐ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจจเจนเฉ€เจ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจชเจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจตเฉˆเจ•เจŸเจฐ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹เฅค เจตเจงเฉ‡เจฐเฉ‡ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡, เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ‡เฉฐเจคเจœเจผเจพเจฐ เจ•เจฐเฉ‹ - เจ…เจธเจฒ เจ•เฉ‹เจก เจตเจฟเฉฑเจš, เจนเจฐเฉ‡เจ• เจคเฉฑเจค, เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจจเฉฐเจ—เฉ€ เจ•เจฟเจธเจฎ เจจเจนเฉ€เจ‚, เจ‡เฉฑเจ• เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจงเฉ€เจ† เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ‡เจธเจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเฉ€ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€ - เจชเจฐ เจธเจพเจจเฉ‚เฉฐ เจ‡เจธ เจตเฉˆเจ•เจŸเจฐ เจฆเฉ‡ เจนเจฐ เจคเฉฑเจค เจตเจฟเฉฑเจš เจฌเจฟเจฒเจ•เฉเจฒ เจญเฉ‡เจœเจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจ‰เจธ เจ•เจฟเจธเจฎ? เจ•เฉ€ เจœเฉ‡ เจ‡เจน เจ•เจฟเจธเฉ‡ เจ•เจฟเจธเจฎ เจฆเฉ€ PHP เจธเฉ€, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจเจฐเฉ‡ เจตเฉฑเจ– เจตเฉฑเจ– เจคเฉฑเจคเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฑเจ– เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ?

เจ‡เจธ เจฎเฉŒเจ•เฉ‡ 'เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจธเฉ‹เจšเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ - เจ•เฉ€ เจ…เจœเจฟเจนเจพ TL เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ? เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจพเจฐเจŸ เจฒเจˆ เจฎเจจเฉเฉฑเจ–เฉ€ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡, เจ‰เจนเฉ€ เจชเฉเจฐเฉ‹เจŸเฉ‹เจฌเจซ เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฎเฉŒเจœเฉ‚เจฆ เจธเฉ€? เจ‡เจน เจธเจฟเจงเจพเจ‚เจค เจธเฉ€, เจ†เจ“ เจ…เจญเจฟเจ†เจธ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ.

เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆเจพ TL เจฒเจพเจ—เฉ‚เจ•เจฐเจจ

TL เจฆเจพ เจœเจจเจฎ VKontakte เจฆเฉ€ เจกเฉ‚เฉฐเจ˜เจพเจˆ เจตเจฟเฉฑเจš เจฆเฉเจฐเฉ‹เจต เจฆเฉ‡ เจธเจผเฉ‡เจ…เจฐ เจฆเฉ€ เจตเจฟเจ•เจฐเฉ€ เจจเจพเจฒ เจฎเจธเจผเจนเฉ‚เจฐ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจนเฉ‹เจ‡เจ† เจธเฉ€ เจ…เจคเฉ‡ (เจธเจผเจพเจ‡เจฆ), เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€. เจ…เจคเฉ‡ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจฎเจœเจผเจพเจ•เฉ€เจ† เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ เจฎเจฟเจฒ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ…เจคเฉ‡ เจญเจพเจธเจผเจพ เจ–เฉเจฆ เจ‰เจฅเฉ‡ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€ เจœเจฟเฉฐเจจเฉ€ เจ•เจฟ เจ‡เจน เจนเฉเจฃ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš เจนเฉˆ. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš เจนเฉˆเจธเจผเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจฌเจฟเจฒเจ•เฉเจฒ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ (เจญเจพเจต เจ‡เฉฑเจ• เจฌเจฟเจฒเจŸ-เจ‡เจจ เจธเฉ‚เจกเฉ‹เจŸเจพเจˆเจช (เจœเจฟเจตเฉ‡เจ‚ เจ‡เฉฑเจ• เจตเฉˆเจ•เจŸเจฐ) เจตเจฟเจตเจนเจพเจฐเจ• เจตเจฟเจตเจนเจพเจฐ เจจเจพเจฒ)เฅค เจœเจพเจ‚

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

เจชเจฐ เจ†เจ“ เจตเจฟเจšเจพเจฐ เจ•เจฐเฉ€เจ, เจธเฉฐเจชเฉ‚เจฐเจจเจคเจพ เจฆเฉ€ เจ–เจผเจพเจคเจฐ, เจŸเจฐเฉ‡เจธ เจ•เจฐเจจ เจฒเจˆ, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฌเฉ‹เจฒเจฃ เจฒเจˆ, เจตเจฟเจšเจพเจฐ เจฆเฉ‡ เจฆเฉˆเจ‚เจค เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจจเฉ‚เฉฐ.

#define ZHUKOV_BYTES_HACK

#ifdef ZHUKOV_BYTES_HACK

/* dirty hack for Zhukov request */

เจœเจพเจ‚ เจ‡เจน เจธเฉเฉฐเจฆเจฐ:

    static const char *reserved_words_polymorhic[] = {

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

      };

เจ‡เจน เจŸเฉเจ•เฉœเจพ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจพเจ‚ เจฌเจพเจฐเฉ‡ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ:

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

เจ‡เจน เจนเฉˆเจธเจผเจฎเฉˆเจช เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ เจ•เจฟเจธเจฎ เจฆเฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจพ int - เจŸเจพเจˆเจช เจœเฉ‹เฉœเจฟเจ†เจ‚ เจฆเฉ‡ เจตเฉˆเจ•เจŸเจฐ เจตเจœเฉ‹เจ‚ เจนเฉˆเฅค C++ เจตเจฟเฉฑเจš เจ‡เจน เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจตเฉ‡เจ—เจพ:

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

เจ‡เจธ เจฒเจˆ, alpha - เจ•เฉ€เจตเจฐเจก! เจชเจฐ เจธเจฟเจฐเจซเจผ C++ เจตเจฟเฉฑเจš เจคเฉเจธเฉ€เจ‚ T เจฒเจฟเจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจชเจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เจฒเจซเจผเจพ, เจฌเฉ€เจŸเจพ เจฒเจฟเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ... เจชเจฐ 8 เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจจเจนเฉ€เจ‚, เจ‡เฉฑเจฅเฉ‡ เจนเฉ€ เจ•เจฒเจชเจจเจพ เจ–เจคเจฎ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ…เจœเจฟเจนเจพ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• เจตเจพเจฐ เจธเฉ‡เจ‚เจŸ เจชเฉ€เจŸเจฐเจธเจฌเจฐเจ— เจตเจฟเฉฑเจš เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ เจ•เฉเจ เจธเฉฐเจตเจพเจฆ เจนเฉ‹เจ เจธเจจ:

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

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

เจชเจฐ เจ‡เจน "เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡" TL เจฆเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจธเฉ€เฅค เจ†เจ‰ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจ•เจฒเจพเจ‡เฉฐเจŸเจธ เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เจฐเจจ เจฒเจˆ เจ…เฉฑเจ—เฉ‡ เจตเจงเฉ€เจเฅค

เจตเฉˆเจธเฉ€เจฒเฉ€ เจฒเจˆ เจธเจผเจฌเจฆ:

เจตเฉˆเจธเฉ€เจฒเฉ€, [09.10.18 17:07] เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง, เจ–เฉ‹เจคเจพ เจ—เจฐเจฎ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจฌเจฃเจพเจ‡เจ†, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‰เจนเจจเจพเจ‚ เจ‰เฉฑเจคเฉ‡ เจ‡เฉฑเจ• เจฌเฉ‹เจฒเจŸ เจฎเจพเจฐเจฟเจ†, เจ…เจคเฉ‡ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ เจจเฉ‚เฉฐ เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ เจจเจพเจฒ เจขเฉฑเจ•เจฟเจ†เฅค
เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, เจชเจนเจฟเจฒเจพเจ‚ เจกเฉŒเจ• pilot.jpg เจคเฉ‹เจ‚
เจซเจฟเจฐ เจ•เฉ‹เจก dzhekichan.webp เจคเฉ‹เจ‚

เจฌเฉ‡เจธเจผเฉฑเจ•, เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจ…เจคเฉ‡ เจ—เจฃเจฟเจค เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจฒเฉ‹เจ•เจพเจ‚ เจคเฉ‹เจ‚, เจ…เจธเฉ€เจ‚ เจ‰เจฎเฉ€เจฆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ…เจนเฉ‹, เจ‰เจฒเจฎเฉˆเจจ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจฟเจ† เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจธเจพเจงเจจเจพเจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจนเจจ เจœเฉ‹ เจ†เจชเจฃเฉ‡ DSL เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจฒเจˆ เจฆเจนเจพเจ•เจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจ‰เจฆเจฏเฉ‹เจ— เจตเจฟเฉฑเจš เจกเฉ€ เจซเฉˆเจ•เจŸเฉ‹ เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฌเจฃ เจ—เจ เจนเจจ, เจ เฉ€เจ•? ..

เจฒเฉ‡เจ–เจ• telegram-cli เจตเจฟเจŸเจพเจฒเฉ€ เจตเจพเจฒเจŸเจฎเฉˆเจจ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจธ เจฆเฉ€เจ†เจ‚ (cli) เจธเฉ€เจฎเจพเจตเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ TLO เจซเจพเจฐเจฎเฉˆเจŸ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจคเฉ‹เจ‚ เจธเจฎเจเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจŸเฉ€เจฎ เจฆเจพ เจ‡เฉฑเจ• เจฎเฉˆเจ‚เจฌเจฐ - เจนเฉเจฃ TL เจชเจพเจฐเจธเจฟเฉฐเจ— เจฒเจˆ เจ‡เฉฑเจ• เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ เจตเฉฑเจ–เจฐเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‰เจธ เจฆเจพ เจ•เฉ€ เจชเฉเจฐเจญเจพเจต เจนเฉˆ TL เจชเจพเจฐเจธเจฐ? ..

16.12 04:18 เจตเฉˆเจธเฉ€เจฒเฉ€: เจฎเฉˆเจจเฉ‚เฉฐ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจจเฉ‡ lex+yacc เจตเจฟเฉฑเจš เจฎเฉเจนเจพเจฐเจค เจจเจนเฉ€เจ‚ เจนเจพเจธเจฒ เจ•เฉ€เจคเฉ€
16.12 04:18 เจตเฉˆเจธเฉ€เจฒเฉ€: เจฎเฉˆเจ‚ เจ‡เจธเจฆเฉ€ เจตเจฟเจ†เจ–เจฟเจ† เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ
16.12 04:18 เจตเฉˆเจธเฉ€เจฒเฉ€: เจ เฉ€เจ• เจนเฉˆ, เจœเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ VK เจตเจฟเฉฑเจš เจฒเจพเจˆเจจเจพเจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจฒเจˆ เจญเฉเจ—เจคเจพเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€
16.12 04:19 เจตเฉˆเจธเฉ€เจฒเฉ€: 3k+ เจฒเจพเจˆเจจเจพเจ‚ เจ†เจฆเจฟเฅค<censored> เจ‡เฉฑเจ• เจชเจพเจฐเจธเจฐ เจฆเฉ€ เจฌเจœเจพเจ

เจธเจผเจพเจ‡เจฆ เจ‡เฉฑเจ• เจ…เจชเจตเจพเจฆ? เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ‡เจน เจ…เจงเจฟเจ•เจพเจฐเจค เจ•เจฒเจพเจ‡เฉฐเจŸ เจนเฉˆ - เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเจพเจช:

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

เจชเจพเจˆเจฅเจจ เจตเจฟเฉฑเจš 1100+ เจฒเจพเจˆเจจเจพเจ‚, เจ•เฉเจ เจจเจฟเจฏเจฎเจค เจธเจฎเฉ€เจ•เจฐเจจ + เจตเจฟเจธเจผเฉ‡เจธเจผ เจ•เฉ‡เจธ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เฉฑเจ• เจตเฉˆเจ•เจŸเจฐ, เจœเฉ‹ เจฌเฉ‡เจธเจผเจ•, เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš เจ˜เฉ‹เจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน TL เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจชเจพเจฐเจธ เจ•เจฐเจจ เจฒเจˆ เจ‡เจธ เจธเฉฐเจŸเฉˆเจ•เจธ 'เจคเฉ‡ เจญเจฐเฉ‹เจธเจพ เจ•เฉ€เจคเจพ... เจธเจตเจพเจฒ เจชเฉˆเจฆเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจธเจญ เจšเจฎเจคเจ•เจพเจฐ เจ•เจฟเจ‰เจ‚ เจธเฉ€?ะธเจ‡เจน เจตเจงเฉ‡เจฐเฉ‡ เจชเฉฑเจงเจฐเฉ€ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจตเฉ€ เจ‡เจธ เจจเฉ‚เฉฐ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจชเจพเจฐเจธ เจจเจนเฉ€เจ‚ เจ•เจฐเจจ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ?!

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ... เจฏเจพเจฆ เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ CRC32 เจœเจพเจ‚เจš เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจธเฉ€? เจ‡เจธ เจฒเจˆ, เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจฒเจˆ เจ…เจชเจตเจพเจฆเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš CRC32 เจฆเฉ€ เจ—เจฃเจจเจพ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ เจฎเฉ‡เจฒ เจจเจนเฉ€เจ‚ เจ–เจพเจ‚เจฆเจพ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจฆเจฐเจธเจพเจ เจ—เจ เจ‡เฉฑเจ• เจฆเฉ‡ เจจเจพเจฒ!

เจตเฉˆเจธเฉ€เจฒเฉ€, [18.12/22 49:XNUMX] เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจฎเฉˆเจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจพเจ‚เจ—เจพ เจ•เจฟ เจ•เฉ€ เจ…เจœเจฟเจนเฉ‡ TL เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ
เจœเฉ‡ เจฎเฉˆเจ‚ เจตเจฟเจ•เจฒเจชเจฟเจ• เจฒเจพเจ—เฉ‚เจ•เจฐเจจเจพเจ‚ เจจเจพเจฒ เจ—เฉœเจฌเฉœ เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚, เจคเจพเจ‚ เจฎเฉˆเจ‚ เจฒเจพเจˆเจจ เจฌเฉเจฐเฉ‡เจ• เจธเจผเจพเจฎเจฒ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจพเจ‚เจ—เจพ, เจ…เฉฑเจงเฉ‡ เจชเจพเจฐเจธเจฐ เจฎเจฒเจŸเฉ€-เจฒเจพเจˆเจจ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ 'เจคเฉ‡ เจŸเฉเฉฑเจŸ เจœเจพเจฃเจ—เฉ‡เฅค
tdesktop, เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจตเฉ€

เจตเจจ-เจฒเจพเจˆเจจเจฐ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจฏเจพเจฆ เจฐเฉฑเจ–เฉ‹, เจ…เจธเฉ€เจ‚ เจฅเฉ‹เฉœเฉเจนเฉ€ เจฆเฉ‡เจฐ เจฌเจพเจ…เจฆ เจ‡เจธ 'เจคเฉ‡ เจตเจพเจชเจธ เจ†เจตเจพเจ‚เจ—เฉ‡เฅค

เจ เฉ€เจ• เจนเฉˆ, เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ-เจ•เจฒเฉ€ เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆ, เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจ…เจงเจฟเจ•เจพเจฐเจค เจนเฉˆ, เจชเจฐ เจฆเฉ‚เจœเจฟเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจ•เฉ€? เจ•เฉŒเจฃ เจœเจพเจฃเจฆเจพ เจนเฉˆ?... เจเจ‚เจกเจฐเฉŒเจ‡เจก เจ•เจฒเจพเจ‡เฉฐเจŸ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจตเฉ€ เจธเจ•เฉ€เจฎเจพ เจชเจพเจฐเจธเจฐ เจจเจนเฉ€เจ‚ เจธเฉ€ (เจœเฉ‹ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจฌเจพเจฐเฉ‡ เจธเจตเจพเจฒ เจ‰เจ เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจน เจฆเฉ‚เจœเฉ‡ เจญเจพเจ— เจฒเจˆ เจนเฉˆ), เจชเจฐ เจ•เฉ‹เจก เจฆเฉ‡ เจ•เจˆ เจนเฉ‹เจฐ เจฎเจœเจผเจพเจ•เฉ€เจ† เจŸเฉเจ•เฉœเฉ‡ เจธเจจ, เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจนเฉ‡เจ  เจ‰เจชเจญเจพเจ—.

เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจ•เจฟเจนเฉœเฉ‡ เจฎเฉเฉฑเจฆเฉ‡ เจ‰เจ เจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ? เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚, เจฌเฉ‡เจธเจผเจ•, เจฌเจฟเฉฑเจŸ เจ–เฉ‡เจคเจฐเจพเจ‚ เจ…เจคเฉ‡ เจธเจผเจฐเจคเฉ€เจ† เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ:

เจตเฉˆเจธเฉ€เจฒเฉ€: flags.0? true
เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจซเฉ€เจฒเจก เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจซเจฒเฉˆเจ— เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจคเจพเจ‚ เจธเจนเฉ€ เจนเฉˆ

เจตเฉˆเจธเฉ€เจฒเฉ€: flags.1? int
เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ–เฉ‡เจคเจฐ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ เจ…เจคเฉ‡ เจกเฉ€เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ

เจตเฉˆเจธเฉ€เจฒเฉ€: เจ—เจงเฉ‡, เจคเฉเจธเฉ€เจ‚ เจ•เฉ€ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจšเจฟเฉฐเจคเจพ เจจเจพ เจ•เจฐเฉ‹!
เจตเฉˆเจธเฉ€เจฒเฉ€: เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจตเจฟเฉฑเจš เจ•เจฟเจคเฉ‡ เจ‡เฉฑเจ• เจœเจผเจฟเจ•เจฐ เจนเฉˆ เจ•เจฟ เจธเฉฑเจš เจ‡เฉฑเจ• เจฌเฉ‡เจฐ เจœเจผเฉ€เจฐเฉ‹-เจฒเฉฐเจฌเจพเจˆ เจ•เจฟเจธเจฎ เจนเฉˆ, เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจคเฉ‹เจ‚ เจ•เฉเจ เจตเฉ€ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจจเจพ เจ…เจธเฉฐเจญเจต เจนเฉˆ
เจตเฉˆเจธเฉ€เจฒเฉ€: เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจธเจฅเจพเจชเจจ เจตเจฟเฉฑเจš เจตเฉ€ เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจธเจนเจพเจ‡เจคเจพ เจนเจจ

เจŸเฉˆเจฒเฉ€เจฅเฉŒเจจ เจฌเจพเจฐเฉ‡ เจ•เฉ€? MTProto เจฆเฉ‡ เจตเจฟเจธเจผเฉ‡ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹เจ, เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ - เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเฉ‡ เจŸเฉเจ•เฉœเฉ‡ เจนเจจ, เจชเจฐ เจšเจฟเฉฐเจจเฉเจน % เจ‡เจธเจฆเจพ เจตเจฐเจฃเจจ เจธเจฟเจฐเจซ "เจ•เจฟเจธเฉ‡ เจฆเจฟเฉฑเจคเฉ‡ เจฌเฉ‡เจ…เจฐ-เจŸเจพเจˆเจช เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐเฉ€" เจตเจœเฉ‹เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจตเจฟเฉฑเจš เจœเจพเจ‚ เจคเจพเจ‚ เจ•เฉ‹เจˆ เจ—เจฒเจคเฉ€ เจนเฉˆ เจœเจพเจ‚ เจ•เฉเจ เจ—เฉˆเจฐ-เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจฟเจค เจนเฉˆ:

เจตเฉˆเจธเฉ€เจฒเฉ€, [22.06.18 18:38] เจ‡เฉฑเจ• เจฅเจพเจ‚:

msg_container#73f1f8dc messages:vector message = MessageContainer;

เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš:

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

เจ…เจคเฉ‡ เจ‡เจน เจฆเฉ‹ เจตเฉฑเจกเฉ‡ เจ…เฉฐเจคเจฐ เจนเจจ, เจ…เจธเจฒ เจœเฉ€เจตเจจ เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจ•เจฟเจธเจฎ เจฆเจพ เจจเฉฐเจ—เฉ‡ เจตเฉˆเจ•เจŸเจฐ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ

เจฎเฉˆเจ‚ เจ•เฉ‹เจˆ เจฌเฉ‡เจ…เจฐ เจตเฉˆเจ•เจŸเจฐ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ–เฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจ†เจ‡เจ† เจนเจพเจ‚

เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจŸเฉˆเจฒเฉ€เจฅเฉŒเจจ เจตเจฟเฉฑเจš เจนเฉฑเจฅ เจจเจพเจฒ เจฒเจฟเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ

เจ‰เจธเจฆเฉ‡ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจพ เจฆเฉ€ เจŸเจฟเฉฑเจชเจฃเฉ€ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ msg_container

เจฆเฉเจฌเจพเจฐเจพ เจซเจฟเจฐ, เจธเจตเจพเจฒ % เจฌเจพเจฐเฉ‡ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจน เจตเจฐเจฃเจจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ.

Vadim Goncharov, [22.06.18 19:22] เจ…เจคเฉ‡ tdesktop เจตเจฟเฉฑเจš?

เจตเฉˆเจธเฉ€เจฒเฉ€, [22.06.18 19:23] เจชเจฐ เจจเจฟเจฏเจฎเจค เจ‡เฉฐเจœเจฃเจพเจ‚ 'เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจฆเฉ‡ TL เจชเจพเจฐเจธเจฐ เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจธ เจจเฉ‚เฉฐ เจตเฉ€ เจจเจนเฉ€เจ‚ เจ–เจพเจฃเจ—เฉ‡เฅค

// parsed manually

TL เจ‡เฉฑเจ• เจธเฉเฉฐเจฆเจฐ เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจ เจนเฉˆ, เจ•เฉ‹เจˆ เจตเฉ€ เจ‡เจธเจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ

เจ…เจคเฉ‡ % เจธเจ•เฉ€เจฎ เจฆเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจนเฉˆ

เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ†เจชเจฃเฉ‡ เจ†เจช เจฆเฉ‡ เจ‰เจฒเจŸ เจนเฉˆ, เจ‡เจธ เจฒเจˆ idk

เจ‡เจน เจตเจฟเจ†เจ•เจฐเจฃ เจตเจฟเฉฑเจš เจชเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€, เจ‰เจน เจฌเจธ เจ…เจฐเจฅ-เจธเจผเจพเจธเจคเจฐ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจเจพ เจญเฉเฉฑเจฒ เจธเจ•เจฆเฉ‡ เจธเจจ

เจคเฉเจธเฉ€เจ‚ TL 'เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฆเฉ‡เจ–เจฟเจ†, เจคเฉเจธเฉ€เจ‚ เจ…เฉฑเจงเฉ‡ เจฒเฉ€เจŸเจฐ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ‡เจธเจฆเจพ เจชเจคเจพ เจจเจนเฉ€เจ‚ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡

โ€œเจ เฉ€เจ• เจนเฉˆ, เจšเจฒเฉ‹ เจ•เจนเฉ‹,โ€ เจ‡เจ• เจนเฉ‹เจฐ เจชเจพเจ เจ• เจ•เจนเฉ‡เจ—เจพ, โ€œเจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจšเฉ€เจœเจผ เจฆเฉ€ เจ†เจฒเฉ‹เจšเจจเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ‡เจธ เจฒเจˆ เจฎเฉˆเจจเฉ‚เฉฐ เจฆเฉฑเจธเฉ‹ เจ•เจฟ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅคโ€

เจตเฉˆเจธเฉ€เจฒเฉ€ เจœเจตเจพเจฌ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ: โ€œเจœเจฟเฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจชเจพเจฐเจธเจฐ เจฒเจˆ, เจฎเฉˆเจจเฉ‚เฉฐ เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจชเจธเฉฐเจฆ เจนเจจ

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

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

เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจชเจธเฉฐเจฆ เจนเฉˆ

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

เจœ

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

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

เจ‡เจน เจชเฉ‚เจฐเจพ เจฒเฉˆเจ•เจธเจฐ เจนเฉˆ:

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

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

เจ‰เจน. เจธเจงเจพเจฐเจจ เจ‡เจธ เจจเฉ‚เฉฐ เจนเจฒเจ•เฉ‡ เจขเฉฐเจ— เจจเจพเจฒ เจชเจพ เจฐเจฟเจนเจพ เจนเฉˆเฅค

เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚, TL เจฆเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจ—เจ เจธเจฌเจธเฉˆเฉฑเจŸ เจฒเจˆ เจชเจพเจฐเจธเจฐ เจ…เจคเฉ‡ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ เจตเจฟเจ†เจ•เจฐเจฃ เจฆเฉ€เจ†เจ‚ เจฒเจ—เจญเจ— 100 เจฒเจพเจˆเจจเจพเจ‚ เจ…เจคเฉ‡ เจœเจจเจฐเฉ‡เจŸเจฐ เจฆเฉ€เจ†เจ‚ ~300 เจฒเจพเจˆเจจเจพเจ‚ เจตเจฟเฉฑเจš เจซเจฟเฉฑเจŸ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ (เจธเจพเจฐเฉ€เจ†เจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ printเจฆเจพ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ•เฉ‹เจก), เจœเจฟเจธ เจตเจฟเฉฑเจš เจนเจฐเฉ‡เจ• เจ•เจฒเจพเจธ เจตเจฟเฉฑเจš เจธเจตเฉˆ-เจจเจฟเจฐเฉ€เจ–เจฃ เจฒเจˆ เจŸเจพเจˆเจช เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฌเฉฐเจธ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจนเจฐเฉ‡เจ• เจชเฉŒเจฒเฉ€เจฎเฉ‹เจฐเจซเจฟเจ• เจ•เจฟเจธเจฎ เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจเจฌเจธเจŸเจฐเฉˆเจ•เจŸ เจฌเฉ‡เจธ เจ•เจฒเจพเจธ เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจ‡เจธ เจคเฉ‹เจ‚ เจตเจฟเจฐเจพเจธเจค เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจกเฉ€เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฒเจˆ เจขเฉฐเจ— เจฐเฉฑเจ–เจฆเฉ‡ เจนเจจเฅค

เจŸเจพเจˆเจช เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€ เจ˜เจพเจŸ

เจฎเจœเจผเจฌเฉ‚เจค โ€‹โ€‹เจŸเจพเจˆเจชเจฟเฉฐเจ— เจšเฉฐเจ—เฉ€ เจ—เฉฑเจฒ เจนเฉˆ, เจ เฉ€เจ• เจนเฉˆ? เจจเจนเฉ€เจ‚, เจ‡เจน เจ‡เฉฑเจ• เจนเฉ‹เจฒเฉ€เจตเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ (เจนเจพเจฒเจพเจ‚เจ•เจฟ เจฎเฉˆเจ‚ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจคเจฐเจœเฉ€เจน เจฆเจฟเฉฐเจฆเจพ เจนเจพเจ‚), เจชเจฐ TL เจฆเฉ‡ เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ‡เฉฑเจ• เจชเฉ‹เจธเจŸเฉ‚เจฒเฉ‡เจŸ เจนเฉˆเฅค เจ‡เจธ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡, เจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจธเจพเจกเฉ‡ เจฒเจˆ เจนเจฐ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค เจ เฉ€เจ• เจนเฉˆ, เจ เฉ€เจ• เจนเฉˆ, เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‰เจน เจ–เฉเจฆ เจจเจนเฉ€เจ‚, เจชเจฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ, เจชเจฐ เจ‰เจธเจจเฉ‚เฉฐ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ. เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ•เจฟเจนเฉ‹ เจœเจฟเจนเฉ‡ เจฎเฉŒเจ•เฉ‡ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚?

เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚. เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจชเจฒเฉ‹เจก เจ•เจฐเจจ เจฒเจˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚:

เจซเจพเจˆเจฒ เจฆเฉ€ เจฌเจพเจˆเจจเจฐเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจซเจฟเจฐ เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจธเจพเจฐเฉ‡ เจนเจฟเฉฑเจธเจฟเจ†เจ‚ เจฆเจพ เจ†เจ•เจพเจฐ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเจพ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ ( เจญเจพเจ—_เจ†เจ•เจพเจฐ ) เจ…เจคเฉ‡ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจธเจผเจฐเจคเจพเจ‚ เจชเฉ‚เจฐเฉ€เจ†เจ‚ เจนเฉ‹เจฃเฉ€เจ†เจ‚ เจšเจพเจนเฉ€เจฆเฉ€เจ†เจ‚ เจนเจจ:

  • part_size % 1024 = 0 (1KB เจจเจพเจฒ เจตเฉฐเจกเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ)
  • 524288 % part_size = 0 (512KB เจญเจพเจ—_เจ†เจ•เจพเจฐ เจฆเฉเจ†เจฐเจพ เจฌเจฐเจพเจฌเจฐ เจตเฉฐเจกเจฃ เจฏเฉ‹เจ— เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ)

เจ†เจ–เจฐเฉ€ เจญเจพเจ— เจจเฉ‚เฉฐ เจ‡เจนเจจเจพเจ‚ เจธเจผเจฐเจคเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจฌเจธเจผเจฐเจคเฉ‡ เจ‡เจธเจฆเจพ เจ†เจ•เจพเจฐ part_size เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจนเฉ‹เจตเฉ‡เฅค

เจนเจฐเฉ‡เจ• เจนเจฟเฉฑเจธเฉ‡ เจฆเจพ เจ‡เฉฑเจ• เจ•เฉเจฐเจฎ เจจเฉฐเจฌเจฐ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, file_part, 0 เจคเฉ‹เจ‚ 2,999 เจคเฉฑเจ• เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจจเจพเจฒเฅค

เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจตเฉฐเจกเจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฐเจตเจฐ เจคเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจขเฉฐเจ— เจšเฉเจฃเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจตเจฐเจคเฉ‹ upload.saveBigFilePart เจœเฉ‡เจ•เจฐ เจซเจพเจˆเจฒ เจฆเจพ เจชเฉ‚เจฐเจพ เจ†เจ•เจพเจฐ 10 MB เจคเฉ‹เจ‚ เจตเฉฑเจง เจนเฉˆ เจ…เจคเฉ‡ upload.saveFilePart เจ›เฉ‹เจŸเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฒเจˆ.
[...] เจจเจฟเจฎเจจเจฒเจฟเจ–เจค เจกเฉ‡เจŸเจพ เจ‡เจจเจชเฉเจŸ เจ—เจฒเจคเฉ€เจ†เจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจตเจพเจชเจธ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ:

  • FILE_PARTS_INVALID โ€” เจญเจพเจ—เจพเจ‚ เจฆเฉ€ เจ…เจตเฉˆเจง เจธเฉฐเจ–เจฟเจ†เฅค เจฎเฉเฉฑเจฒ เจตเจฟเจšเจ•เจพเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ 1..3000

เจ•เฉ€ เจ‡เจธ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉ‹เจˆ เจตเฉ€ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจนเฉˆ? เจ•เฉ€ เจ‡เจน TL เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจชเฉเจฐเจ—เจŸเจพเจตเฉ‡เจฏเฉ‹เจ— เจนเฉˆ? เจจเฉฐ. เจชเจฐ เจฎเฉˆเจจเฉ‚เฉฐ เจฎเจพเจซเจผ เจ•เจฐเจจเจพ, เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจฆเจพเจฆเจพ เจœเฉ€ เจฆเจพ เจŸเจฐเจฌเฉ‹ เจชเจพเจธเจ•เจฒ เจตเฉ€ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฟเจธเจฎเจพเจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจธเฉ€ เจธเฉ€เจฎเจพเจตเจพเจ‚. เจ…เจคเฉ‡ เจ‰เจน เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจšเฉ€เจœเจผ เจœเจพเจฃเจฆเจพ เจธเฉ€, เจœเจฟเจธเจจเฉ‚เฉฐ เจนเฉเจฃ เจตเจงเฉ‡เจฐเฉ‡ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ enum - เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจœเจฟเจธ เจตเจฟเฉฑเจš เจฎเฉเฉฑเจฒเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจจเจฟเจธเจผเจšเจฟเจค (เจ›เฉ‹เจŸเฉ€) เจธเฉฐเจ–เจฟเจ† เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค C - numeric เจตเจฐเจ—เฉ€เจ†เจ‚ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš, เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ เจนเฉเจฃ เจคเฉฑเจ• เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซ เจ•เจฟเจธเจฎเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เฉ€เจคเฉ€ เจนเฉˆ เจจเฉฐเจฌเจฐ. เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจเจฐเฉ‡, เจธเจคเจฐ เจตเฉ€ เจนเจจ... เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจตเจฐเจฃเจจ เจ•เจฐเจจเจพ เจšเฉฐเจ—เจพ เจนเฉ‹เจตเฉ‡เจ—เจพ เจ•เจฟ เจ‡เจธ เจธเจคเจฐ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจซเจผเฉ‹เจจ เจจเฉฐเจฌเจฐ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจ เฉ€เจ• เจนเฉˆ?

เจ‡เจธ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉ‹เจˆ เจตเฉ€ TL เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจชเจฐ เจ‰เฉฑเจฅเฉ‡ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, JSON เจธเจ•เฉ€เจฎเจพ เจตเจฟเฉฑเจš. เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจนเฉ‹เจฐ 512 KB เจฆเฉ€ เจตเจฟเจญเจพเจœเจ•เจคเจพ เจฌเจพเจฐเฉ‡ เจฌเจนเจฟเจธ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจ•เจฟ เจ‡เจธ เจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจตเฉ€ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจšเฉˆเฉฑเจ• เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจคเจพเจ‚ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ“ เจ•เจฟ เจ—เจพเจนเจ• เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจฎเฉˆเจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฟเจ† เจธเฉ€เจฎเจพ เจฆเฉ‡ เจฌเจพเจนเจฐ เจ‡เฉฑเจ• เจจเฉฐเจฌเจฐ เจญเฉ‡เจœเฉ‹ 1..3000 (เจ…เจคเฉ‡ เจ…เจจเฉเจธเจพเจฐเฉ€ เจ—เจฒเจคเฉ€ เจชเฉˆเจฆเจพ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจธเฉ€) เจ‡เจน เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เจฆเจพ เจธเฉ€, เจ เฉ€เจ•? ..

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจ—เจฒเจคเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจตเจพเจชเจธเฉ€ เจฎเฉเฉฑเจฒเจพเจ‚ เจฌเจพเจฐเฉ‡เฅค เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ TL เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจนเฉˆ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‡ เจ†เจชเจฃเฉ€เจ†เจ‚ เจ…เฉฑเจ–เจพเจ‚ เจจเฉ‚เฉฐ เจงเฉเฉฐเจฆเจฒเจพ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉˆ - เจ‡เจน เจธเจพเจกเฉ‡ 'เจคเฉ‡ เจคเฉเจฐเฉฐเจค เจจเจนเฉ€เจ‚ เจ†เจ‡เจ† เจนเจฐ เจ‡เจ• TL เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจซเฉฐเจ•เจธเจผเจจ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจจเจพ เจธเจฟเจฐเจซเจผ เจตเจฐเจฃเจฟเจค เจตเจพเจชเจธเฉ€ เจ•เจฟเจธเจฎ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ, เจธเจ—เฉ‹เจ‚ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจตเฉ€ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเจฐ เจ‡เจน เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ TL เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจจเจนเฉ€เจ‚ เจ•เฉฑเจขเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฌเฉ‡เจธเจผเฉฑเจ•, เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจตเฉ€ เจšเฉ€เจœเจผ เจฆเฉ€ เจ•เฉ‹เจˆ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ (เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ…เจธเจฒ เจตเจฟเฉฑเจš, RPC เจตเฉฑเจ–-เจตเฉฑเจ– เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเจพเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‡เจธ 'เจคเฉ‡ เจตเจพเจชเจธ เจ†เจตเจพเจ‚เจ—เฉ‡) - เจชเจฐ เจเจฌเจธเจŸเจฐเฉˆเจ•เจŸ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจ—เจฃเจฟเจค เจฆเฉ‡ เจธเฉฐเจ•เจฒเจชเจพเจ‚ เจฆเฉ€ เจธเจผเฉเฉฑเจงเจคเจพ เจฌเจพเจฐเฉ‡ เจ•เฉ€? เจธเจตเจฐเจ—เฉ€ เจธเฉฐเจธเจพเจฐ เจคเฉ‹เจ‚?.. เจฎเฉˆเจ‚ เจŸเฉฑเจ— เจšเฉเฉฑเจ•เจฟเจ† - เจ‡เจธ เจฒเจˆ เจ‡เจธ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ“เฅค

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจชเฉœเฉเจนเจจเจฏเฉ‹เจ—เจคเจพ เจฌเจพเจฐเฉ‡ เจ•เฉ€? เจ–เฉˆเจฐ, เจ‰เฉฑเจฅเฉ‡, เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจฎเฉˆเจ‚ เจšเจพเจนเจพเจ‚เจ—เจพ เจตเฉ‡เจฐเจตเจพ เจ•เฉ€ เจ‡เจน เจธเจ•เฉ€เจฎเจพ เจตเจฟเฉฑเจš เจธเจนเฉ€ เจนเฉˆ (เจœเฉ‡เจเจธเจ“เจเจจ เจธเจ•เฉ€เจฎเจพ เจตเจฟเฉฑเจš, เจฆเฉเจฌเจพเจฐเจพ, เจ‡เจน เจนเฉˆ), เจชเจฐ เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เจธ เจจเจพเจฒ เจคเจฃเจพเจ… เจตเจฟเฉฑเจš เจนเฉ‹, เจคเจพเจ‚ เจตเจฟเจนเจพเจฐเจ• เจชเฉฑเจ– เจฌเจพเจฐเฉ‡ เจ•เฉ€ - เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจ…เฉฑเจชเจกเฉ‡เจŸ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจฎเจพเจฎเฉ‚เจฒเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจญเจฟเฉฐเจจเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹เจ? 'เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจฒเจˆ เจตเฉ‡เจ–เฉ‹ เจ…เจธเจฒเฉ€ เจ‰เจฆเจพเจนเจฐเจฃ:

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

เจœ

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

เจ‡เจน เจนเจฐ เจ•เจฟเจธเฉ‡ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ GitHub, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจฒเฉฐเจฌเฉ€เจ†เจ‚ เจฒเจพเจˆเจจเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ‰เจœเจพเจ—เจฐ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‡เจจเจ•เจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ. เจ—เฉ‡เจฎ โ€œ10 เจ…เฉฐเจคเจฐ เจฒเฉฑเจญเฉ‹โ€, เจ…เจคเฉ‡ เจœเฉ‹ เจฆเจฟเจฎเจพเจ— เจคเฉเจฐเฉฐเจค เจตเฉ‡เจ–เจฆเจพ เจนเฉˆ เจ‰เจน เจ‡เจน เจนเฉˆ เจ•เจฟ เจฆเฉ‹เจตเจพเจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจ…เจคเฉ‡ เจ…เฉฐเจค เจ‡เจ•เฉ‹ เจœเจฟเจนเฉ‡ เจนเจจ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฎเฉฑเจง เจตเจฟเจš เจ•เจฟเจคเฉ‡ เจชเฉœเฉเจนเจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ... เจฎเฉ‡เจฐเฉ€ เจฐเจพเจ เจตเจฟเจš, เจ‡เจน เจธเจฟเจฐเจซ เจธเจฟเจงเจพเจ‚เจค เจตเจฟเจš เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจชเฉ‚เจฐเฉ€ เจจเจœเจผเจฐ เจจเจพเจฒ เจ—เฉฐเจฆเจพ เจ…เจคเฉ‡ เจขเจฟเฉฑเจฒเจพ.

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจธเจฟเจงเจพเจ‚เจค เจฆเฉ€ เจธเจผเฉเฉฑเจงเจคเจพ เจฌเจพเจฐเฉ‡. เจธเจพเจจเฉ‚เฉฐ เจฌเจฟเฉฑเจŸ เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ? เจ•เฉ€ เจ‡เจน เจจเจนเฉ€เจ‚ เจฒเฉฑเจ—เจฆเจพ เจ•เจฟ เจ‰เจน เจ—เฉฐเจง เจŸเจพเจˆเจช เจฅเจฟเจŠเจฐเฉ€ เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเฉเจฐเจพ? เจตเจฟเจ†เจ–เจฟเจ† เจจเฉ‚เฉฐ เจšเจฟเฉฑเจคเจฐ เจฆเฉ‡ เจชเฉเจฐเจพเจฃเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเจนเจฟเจฒเจพเจ‚, เจนเจพเจ‚, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจธเฉ€, เจนเจฐ เจ›เจฟเฉฑเจ• เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจ•เจฟเจธเจฎ เจฌเจฃเจพเจˆ เจ—เจˆ เจธเฉ€เฅค เจ‡เจน เจฎเฉ‚เจฒ เจคเฉฑเจค เจ…เจœเฉ‡ เจตเฉ€ เจ‡เจธ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ:

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

เจชเจฐ เจนเฉเจฃ เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ‹, เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจขเจพเจ‚เจšเฉ‡ เจตเจฟเฉฑเจš 5 เจตเจฟเจ•เจฒเจชเจฟเจ• เจ–เฉ‡เจคเจฐ เจนเจจ, เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจพเจฐเฉ‡ เจธเฉฐเจญเจต เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฒเจˆ 32 เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจธเฉฐเจฏเฉเจ•เจค เจงเจฎเจพเจ•เจพ. เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจŸเฉ€เจเจฒ เจฅเจฟเจŠเจฐเฉ€ เจฆเฉ€ เจ•เฉเจฐเจฟเจธเจŸเจฒ เจธเจผเฉเฉฑเจงเจคเจพ เจ‡เฉฑเจ• เจตเจพเจฐ เจซเจฟเจฐ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฆเฉ€ เจ•เจ เฉ‹เจฐ เจ…เจธเจฒเฉ€เจ…เจค เจฆเฉ‡ เจ•เจพเจธเจŸ-เจ†เจ‡เจฐเจจ เจ—เจงเฉ‡ เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง เจšเจ•เจจเจพเจšเฉ‚เจฐ เจนเฉ‹ เจ—เจˆเฅค

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ•เฉเจ เจฅเจพเจตเจพเจ‚ 'เจคเฉ‡ เจ‡เจน เจฒเฉ‹เจ• เจ–เฉเจฆ เจ†เจชเจฃเฉ€ เจŸเจพเจˆเจชเฉ‹เจฒเฉ‹เจœเฉ€ เจฆเฉ€ เจ‰เจฒเฉฐเจ˜เจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเจจ. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, MTProto (เจ…เจ—เจฒเจพ เจ…เจงเจฟเจ†เจ‡) เจตเจฟเฉฑเจš เจœเจตเจพเจฌ เจจเฉ‚เฉฐ Gzip เจฆเฉเจ†เจฐเจพ เจธเฉฐเจ•เฉเจšเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจธเจญ เจ•เฉเจ เจ เฉ€เจ• เจนเฉˆ - เจธเจฟเจตเจพเจ เจ•เจฟ เจฒเฉ‡เจ…เจฐเจพเจ‚ เจ…เจคเฉ‡ เจธเจฐเจ•เจŸ เจฆเฉ€ เจ‰เจฒเฉฐเจ˜เจฃเจพ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ. เจ‡เฉฑเจ• เจตเจพเจฐ เจซเจฟเจฐ, เจ‡เจน เจ–เฉเจฆ RpcResult เจจเจนเฉ€เจ‚ เจธเฉ€ เจœเฉ‹ เจตเฉฑเจขเจฟเจ† เจ—เจฟเจ† เจธเฉ€, เจชเจฐ เจ‡เจธเจฆเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€เฅค เจ–เฉˆเจฐ, เจ…เจœเจฟเจนเจพ เจ•เจฟเจ‰เจ‚ เจ•เฉ€เจคเจพ?... เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจฌเฉˆเจธเจพเจ–เฉ€ เจตเจฟเฉฑเจš เจ•เฉฑเจŸเจฃเจพ เจชเจฟเจ† เจคเจพเจ‚ เจ•เจฟ เจ•เฉฐเจชเจฐเฉˆเจธเจผเจจ เจ•เจฟเจคเฉ‡ เจตเฉ€ เจ•เฉฐเจฎ เจ•เจฐเฉ‡เฅค

เจœเจพเจ‚ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ‰เจฆเจพเจนเจฐเจจ, เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเจพ เจชเจคเจพ เจฒเฉฑเจ—เจพ - เจ‡เจน เจญเฉ‡เจœเจฟเจ† เจ—เจฟเจ† เจธเฉ€ InputPeerUser เจฆเฉ€ เจฌเจœเจพเจ InputUser. เจœเจพเจ‚ เจ‰เจฒเจŸ. เจชเจฐ เจ‡เจน เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ! เจญเจพเจต, เจธเจฐเจตเจฐ เจจเฉ‡ เจ•เจฟเจธเจฎ เจฆเฉ€ เจชเจฐเจตเจพเจน เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€เฅค เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ? เจœเจตเจพเจฌ เจธเจพเจจเฉ‚เฉฐ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ-เจ•เจฒเฉ€ เจคเฉ‹เจ‚ เจ•เฉ‹เจก เจฆเฉ‡ เจŸเฉเจ•เฉœเจฟเจ†เจ‚ เจฆเฉเจ†เจฐเจพ เจฆเจฟเฉฑเจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

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

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

เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเจš, เจ‡เจน เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจนเฉฑเจฅเฉ€เจ‚, เจ•เฉ‹เจก เจคเจฟเจ†เจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ†! เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจ‡เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉ‹เจตเฉ‡?... เจธเจฟเจงเจพเจ‚เจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจ•เฉฐเจฎ เจ•เจฐเฉ‡เจ—เจพ เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡, เจชเจฐ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ…เฉฑเจชเจกเฉ‡เจŸ เจฆเฉ‡ เจฆเฉŒเจฐเจพเจจ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเจฎเจฐเจฅเจฟเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ? เจ•เฉ€ เจ‡เจธ เจฒเจˆ เจฏเฉ‹เจœเจจเจพ เจฆเฉ€ เจ•เจพเจข เจ•เฉฑเจขเฉ€ เจ—เจˆ เจธเฉ€? เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจ…เจ—เจฒเฉ‡ เจธเจตเจพเจฒ เจตเฉฑเจฒ เจตเจงเจฆเฉ‡ เจนเจพเจ‚.

เจธเฉฐเจธเจ•เจฐเจฃ. เจชเจฐเจคเจพเจ‚

เจฏเฉ‹เจœเจจเจพเจฌเฉฑเจง เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจชเจฐเจคเจพเจ‚ เจ•เจฟเจ‰เจ‚ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจฏเฉ‹เจœเจจเจพ เจตเจฟเจ—เจฟเจ†เจจ เจฆเฉ‡ เจ‡เจคเจฟเจนเจพเจธ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจนเฉ€ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจœเจผเจพเจนเจฐเจพ เจคเฉŒเจฐ 'เจคเฉ‡, เจชเจนเจฟเจฒเจพเจ‚ เจฒเฉ‡เจ–เจ•เจพเจ‚ เจจเฉ‡ เจธเฉ‹เจšเจฟเจ† เจ•เจฟ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจšเฉ€เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจจเจพ เจฌเจฆเจฒเฉ€ เจ—เจˆ เจธเจ•เฉ€เจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจฟเจฐเจซเจผ เจœเจฟเฉฑเจฅเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡, เจ–เจพเจธ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฒเจˆ, เจ‡เจน เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‰เจน เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ•เฉ€เจคเฉ‡ เจœเจพ เจฐเจนเฉ‡ เจธเจจเฅค เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจšเฉฐเจ—เจพ เจตเจฟเจšเจพเจฐ เจตเฉ€ - เจ…เจคเฉ‡ เจจเจตเจพเจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจธเจจ, "เจฎเจฟเจธเจผเจฐเจค", เจชเฉเจฐเจพเจฃเฉ‡ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจชเจฐเจคเจฟเจ† เจนเฉ‹เจ‡เจ†เฅค เจชเจฐ เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€. เจ‡เจน เจธเฉฑเจš เจนเฉˆ เจ•เจฟ เจฎเฉˆเจ‚ เจ‡เจธ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจฆเฉ‡เจ–เจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจจเจนเฉ€เจ‚ เจธเฉ€ - เจ‡เจน เจฎเจœเจผเจพเจ•เฉ€เจ† เจนเฉˆ, เจชเจฐ เจฌเฉ‡เจธ เจฒเฉ‡เจ…เจฐ เจฆเจพ เจšเจฟเฉฑเจคเจฐ เจฎเฉŒเจœเฉ‚เจฆ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจชเจฐเจคเจพเจ‚ 2 เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจˆเจ†เจ‚เฅค เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ TL เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจฌเจพเจฐเฉ‡ เจฆเฉฑเจธเจฆเจพ เจนเฉˆ:

เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเฉ‡เจ…เจฐ 2 เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ:

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

เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš, เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจนเจฐเฉ‡เจ• API เจ•เจพเจฒ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• int 0x289dd1f6 เจตเจฟเจงเฉ€ เจจเฉฐเจฌเจฐ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจœเฉ‹เฉœเจฟเจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจ†เจฎ เจฒเฉฑเจ—เจฆเฉ€ เจนเฉˆเฅค เจชเจฐ เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจนเฉ‹เจ‡เจ†? เจซเจฟเจฐ เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจ‡เจ†

invokeWithLayer3#b7475268 query:!X = X;

เจ‡เจธ เจฒเจˆ เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจนเฉˆ? เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹,

invokeWithLayer4#dea0d430 query:!X = X;

เจฎเจœเจผเจพเจ•เฉ€เจ†? เจจเจนเฉ€เจ‚, เจ‡เจน เจนเฉฑเจธเจฃ เจฒเจˆ เจฌเจนเฉเจค เจœเจฒเจฆเฉ€ เจนเฉˆ, เจ‡เจธ เจคเฉฑเจฅ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเฉ‹ เจนเจฐเฉ‡เจ• เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจชเจฐเจค เจคเฉ‹เจ‚ เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‚เฉฐ เจ…เจœเจฟเจนเฉ‡ เจตเจฟเจธเจผเฉ‡เจธเจผ เจ•เจฟเจธเจฎ เจตเจฟเฉฑเจš เจฒเจชเฉ‡เจŸเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ - เจœเฉ‡เจ•เจฐ เจ‰เจน เจธเจพเจฐเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจตเฉฑเจ–เจฐเฉ‡ เจนเจจ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจตเฉฑเจ–เจฐเจพ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹? เจ…เจคเฉ‡ เจธเจพเจนเจฎเจฃเฉ‡ เจธเจฟเจฐเจซ 4 เจฌเจพเจˆเจŸ เจœเฉ‹เฉœเจจเจพ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจ•เฉเจธเจผเจฒ เจคเจฐเฉ€เจ•เจพ เจนเฉˆ. เจ‡เจธ เจฒเจˆ,

invokeWithLayer5#417a57ae query:!X = X;

เจชเจฐ เจœเจผเจพเจนเจฐ เจนเฉˆ เจ•เจฟ เจฅเฉ‹เฉœเฉเจนเฉ‡ เจธเจฎเฉ‡เจ‚ เจฌเจพเจ…เจฆ เจ‡เจน เจ•เจฟเจธเฉ‡ เจ•เจฟเจธเจฎ เจฆเจพ เจฌเจ•เจตเจพเจธ เจฌเจฃ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ…เจคเฉ‡ เจนเฉฑเจฒ เจ†เจ‡เจ†:

เจ…เฉฑเจชเจกเฉ‡เจŸ: เจฒเฉ‡เจ…เจฐ 9 เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ, เจธเจนเจพเจ‡เจ• เจขเฉฐเจ— invokeWithLayerN เจจเจพเจฒ เจนเฉ€ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ initConnection

เจนเฉ‚เจฐเฉ‡! 9 เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจ…เฉฐเจค เจตเจฟเฉฑเจš 80 เจฆเฉ‡ เจฆเจนเจพเจ•เฉ‡ เจตเจฟเฉฑเจš เจ‡เฉฐเจŸเจฐเจจเฉˆเจŸ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจตเจฟเฉฑเจš เจ•เฉ€ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€ - เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจพเจฐ เจธเฉฐเจธเจ•เจฐเจฃ 'เจคเฉ‡ เจธเจนเจฟเจฎเจค เจนเฉ‹เจ!

เจคเจพเจ‚ เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจนเฉˆ? ..

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

เจชเจฐ เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจนเฉฑเจธ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ•เฉ‡เจตเจฒ เจ‡เฉฑเจ• เจนเฉ‹เจฐ 9 เจฒเฉ‡เจ…เจฐเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เฉฑเจ• เจตเจฐเจœเจจ เจจเฉฐเจฌเจฐ เจตเจพเจฒเจพ เจ‡เฉฑเจ• เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฒ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจธเฉ€, เจœเจฟเจธเจจเฉ‚เฉฐ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจตเจพเจฐ เจ•เจพเจฒ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจฒเฉ‡เจ…เจฐเจพเจ‚ เจฆเจพ เจ…เจฐเจฅ เจ…เจฒเฉ‹เจช เจนเฉ‹ เจ—เจฟเจ† เจœเจพเจชเจฆเจพ เจธเฉ€, เจนเฉเจฃ เจ‡เจน เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจธเจผเจฐเจค เจตเจพเจฒเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจนเจฐ เจœเจ—เฉเจนเจพ เจนเฉ‹เจฐ. เจธเจฎเฉฑเจธเจฟเจ† เจนเฉฑเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค

เจฌเจฟเจฒเจ•เฉเจฒ?..

เจตเฉˆเจธเฉ€เจฒเฉ€, [16.07.18 14:01] เจธเจผเฉเฉฑเจ•เจฐเจตเจพเจฐ เจจเฉ‚เฉฐ เจตเฉ€ เจฎเฉˆเจ‚ เจธเฉ‹เจšเจฟเจ†:
เจŸเฉˆเจฒเฉ€เจธเจฐเจตเจฐ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ‡ เจ‡เจตเฉˆเจ‚เจŸเจธ เจญเฉ‡เจœเจฆเจพ เจนเฉˆเฅค เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ InvokeWithLayer เจตเจฟเฉฑเจš เจฒเจชเฉ‡เจŸเจฟเจ† เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจธเจฐเจตเจฐ เจ…เฉฑเจชเจกเฉ‡เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเฉ‡เจŸเจฆเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ; เจœเจตเจพเจฌเจพเจ‚ เจ…เจคเฉ‡ เจ…เฉฑเจชเจกเฉ‡เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเฉ‡เจŸเจฃ เจฒเจˆ เจ•เฉ‹เจˆ เจขเจพเจ‚เจšเจพ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ‰เจน. เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‰เจน เจชเจฐเจค เจจเจนเฉ€เจ‚ เจฆเฉฑเจธ เจธเจ•เจฆเจพ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‰เจน เจ…เฉฑเจชเจกเฉ‡เจŸ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเฉˆ

Vadim Goncharov, [16.07.18 14:02] เจ•เฉ€ InvokeWithLayer เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเฉˆเจธเจพเจ–เฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ?

เจตเฉˆเจธเฉ€เจฒเฉ€, [16.07.18 14:02] เจ‡เจน เจ‡เฉฑเจ•เฉ‹ เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เจพ เจนเฉˆ

Vadim Goncharov, [16.07.18 14:02] เจœเจฟเจธเจฆเจพ เจฎเจคเจฒเจฌ เจธเฉˆเจธเจผเจจ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš เจชเจฐเจค 'เจคเฉ‡ เจธเจนเจฟเจฎเจค เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจ‡เจน เจ‡เจธ เจ—เฉฑเจฒ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฒเจพเจ‡เฉฐเจŸ เจกเจพเจŠเจจเจ—เฉเจฐเฉ‡เจก เจชเฉเจฐเจฆเจพเจจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ

เจ…เฉฑเจชเจกเฉ‡เจŸ, i.e. เจ•เจฟเจธเจฎ Updates เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš, เจ‡เจน เจ‰เจน เจนเฉˆ เจœเฉ‹ เจธเจฐเจตเจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• API เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ‡ เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚, เจธเจ—เฉ‹เจ‚ เจธเฉเจคเฉฐเจคเจฐ เจคเฉŒเจฐ 'เจคเฉ‡ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ•เฉ‹เจˆ เจ˜เจŸเจจเจพ เจตเจพเจชเจฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจ‡เฉฑเจ• เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจตเจฟเจธเจผเจพ เจนเฉˆ เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš เจšเจฐเจšเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€, เจชเจฐ เจนเฉเจฃ เจฒเจˆ เจ‡เจน เจœเจพเจฃเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ เจ•เจฟ เจธเจฐเจตเจฐ เจ…เฉฑเจชเจกเฉ‡เจŸเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจšเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจญเจพเจตเฉ‡เจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ†เจซเจผเจฒเจพเจˆเจจ เจนเฉ‹เจตเฉ‡เฅค

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจฒเจชเฉ‡เจŸเจฃ เจคเฉ‹เจ‚ เจ‡เจจเจ•เจพเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹ เจนเจฐ เจ‡เจ• เจชเฉˆเจ•เฉ‡เจœ เจ‡เจธเจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจฃ เจฒเจˆ, เจ‡เจน เจคเจฐเจ• เจจเจพเจฒ เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจธเฉฐเจญเจต เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจตเฉฑเจฒ เจ–เฉœเจฆเจพ เจนเฉˆ:

  • เจธเจฐเจตเจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ, เจ‡เจธ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฟ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‡เจน เจฆเฉฑเจธเฉ‡ เจ•เจฟ เจ‡เจน เจ•เจฟเจธ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ
  • เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจ—เฉเจฐเฉ‡เจก เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฎเฉˆเจจเฉ‚เฉฐ เจ•เฉ€ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ?
  • เจ•เฉŒเจฃ เจ—เจพเจฐเฉฐเจŸเฉ€เจ•เจฟ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉŒเจฐเจพเจจ เจฒเฉ‡เจ…เจฐ เจจเฉฐเจฌเจฐ เจฌเจพเจฐเฉ‡ เจธเจฐเจตเจฐ เจฆเฉ€ เจฐเจพเจ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเฉ‡เจ—เฉ€?

เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจธเฉ‹เจšเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‡เจน เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจฟเจงเจพเจ‚เจคเจ• เจ…เจŸเจ•เจฒเจพเจ‚ เจนเจจ, เจ…เจคเฉ‡ เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจธเจฐเจตเจฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจนเฉˆ (เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ, เจ‡เจน เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจŸเฉˆเจธเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ)? เจนเจพ! เจ•เฉ‹เจˆ เจซเจผเจฐเจ• เจจเจนเฉ€เจ‚ เจชเฉˆเจ‚เจฆเจพ เจ•เจฟ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจนเฉˆ!

เจ‡เจน เจ‰เจนเฉ€ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจ…เจ—เจธเจค เจตเจฟเฉฑเจš เจญเฉฑเจœเฉ‡ เจธเฉ€เฅค 14 เจ…เจ—เจธเจค เจจเฉ‚เฉฐ, เจ…เจœเจฟเจนเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡ เจธเจจ เจ•เจฟ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจ•เฉเจ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ... เจ…เจคเฉ‡ เจซเจฟเจฐ เจฒเฉŒเจ—เจธ เจตเจฟเฉฑเจš:

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

เจ…เจคเฉ‡ เจซเจฟเจฐ เจ•เจˆ เจฎเฉˆเจ—เจพเจฌเจพเจˆเจŸ เจธเจŸเฉˆเจ• เจŸเจฐเฉ‡เจธ (เจ เฉ€เจ• เจนเฉˆ, เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเฉŒเจ—เจฟเฉฐเจ— เจซเจฟเจ•เจธ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€)เฅค เจ†เจ–เจผเจฐเจ•เจพเจฐ, เจœเฉ‡ เจคเฉเจนเจพเจกเฉ‡ TL เจตเจฟเฉฑเจš เจ•เฉเจ เจชเจ›เจพเจฃเจฟเจ† เจจเจนเฉ€เจ‚ เจ—เจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจนเจธเจคเจพเจ–เจฐ เจฆเฉเจ†เจฐเจพ เจฌเจพเจˆเจจเจฐเฉ€ เจนเฉˆ, เจฒเจพเจˆเจจ เจคเฉ‹เจ‚ เจนเฉ‡เจ เจพเจ‚ เจธเจพเจฐเฉ‡ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจกเฉ€เจ•เฉ‹เจกเจฟเฉฐเจ— เจ…เจธเฉฐเจญเจต เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เฉ€เฅค เจ…เจœเจฟเจนเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ?

เจ–เฉˆเจฐ, เจชเจนเจฟเจฒเฉ€ เจšเฉ€เจœเจผ เจœเฉ‹ เจ•เจฟเจธเฉ‡ เจฆเฉ‡ เจฆเจฟเจฎเจพเจ— เจตเจฟเฉฑเจš เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ‰เจน เจนเฉˆ เจกเจฟเจธเจ•เจจเฉˆเจ•เจŸ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจเจพ. เจฎเจฆเจฆ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€เฅค เจ…เจธเฉ€เจ‚ CRC32 เจ—เฉ‚เจ—เจฒ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ - เจ‡เจน เจธเจ•เฉ€เจฎ 73 เจคเฉ‹เจ‚ เจ†เจฌเจœเฉˆเจ•เจŸ เจจเจฟเจ•เจฒเฉ‡, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ…เจธเฉ€เจ‚ 82 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจฒเฉŒเจ—เจธ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจจเจพเจฒ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚ - เจฆเฉ‹ เจตเฉฑเจ–-เจตเฉฑเจ– เจธเจ•เฉ€เจฎเจพเจ‚ เจคเฉ‹เจ‚ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจนเจจ!

เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจฎเฉฑเจธเจฟเจ† เจธเจพเจกเฉ‡ เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจ—เจพเจนเจ• เจตเจฟเฉฑเจš เจนเฉˆ? เจจเจนเฉ€เจ‚, เจ…เจธเฉ€เจ‚ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเจพเจช 1.2.17 (เจ•เจˆ เจฒเฉ€เจจเจ•เจธ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจธเจชเจฒเจพเจˆ เจ•เฉ€เจคเจพ เจธเฉฐเจธเจ•เจฐเจฃ) เจฒเจพเจ‚เจš เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจน เจ…เจชเจตเจพเจฆ เจฒเฉŒเจ— เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฆเจพ เจนเฉˆ: MTP เจ…เจฃเจ•เจฟเจ†เจธเฉ€ เจ•เจฟเจธเจฎ id #b5223b0f MTPMessageMedia เจตเจฟเฉฑเจš เจชเฉœเฉเจนเจฟเจ† เจ—เจฟเจ† เจนเฉˆโ€ฆ

เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฆเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจ…เจคเฉ‡ เจธเฉฐเจ—เจ เจจเจพเจคเจฎเจ• เจชเจนเฉเฉฐเจš เจฆเฉ€ เจ†เจฒเฉ‹เจšเจจเจพเฅค เจญเจพเจ— 1, เจคเจ•เจจเฉ€เจ•เฉ€: เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจฟเจ–เจฃ เจฆเจพ เจ…เจจเฉเจญเจต - TL, MT

เจ—เฉ‚เจ—เจฒ เจจเฉ‡ เจฆเจฟเจ–เจพเจ‡เจ† เจ•เจฟ เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจ—เจพเจนเจ•เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจจเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ…เจœเจฟเจนเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจนเฉ‹ เจšเฉเฉฑเจ•เฉ€ เจธเฉ€, เจชเจฐ เจซเจฟเจฐ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉฐเจฌเจฐ เจ…เจคเฉ‡, เจ‡เจธเจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจงเจพเจฐเจจเจพเจตเจพเจ‚ เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจธเจจ ...

เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ? เจตเฉˆเจธเฉ€เจฒเฉ€ เจ…เจคเฉ‡ เจฎเฉˆเจ‚ เจตเฉฑเจ– เจนเฉ‹ เจ—เจ: เจ‰เจธเจจเฉ‡ เจธเจฐเจ•เจŸ เจจเฉ‚เฉฐ 91 'เจคเฉ‡ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€, เจฎเฉˆเจ‚ เจ•เฉเจ เจฆเจฟเจจ เจ‰เจกเฉ€เจ• เจ•เจฐเจจ เจ…เจคเฉ‡ 73 'เจคเฉ‡ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจ เจฆเจพ เจซเฉˆเจธเจฒเจพ เจ•เฉ€เจคเจพเฅค เจฆเฉ‹เจตเฉ‡เจ‚ เจตเจฟเจงเฉ€เจ†เจ‚ เจจเฉ‡ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ, เจชเจฐ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจน เจ…เจจเฉเจญเจตเฉ€ เจนเจจ, เจ‡เจธ เจฒเจˆ เจ•เฉ‹เจˆ เจธเจฎเจ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเฉฐเจจเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เฉฑเจชเจฐ เจœเจพเจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ›เจพเจฒ เจฎเจพเจฐเจจ เจฒเจˆ, เจœเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเฉฐเจจเฉ€ เจฆเฉ‡เจฐ เจ‰เจกเฉ€เจ• เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€เฅค

เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจฎเฉˆเจ‚ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจธเฉ€: เจ…เจธเฉ€เจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจฒเจพเจ‚เจš เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจธเจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจธเจฐเจ•เจŸ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจฒเฉ‡เจ…เจฐ เจตเจฟเฉฑเจš เจฆเฉเจฌเจพเจฐเจพ เจ•เฉฐเจชเจพเจˆเจฒ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจซเฉœเจฆเฉ‡ เจนเจพเจ‚, เจชเจฟเจ›เจฒเฉ‡ เจ‡เฉฑเจ• เจคเฉ‡ เจตเจพเจชเจธ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ - เจ“เจนเฉ‹, เจธเจฐเจ•เจŸ เจธเจตเจฟเจšเจฟเฉฐเจ— เจฆเฉ€ เจ•เฉ‹เจˆ เจฎเจพเจคเจฐเจพ เจจเจนเฉ€เจ‚ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฒเจˆ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฐเฉ€เจธเจŸเจพเจฐเจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ. เจ•เฉเจ เจฎเจฟเฉฐเจŸ เจฎเจฆเจฆ เจ•เจฐเจจเจ—เฉ‡เฅค เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเฉฑเจ–-เจตเฉฑเจ– เจฒเฉ‡เจ…เจฐเจพเจ‚ เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจขเจพเจ‚เจšเฉ‡ เจฆเจพ เจฎเจฟเจธเจผเจฐเจฃ เจฎเจฟเจฒเฉ‡เจ—เจพเฅค

เจตเจฟเจ†เจ–เจฟเจ†? เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– เจ…เจธเจฟเฉฑเจงเฉ‡ เจฒเฉฑเจ›เจฃเจพเจ‚ เจคเฉ‹เจ‚ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจธเจฐเจตเจฐ เจตเจฟเฉฑเจš เจตเฉฑเจ–-เจตเฉฑเจ– เจฎเจธเจผเฉ€เจจเจพเจ‚ 'เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡, เจธเจฐเจตเจฐ เจœเฉ‹ "เจฌเจซเจฐเจฟเฉฐเจ—" เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆ, เจ‰เจน เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจชเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ‡เจธเจฆเฉ‡ เจ‰เฉฑเจš เจ…เจงเจฟเจ•เจพเจฐเฉ€เจ†เจ‚ เจจเฉ‡ เจฆเจฟเฉฑเจคเจพ เจธเฉ€, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ‰เจธ เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš เจฆเจฟเฉฑเจคเจพ เจœเฉ‹ เจชเฉ€เฉœเฉเจนเฉ€ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจธเฉ€เฅค เจ…เจคเฉ‡ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ‡เจน เจ•เจคเจพเจฐ "เจ—เฉฐเจฆเฉ€" เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€, เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจธเฉ€.

เจธเจผเจพเจ‡เจฆ... เจชเจฐ เจ‡เจน เจ‡เฉฑเจ• เจญเจฟเจ†เจจเจ• เจฌเฉˆเจธเจพเจ–เฉ€ เจนเฉˆ?!.. เจจเจนเฉ€เจ‚, เจชเจพเจ—เจฒ เจตเจฟเจšเจพเจฐเจพเจ‚ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ†เจ“ เจ…เจงเจฟเจ•เจพเจฐเจค เจ—เจพเจนเจ•เจพเจ‚ เจฆเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ. เจเจ‚เจกเจฐเฉŒเจ‡เจก เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจธเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจตเฉ€ TL เจชเจพเจฐเจธเจฐ เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเจฆเจพ, เจชเจฐ เจธเจพเจจเฉ‚เฉฐ (เจกเฉ€) เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจญเจพเจฐเฉ€ เจซเจพเจˆเจฒ (GitHub เจ‡เจธเจจเฉ‚เฉฐ เจ›เฉ‚เจนเจฃ เจคเฉ‹เจ‚ เจ‡เจจเจ•เจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ) เจฒเฉฑเจญเจฆเฉ€ เจนเฉˆเฅค เจ‡เฉฑเจฅเฉ‡ เจ•เฉ‹เจก เจธเจจเจฟเฉฑเจชเจŸ เจนเจจ:

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

เจœ

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

เจนเจฎ... เจœเฉฐเจ—เจฒเฉ€ เจฒเฉฑเจ— เจฐเจฟเจนเจพ เจนเฉˆเฅค เจชเจฐ, เจธเจผเจพเจ‡เจฆ, เจ‡เจน เจ•เฉ‹เจก เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจซเจฟเจฐ เจ เฉ€เจ• เจนเฉˆ? .. เจชเจฐ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจพเจฐเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเจพ เจนเฉˆ! เจ‡เจน เจธเฉฑเจš เจนเฉˆ เจ•เจฟ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจธเจญ เจ•เฉเจ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เจฟเจ‰เจ‚ เจฎเจฟเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ—เฉเจชเจค เจšเฉˆเจŸ, เจ…เจคเฉ‡ เจนเจฐ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ _old7 เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจฎเจธเจผเฉ€เจจ เจœเจจเจฐเฉ‡เจธเจผเจจ เจตเจฐเจ—เจพ เจจเจนเฉ€เจ‚ เจฒเฉฑเจ—เจฆเจพ... เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจฎเฉˆเจ‚ เจ‰เฉฑเจก เจ—เจฟเจ† เจธเฉ€

TL_message_layer104
TL_message_layer104_2
TL_message_layer104_3

เจฆเฉ‹เจธเจคเฉ‹, เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจ‡เจน เจซเฉˆเจธเจฒเจพ เจตเฉ€ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจ•เจฟ เจ‡เฉฑเจ• เจชเจฐเจค เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจ•เฉ€ เจนเฉˆ?! เจ–เฉˆเจฐ, เจ เฉ€เจ• เจนเฉˆ, เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ "เจฆเฉ‹" เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจจเจพเจฒ เจœเจพเจฐเฉ€ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ, เจ เฉ€เจ• เจนเฉˆ, เจ…เจœเจฟเจนเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจคเจฟเฉฐเจจ?... เจ‰เจธเฉ‡ เจตเฉ‡เจฒเฉ‡, เจ‰เจนเฉ€ เจฐเฉˆเจ• เจฆเฉเจฌเจพเจฐเจพ? เจ‡เจน เจ•เจฟเจนเฉ‹ เจœเจฟเจนเฉ€ เจ…เจธเจผเจฒเฉ€เจฒเจคเจพ เจนเฉˆ, เจฎเจพเจซ เจ•เจฐเจจเจพ..?

เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจฆเฉ‡ เจธเฉ‹เจฐเจธ เจ•เฉ‹เจก เจตเจฟเฉฑเจš, เจตเฉˆเจธเฉ‡, เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจšเฉ€เจœเจผ เจตเจพเจชเจฐเจฆเฉ€ เจนเฉˆ - เจœเฉ‡ เจ…เจœเจฟเจนเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจ•เฉ€เจฎ เจฒเจˆ เจ‡เฉฑเจ• เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจ•เจˆ เจ•เจฎเจฟเจŸเจธ เจ‡เจธเจฆเฉ‡ เจฒเฉ‡เจ…เจฐ เจจเฉฐเจฌเจฐ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจฌเจฆเจฒเจฆเฉ‡, เจชเจฐ เจ•เฉเจ เจ เฉ€เจ• เจ•เจฐเจฆเฉ‡ เจนเจจ. เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจœเจฟเฉฑเจฅเฉ‡ เจธเจ•เฉ€เจฎ เจฒเจˆ เจกเฉ‡เจŸเจพ เจฆเจพ เจ•เฉ‹เจˆ เจ…เจงเจฟเจ•เจพเจฐเจค เจธเจฐเฉ‹เจค เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจน เจ…เจงเจฟเจ•เจพเจฐเจค เจ—เจพเจนเจ• เจฆเฉ‡ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจ›เฉฑเจก เจ•เฉ‡ เจ•เจฟเฉฑเจฅเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ? เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‰เจฅเฉ‹เจ‚ เจฒเฉˆเจ‚เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจฏเจ•เฉ€เจจเฉ€ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจ•เจฟ เจ‡เจน เจธเจ•เฉ€เจฎ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจนเฉ€ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจคเฉเจธเฉ€เจ‚ เจธเจพเจฐเฉ‡ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡เฅค

เจ‡เจน เจตเฉ€ เจ•เจฟเจตเฉ‡เจ‚ เจชเจฐเจ–เจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ? เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจฏเฉ‚เจจเจฟเจŸ, เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจŸเฉˆเจธเจŸเจพเจ‚ เจฆเฉ‡ เจชเฉเจฐเจธเจผเฉฐเจธเจ• เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจธเจพเจ‚เจเจพ เจ•เจฐเจจเจ—เฉ‡.

เจ เฉ€เจ• เจนเฉˆ, เจ†เจ“ เจ•เฉ‹เจก เจฆเฉ‡ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจนเจฟเฉฑเจธเฉ‡ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ:

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

    public int folder_id;

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

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

//manually created

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

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

เจ‡เจน เจŸเจฟเฉฑเจชเจฃเฉ€ "เจนเฉฑเจฅเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเจฃเจพเจˆ เจ—เจˆ" เจธเฉเจเจพเจ… เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ‡เจธ เจซเจพเจˆเจฒ เจฆเจพ เจธเจฟเจฐเจซ เจนเจฟเฉฑเจธเจพ เจนเฉฑเจฅเฉ€เจ‚ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€ (เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจชเฉ‚เจฐเฉ‡ เจฐเฉฑเจ–-เจฐเจ–เจพเจ… เจฆเฉ‡ เจกเจฐเจพเจ‰เจฃเฉ‡ เจธเฉเจชเจจเฉ‡ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹?), เจ…เจคเฉ‡ เจฌเจพเจ•เฉ€ เจฎเจธเจผเฉ€เจจ เจฆเฉเจ†เจฐเจพ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจซเจฟเจฐ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจธเจตเจพเจฒ เจ‰เฉฑเจ เจฆเจพ เจนเฉˆ - เจ•เจฟ เจธเจฐเฉ‹เจค เจ‰เจชเจฒเจฌเจง เจนเจจ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจนเฉ€เจ‚ (เจฒเจฟเจจเจ•เจธ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• la GPL เจฌเจฒเฉŒเจฌ), เจชเจฐ เจ‡เจน เจฆเฉ‚เจœเฉ‡ เจญเจพเจ— เจฒเจˆ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจตเจฟเจธเจผเจพ เจนเฉˆเฅค

เจชเจฐ เจ•เจพเจซเจผเฉ€. เจ†เจ“ เจ‰เจธ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ 'เจคเฉ‡ เจšเฉฑเจฒเฉ€เจ เจœเจฟเจธ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจ‡เจน เจธเจพเจฐเจพ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจšเฉฑเจฒเจฆเจพ เจนเฉˆ.

เจเจฎเจŸเฉ€เจชเฉ€เจŸเจฐเฉ‹

เจ‡เจธ เจฒเจˆ, เจ†เจ“ เจ–เฉ‹เจฒเฉเจนเฉ€เจ เจ†เจฎ เจตเจฐเจฃเจจ ะธ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเจพ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจตเฉ‡เจฐเจตเจพ เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเฉ€ เจšเฉ€เจœเจผ เจœเจฟเจธ 'เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ เฉ‹เจ•เจฐ เจ–เจพเจ‚เจฆเฉ‡ เจนเจพเจ‚ เจ‰เจน เจนเฉˆ เจธเจผเจฌเจฆเจพเจตเจฒเฉ€เฅค เจ…เจคเฉ‡ เจนเจฐ เจšเฉ€เจœเจผ เจฆเฉ€ เจญเจฐเจชเฉ‚เจฐเจคเจพ เจฆเฉ‡ เจจเจพเจฒ. เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฆเฉ€ เจฎเจฒเจ•เฉ€เจ…เจค เจตเจพเจฒเฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจœเจพเจชเจฆเฉ€ เจนเฉˆ - เจตเฉฑเจ–เฉ‹-เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจฅเจพเจตเจพเจ‚ 'เจคเฉ‡ เจตเฉฑเจ–เฉ‹-เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจเจพ, เจœเจพเจ‚ เจ‡เจ• เจธเจผเจฌเจฆ เจจเจพเจฒ เจตเฉฑเจ–เจฐเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚, เจœเจพเจ‚ เจ‰เจฒเจŸ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‰เฉฑเจš-เจชเฉฑเจงเจฐเฉ€ API เจตเจฟเฉฑเจš, เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจธเจŸเจฟเฉฑเจ•เจฐ เจชเฉˆเจ• เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจน เจจเจนเฉ€เจ‚ เจนเฉˆ. เจคเฉเจธเฉ€เจ‚ เจ•เฉ€ เจธเฉ‹เจšเจฟเจ† เจธเฉ€).

เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, "เจธเฉเจจเฉ‡เจนเจพ" เจ…เจคเฉ‡ "เจธเฉˆเจธเจผเจจ" เจฆเจพ เจฎเจคเจฒเจฌ เจ‡เฉฑเจฅเฉ‡ เจ†เจฎ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจจเจพเจฒเฉ‹เจ‚ เจ•เฉเจ เจตเฉฑเจ–เจฐเจพ เจนเฉˆเฅค เจ–เฉˆเจฐ, เจธเฉเจจเฉ‡เจนเฉ‡ เจจเจพเจฒ เจธเจญ เจ•เฉเจ เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ, เจ‡เจธเจฆเฉ€ เจตเจฟเจ†เจ–เจฟเจ† OOP เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจœเจพเจ‚ เจธเจฟเจฐเจซเจผ "เจชเฉˆเจ•เฉ‡เจŸ" เจธเจผเจฌเจฆ เจ•เจฟเจนเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ - เจ‡เจน เจ‡เฉฑเจ• เจ˜เฉฑเจŸ, เจŸเฉเจฐเจพเจ‚เจธเจชเฉ‹เจฐเจŸ เจชเฉฑเจงเจฐ เจนเฉˆ, เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจตเจฟเฉฑเจš เจ‰เจนเฉ€ เจธเฉฐเจฆเฉ‡เจธเจผ เจจเจนเฉ€เจ‚ เจนเจจ, เจ‡เฉฑเจฅเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเฉ‡เจตเจพ เจธเฉเจจเฉ‡เจนเฉ‡ เจนเจจ . เจชเจฐ เจธเฉˆเจธเจผเจจ... เจชเจฐ เจชเจนเจฟเจฒเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจชเจนเจฟเจฒเจพเจ‚เฅค

เจ†เจตเจพเจœเจพเจˆ เจชเจฐเจค

เจชเจนเจฟเจฒเฉ€ เจ—เฉฑเจฒ เจ†เจตเจพเจœเจพเจˆ เจนเฉˆ. เจ‰เจน เจธเจพเจจเฉ‚เฉฐ 5 เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฌเจพเจฐเฉ‡ เจฆเฉฑเจธเจฃเจ—เฉ‡:

  • TCP
  • เจตเฉˆเจฌเจธเจพเจ•เฉ‡เจŸ
  • HTTPS เจ‰เฉฑเจคเฉ‡ เจตเฉˆเจฌเจธเจพเจ•เฉ‡เจŸ
  • HTTP เจจเฉ‚เฉฐ
  • HTTPS

เจตเฉˆเจธเฉ€เจฒเฉ€, [15.06.18 15:04] เจ‡เฉฑเจฅเฉ‡ UDP เจŸเฉเจฐเจพเจ‚เจธเจชเฉ‹เจฐเจŸ เจตเฉ€ เจนเฉˆ, เจชเจฐ เจ‡เจน เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ

เจ…เจคเฉ‡ เจคเจฟเฉฐเจจ เจฐเฉ‚เจชเจพเจ‚ เจตเจฟเฉฑเจš เจŸเฉ€.เจธเฉ€.เจชเฉ€

เจชเจนเจฟเจฒเจพ เจ‡เฉฑเจ• TCP เจ‰เฉฑเจคเฉ‡ UDP เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉˆ, เจนเจฐเฉ‡เจ• เจชเฉˆเจ•เฉ‡เจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เฉเจฐเจฎ เจจเฉฐเจฌเจฐ เจ…เจคเฉ‡ crc เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ
เจ•เจพเจฐเจŸ 'เจคเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจชเฉœเฉเจนเจจเจพ เจ‡เฉฐเจจเจพ เจฆเจฐเจฆเจจเจพเจ• เจ•เจฟเจ‰เจ‚ เจนเฉˆ?

เจ–เฉˆเจฐ, เจ‡เจน เจนเฉเจฃ เจนเฉˆ TCP เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ 4 เจฐเฉ‚เจชเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉˆ:

  • เจ›เฉ‹เจŸเจพ
  • เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ
  • เจชเฉˆเจกเจฟเจก เจตเจฟเจšเจ•เจพเจฐเจฒเจพ
  • เจชเฉ‚เจฐเจพ

เจ–เฉˆเจฐ, เจ เฉ€เจ• เจนเฉˆ, MTProxy เจฒเจˆ เจชเฉˆเจกเจก เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ, เจ‡เจน เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจœเจพเจฃเฉ€เจ†เจ‚-เจชเจ›เจพเจฃเฉ€เจ†เจ‚ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจฆเฉ‡ เจ•เจพเจฐเจจ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค เจชเจฐ เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฆเฉ‡ เจจเจพเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจฆเฉ‹ เจนเฉ‹เจฐ เจธเฉฐเจธเจ•เจฐเจฃ (เจ•เฉเฉฑเจฒ เจตเจฟเฉฑเจš เจคเจฟเฉฐเจจ) เจ•เจฟเจ‰เจ‚? เจธเจพเจฐเฉ‡ เจšเจพเจฐ เจœเจผเจฐเฉ‚เจฐเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉเฉฑเจ– MTProto เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจ…เจคเฉ‡ เจชเฉ‡เจฒเฉ‹เจก เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจนเฉˆ เจ‡เจธ เจตเจฟเฉฑเจš เจตเฉฑเจ–เจฐเจพ เจนเฉˆ, เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจ…เฉฑเจ—เฉ‡ เจšเจฐเจšเจพ เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€:

  • เจธเฉฐเจ–เฉ‡เจช เจตเจฟเฉฑเจš เจ‡เจน 1 เจœเจพเจ‚ 4 เจฌเจพเจˆเจŸ เจนเฉˆ, เจชเจฐ 0xef เจจเจนเฉ€เจ‚, เจซเจฟเจฐ เจธเจฐเฉ€เจฐ
  • เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจตเจฟเฉฑเจš เจ‡เจน เจฒเฉฐเจฌเจพเจˆ เจฆเฉ‡ 4 เจฌเจพเจˆเจŸ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจนเฉˆ, เจ…เจคเฉ‡ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ เจ—เจพเจนเจ• เจจเฉ‚เฉฐ เจญเฉ‡เจœเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ 0xeeeeeeee เจ‡เจน เจฆเจฐเจธเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ เจ‡เจน เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจนเฉˆ
  • เจ‡เฉฑเจ• เจจเฉˆเฉฑเจŸเจตเจฐเจ•เจฐ เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจพเจฒ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจ†เจฆเฉ€ เจนเฉˆ: เจฒเฉฐเจฌเจพเจˆ, เจ•เฉเจฐเจฎ เจจเฉฐเจฌเจฐ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจจเจนเฉ€เจ‚ เจœเฉ‹ เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ MTProto, body, CRC32 เจนเฉˆเฅค เจนเจพเจ‚, เจ‡เจน เจธเจญ TCP เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจนเฉˆเฅค เจœเฉ‹ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เฉเจฐเจฎเจตเจพเจฐ เจฌเจพเจˆเจŸ เจธเจŸเฉเจฐเฉ€เจฎ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจ†เจตเจพเจœเจพเจˆ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ; เจ•เจฟเจธเฉ‡ เจ•เฉเจฐเจฎ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจšเฉˆเจ•เจธเจฎเจพเจ‚เฅค เจ เฉ€เจ• เจนเฉˆ, เจนเฉเจฃ เจ•เฉ‹เจˆ เจฎเฉ‡เจฐเฉ‡ 'เจคเฉ‡ เจ‡เจคเจฐเจพเจœเจผ เจ•เจฐเฉ‡เจ—เจพ เจ•เจฟ TCP เจ•เฉ‹เจฒ 16-เจฌเจฟเฉฑเจŸ เจšเฉˆเฉฑเจ•เจธเจฎ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจกเฉ‡เจŸเจพ เจญเฉเจฐเจฟเจธเจผเจŸเจพเจšเจพเจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจฌเจนเฉเจค เจตเจงเฉ€เจ†, เจชเจฐ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ…เจธเจฒ เจตเจฟเฉฑเจš 16 เจฌเจพเจˆเจŸเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจฒเฉฐเจฌเฉ‡ เจนเฉˆเจธเจผเจพเจ‚ เจตเจพเจฒเจพ เจ‡เฉฑเจ• เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจนเฉˆ, เจ‡เจน เจธเจพเจฐเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ - เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจตเฉ€ - เจ‡เฉฑเจ• เจ‰เฉฑเจš เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• SHA เจฌเฉ‡เจฎเฉ‡เจฒ เจฆเฉเจ†เจฐเจพ เจซเฉœเจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ. เจ‡เจธ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ CRC32 เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจฌเจฟเฉฐเจฆเฉ‚ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ†เจ‰ เจธเฉฐเจ–เฉ‡เจช เจฆเฉ€ เจคเฉเจฒเจจเจพ เจ•เจฐเฉ€เจ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฌเจพเจˆเจŸ เจฒเฉฐเจฌเจพเจˆ เจธเฉฐเจญเจต เจนเฉˆ, เจ‡เฉฐเจŸเจฐเจฎเฉ€เจกเฉ€เจเจŸ เจจเจพเจฒ, เจœเฉ‹ เจ•เจฟ โ€œ4-เจฌเจพเจˆเจŸ เจกเฉ‡เจŸเจพ เจ…เจฒเจพเจˆเจจเจฎเฉˆเจ‚เจŸ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจฃ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจšโ€ เจจเฉ‚เฉฐ เจœเจพเจ‡เจœเจผ เจ เจนเจฟเจฐเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ•เจพเจซเจผเฉ€ เจฌเจ•เจตเจพเจธ เจนเฉˆเฅค เจ•เฉ€, เจ‡เจน เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐ เจ‡เฉฐเจจเฉ‡ เจ…เจฏเฉ‹เจ— เจนเจจ เจ•เจฟ เจ‰เจน เจ‡เฉฑเจ• เจธเจพเจ•เจŸ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจ…เจฒเจพเจˆเจจเจก เจฌเจซเจฐ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจจเจนเฉ€เจ‚ เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡? เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจตเฉ€ เจ‡เจน เจ•เจฐเจจเจพ เจชเจตเฉ‡เจ—เจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจชเฉœเฉเจนเจจเจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจฌเจพเจˆเจŸ เจตเจพเจชเจธ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ (เจ…เจคเฉ‡ เจชเฉเจฐเฉŒเจ•เจธเฉ€ เจธเจฐเจตเจฐ เจตเฉ€ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ...)เฅค เจœเจพเจ‚ เจฆเฉ‚เจœเฉ‡ เจชเจพเจธเฉ‡, เจœเฉ‡ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ…เจœเฉ‡ เจตเฉ€ 16 เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจญเจพเจฐเฉ€ เจชเฉˆเจกเจฟเฉฐเจ— เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจคเจพเจ‚ เจ•เจฟเจ‰เจ‚ เจฌเจฒเจพเจ• เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ - 3 เจฌเจพเจˆเจŸ เจฌเจšเจพเจ“ เจ•เจฆเฉ‡ เจ•เจฆเฉ‡ ?

เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจ‡เจน เจชเฉเจฐเจญเจพเจต เจฎเจฟเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจจเจฟเจ•เฉ‹เจฒเจพเจˆ เจฆเฉเจฐเฉ‹เจต เจ…เจธเจฒ เจตเจฟเฉฑเจš เจฌเจฟเจจเจพเจ‚ เจ•เจฟเจธเฉ‡ เจตเจฟเจนเจพเจฐเจ• เจฒเฉ‹เฉœ เจฆเฉ‡, เจจเฉˆเจŸเจตเจฐเจ• เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจธเจฎเฉ‡เจค, เจชเจนเฉ€เจ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‰เจฃเจพ เจชเจธเฉฐเจฆ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจนเฉ‹เจฐ เจ†เจตเจพเจœเจพเจˆ เจตเจฟเจ•เจฒเจช, เจธเจฎเฉ‡เจคเฅค เจตเฉˆเฉฑเจฌ เจ…เจคเฉ‡ MTProxy, เจ…เจธเฉ€เจ‚ เจนเฉเจฃ เจตเจฟเจšเจพเจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš, เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจฌเฉ‡เจจเจคเฉ€ เจนเฉˆ. เจ‡เจธเฉ‡ MTProxy เจฌเจพเจฐเฉ‡, เจธเจพเจจเฉ‚เฉฐ เจนเฉเจฃเฉ‡ เจนเฉ€ เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ 2018 เจตเจฟเฉฑเจš เจ‡เจธ เจฆเฉ‡ เจฐเจฟเจฒเฉ€เจœเจผ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฅเฉ‹เฉœเฉเจนเฉ€ เจฆเฉ‡เจฐ เจฌเจพเจ…เจฆ, เจชเฉเจฐเจฆเจพเจคเจพเจตเจพเจ‚ เจจเฉ‡ เจœเจฒเจฆเฉ€ เจนเฉ€ เจ‡เจธเจจเฉ‚เฉฐ เจฌเจฒเจพเจ• เจ•เจฐเจจเจพ เจธเจฟเฉฑเจ– เจฒเจฟเจ†, เจœเจฟเจธเจฆเจพ เจ‰เจฆเฉ‡เจธเจผ เจฌเจพเจˆเจชเจพเจธ เจฌเจฒเจพเจ•เจฟเฉฐเจ—, เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจœ เจฆเจพ เจ†เจ•เจพเจฐ! เจ…เจคเฉ‡ เจ‡เจน เจตเฉ€ เจคเฉฑเจฅ เจ•เจฟ C เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† MTProxy เจธเจฐเจตเจฐ (เจฆเฉเจฌเจพเจฐเจพ เจตเจพเจฒเจŸเจฎเฉˆเจจ เจฆเฉเจ†เจฐเจพ) เจฒเฉ€เจจเจ•เจธ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเจพเจฒ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจœเฉเฉœเจฟเจ† เจนเฉ‹เจ‡เจ† เจธเฉ€, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‡เจธเจฆเฉ€ เจฌเจฟเจฒเจ•เฉเจฒ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจธเฉ€ (เจซเจฟเจฒ เจ•เฉเจฒเฉ€เจจ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเฉ‡เจ—เจพ), เจ…เจคเฉ‡ เจ‡เจน เจ•เจฟ เจ‡เฉฑเจ• เจธเจฎเจพเจจ เจธเจฐเจตเจฐ เจœเจพเจ‚ เจคเจพเจ‚ Go เจœเจพเจ‚ Node.js เจตเจฟเฉฑเจš เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจธเฉŒ เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจฒเจพเจˆเจจเจพเจ‚ เจตเจฟเฉฑเจš เจซเจฟเฉฑเจŸ.

เจชเจฐ เจ…เจธเฉ€เจ‚ เจนเฉ‹เจฐ เจฎเฉเฉฑเจฆเจฟเจ†เจ‚ 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจญเจพเจ— เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ‡เจนเจจเจพเจ‚ เจฒเฉ‹เจ•เจพเจ‚ เจฆเฉ€ เจคเจ•เจจเฉ€เจ•เฉ€ เจธเจพเจ–เจฐเจคเจพ เจฌเจพเจฐเฉ‡ เจธเจฟเฉฑเจŸเฉ‡ เจ•เฉฑเจขเจพเจ‚เจ—เฉ‡เฅค เจนเฉเจฃ เจฒเจˆ, เจ†เจ“ OSI เจฒเฉ‡เจ…เจฐ 5, เจธเฉˆเจธเจผเจจ 'เจคเฉ‡ เจšเฉฑเจฒเฉ€เจ - เจœเจฟเจธ 'เจคเฉ‡ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‡ MTProto เจธเฉˆเจธเจผเจจ เจฐเฉฑเจ–เจฟเจ† เจนเฉˆเฅค

เจ•เฉเฉฐเจœเฉ€เจ†เจ‚, เจธเฉเจจเฉ‡เจนเฉ‡, เจธเฉˆเจธเจผเจจ, เจกเจฟเจซเฉ€-เจนเฉ‡เจฒเจฎเฉˆเจจ

เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ‡เจธ เจจเฉ‚เฉฐ เจ‰เฉฑเจฅเฉ‡ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ เฉ€เจ• เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฟเจ†... เจ‡เฉฑเจ• เจธเฉˆเจธเจผเจจ เจ‰เจนเฉ€ เจธเฉˆเจธเจผเจจ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจœเฉ‹ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจธเฉˆเจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจ…เจงเฉ€เจจ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจชเจฐ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš.

เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฆเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจ…เจคเฉ‡ เจธเฉฐเจ—เจ เจจเจพเจคเจฎเจ• เจชเจนเฉเฉฐเจš เจฆเฉ€ เจ†เจฒเฉ‹เจšเจจเจพเฅค เจญเจพเจ— 1, เจคเจ•เจจเฉ€เจ•เฉ€: เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจฒเจฟเจ–เจฃ เจฆเจพ เจ…เจจเฉเจญเจต - TL, MT

เจ‡เจธ เจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจŸเจฐเจพเจ‚เจธเจชเฉ‹เจฐเจŸ เจฒเฉ‡เจ…เจฐ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ€ เจœเจพเจ‚เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจฆเฉ€ เจ‡เฉฑเจ• เจฌเจพเจˆเจŸ เจธเจคเจฐ เจฎเจฟเจฒเฉ€เฅค เจ‡เจน เจœเจพเจ‚ เจคเจพเจ‚ เจ‡เฉฑเจ• เจเจจเจ•เฉเจฐเจฟเจชเจŸเจก เจธเฉเจจเฉ‡เจนเจพ เจœเจพเจ‚ เจชเจฒเฉ‡เจจ เจŸเฉˆเจ•เจธเจŸ เจนเฉˆ - เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจ…เจœเฉ‡ เจตเฉ€ เจฎเฉเฉฑเจ– เจธเจฎเจเฉŒเจคเฉ‡ เจฆเฉ‡ เจชเฉœเจพเจ… 'เจคเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจน เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚เฅค เจ…เจธเฉ€เจ‚ "เจ•เฉเฉฐเจœเฉ€" เจ•เจนเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจธเฉฐเจ•เจฒเจชเจพเจ‚ เจฆเฉ‡ เจเฉเฉฐเจก เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เจฟเจธ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚? เจšเจฒเฉ‹ เจ‡เจธ เจฎเฉเฉฑเจฆเฉ‡ เจจเฉ‚เฉฐ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจŸเฉ€เจฎ เจฒเจˆ เจ–เฉเจฆ เจธเจชเฉฑเจธเจผเจŸ เจ•เจฐเฉ€เจ (เจฎเฉˆเจ‚ เจธเจตเฉ‡เจฐเฉ‡ 4 เจตเจœเฉ‡ เจฅเฉฑเจ•เฉ‡ เจฆเจฟเจฎเจพเจ— เจจเจพเจฒ เจ…เฉฐเจ—เจฐเฉ‡เจœเจผเฉ€ เจคเฉ‹เจ‚ เจ†เจชเจฃเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจฆเจพ เจ…เจจเฉเจตเจพเจฆ เจ•เจฐเจจ เจฒเจˆ เจฎเฉเจ†เจซเฉ€ เจฎเฉฐเจ—เจฆเจพ เจนเจพเจ‚, เจ•เฉเจ เจตเจพเจ•เจพเจ‚เจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ›เฉฑเจกเจฃเจพ เจธเฉŒเจ–เจพ เจธเฉ€):

เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจจ เจฆเฉ‹ เจธเฉฐเจธเจฅเจพเจตเจพเจ‚ เจนเจจ เจธเฉˆเจธเจผเจจ - "เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉˆเจธเจผเจจเจพเจ‚" เจฆเฉ‡ เจ…เจงเฉ€เจจ เจ…เจงเจฟเจ•เจพเจฐเจค เจ—เจพเจนเจ•เจพเจ‚ เจฆเฉ‡ UI เจตเจฟเฉฑเจš เจ‡เฉฑเจ•, เจœเจฟเฉฑเจฅเฉ‡ เจนเจฐเฉ‡เจ• เจธเฉˆเจธเจผเจจ เจ‡เฉฑเจ• เจชเฉ‚เจฐเฉ‡ เจกเจฟเจตเจพเจˆเจธ / OS เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเจพ เจนเฉˆเฅค
เจฆเฉ‚เจœเจพ - MTProto เจธเฉˆเจธเจผเจจ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจธเฉเจจเฉ‡เจนเฉ‡ เจฆเจพ เจ•เฉเจฐเจฎ เจธเฉฐเจ–เจฟเจ† (เจ˜เฉฑเจŸ-เจชเฉฑเจงเจฐเฉ€ เจ…เจฐเจฅเจพเจ‚ เจตเจฟเฉฑเจš) เจนเฉˆ, เจ…เจคเฉ‡ เจ•เจฟเจนเฉœเจพ เจตเฉฑเจ–-เจตเฉฑเจ– TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจšเฉฑเจฒ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ•เจˆ MTProto เจธเฉˆเจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจธเจฅเจพเจชเจค เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจซเจพเจˆเจฒ เจกเจพเจŠเจจเจฒเฉ‹เจกเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจคเฉ‡เจœเจผ เจ•เจฐเจจ เจฒเจˆเฅค

เจ‡เจจเฉเจนเจพเจ‚ เจฆเฉ‹เจนเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจธเฉˆเจธเจผเจจ เจ‡เฉฑเจ• เจงเจพเจฐเจจเจพ เจนเฉˆ เจ…เจงเจฟเจ•เจพเจฐ. เจกเฉ€เจœเจจเจฐเฉ‡เจŸ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ…เจธเฉ€เจ‚ เจ•เจนเจฟ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ UI เจธเฉˆเจธเจผเจจ เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉˆ เจ…เจงเจฟเจ•เจพเจฐ, เจชเจฐ เจ…เจซเจผเจธเฉ‹เจธ, เจธเจญ เจ•เฉเจ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจนเฉˆ. เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ:

  • เจจเจตเฉ€เจ‚ เจกเจฟเจตเจพเจˆเจธ 'เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจชเจนเจฟเจฒเจพเจ‚ เจœเจจเจฐเฉ‡เจŸ เจ•เจฐเจฆเจพ เจนเฉˆ auth_key เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ–เจพเจคเฉ‡ เจจเจพเจฒ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ SMS เจฆเฉเจ†เจฐเจพ - เจ‡เจธ เจฒเจˆ เจ…เจงเจฟเจ•เจพเจฐ
  • เจ‡เจน เจชเจนเจฟเจฒเฉ‡ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจนเฉ‹เจ‡เจ† MTProto เจธเฉˆเจธเจผเจจ, เจœเจฟเจธ เจ•เฉ‹เจฒ เจนเฉˆ session_id เจ†เจชเจฃเฉ‡ เจ…เฉฐเจฆเจฐ.
  • เจ‡เจธ เจ•เจฆเจฎ 'เจคเฉ‡, เจธเฉเจฎเฉ‡เจฒ เจ…เจงเจฟเจ•เจพเจฐ ะธ session_id เจ•เจฟเจนเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจฎเจฟเจธเจพเจฒ - เจ‡เจน เจธเจผเจฌเจฆ เจ•เฉเจ เจ—เจพเจนเจ•เจพเจ‚ เจฆเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ…เจคเฉ‡ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจชเฉเจฐเจ—เจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ
  • เจซเจฟเจฐ, เจ—เจพเจนเจ• เจ–เฉ‹เจฒเฉเจน เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจˆ MTProto เจธเฉˆเจธเจผเจจ เจ‰เจธเฉ‡ เจ…เจงเฉ€เจจ auth_key - เจ‰เจธเฉ‡ เจกเฉ€เจธเฉ€ เจจเฉ‚เฉฐ.
  • เจซเจฟเจฐ, เจ‡เฉฑเจ• เจฆเจฟเจจ เจ—เจพเจนเจ• เจจเฉ‚เฉฐ เจซเจพเจˆเจฒ เจฆเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉ‹เจเจ—เฉ€ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจกเฉ€.เจธเฉ€ - เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ DC เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ auth_key !
  • เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจธเฉ‚เจšเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ•เจฟ เจ‡เจน เจ•เฉ‹เจˆ เจจเจตเจพเจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเฉ‹ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ, เจชเจฐ เจ‰เจนเฉ€ เจนเฉˆ เจ…เจงเจฟเจ•เจพเจฐ (UI เจธเฉˆเจธเจผเจจ), เจ•เจฒเจพเจ‡เฉฐเจŸ API เจ•เจพเจฒเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ auth.exportAuthorization เจ˜เจฐ เจตเจฟเฉฑเจš เจกเฉ€.เจธเฉ€ auth.importAuthorization เจจเจตเฉ‡เจ‚ เจกเฉ€เจธเฉ€ เจตเจฟเฉฑเจš
  • เจธเจญ เจ•เฉเจ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเจพ เจนเฉˆ, เจ•เจˆ เจ–เฉเฉฑเจฒเฉเจน เจธเจ•เจฆเฉ‡ เจนเจจ MTProto เจธเฉˆเจธเจผเจจ (เจนเจฐเฉ‡เจ• เจ†เจชเจฃเฉ‡ เจจเจพเจฒ session_id) เจจเฉ‚เฉฐ เจ‡เจธ เจจเจตเฉ‡เจ‚ เจกเฉ€.เจธเฉ€., เจ…เจงเฉ€เจจ เจ‰เจธ เจฆเฉ‡ auth_key.
  • เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ—เจพเจนเจ• เจธเฉฐเจชเฉ‚เจฐเจจ เจซเจพเจฐเจตเจฐเจก เจ—เฉเจชเจคเจคเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจนเจฐ auth_key เจธเฉ€ เจธเจฅเจพเจˆ เจ•เฉเฉฐเจœเฉ€ - เจชเฉเจฐเจคเฉ€ DC - เจ…เจคเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ•เจพเจฒ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ auth.bindTempAuthKey เจตเจฐเจคเจฃ เจฒเจˆ เจ†เจฐเจœเจผเฉ€ auth_key - เจ…เจคเฉ‡ เจฆเฉเจฌเจพเจฐเจพ, เจธเจฟเจฐเจซ เจ‡เฉฑเจ• temp_auth_key เจชเฉเจฐเจคเฉ€ DC, เจธเจพเจฐเจฟเจ†เจ‚ เจฒเจˆ เจธเจพเจ‚เจเจพ MTProto เจธเฉˆเจธเจผเจจ เจ‡เจธ เจกเฉ€.เจธเฉ€.

เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจฒเฉ‚เจฃ (เจ…เจคเฉ‡ เจญเจตเจฟเฉฑเจ– เจฆเฉ‡ เจฒเฉ‚เจฃ) เจตเฉ€ เจ‡เฉฑเจ• เจนเฉˆ auth_key เจ‰เจน. เจธเจพเจฐเจฟเจ†เจ‚ เจตเจฟเจšเจ•เจพเจฐ เจธเจพเจ‚เจเจพ เจ•เฉ€เจคเจพ MTProto เจธเฉˆเจธเจผเจจ เจ‰เจธเฉ‡ เจกเฉ€เจธเฉ€ เจจเฉ‚เฉฐ.

"เจตเฉฑเจ–-เจตเฉฑเจ– TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ" เจฆเจพ เจ•เฉ€ เจฎเจคเจฒเจฌ เจนเฉˆ? เจ‡เจธ เจฒเจˆ เจ‡เจธ เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เฉเจ เจ…เจœเจฟเจนเจพ เจ‡เฉฑเจ• เจตเฉˆเจฌเจธเจพเจˆเจŸ 'เจคเฉ‡ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจ•เฉ‚เจ•เฉ€ - เจ‡เจน เจ‡เฉฑเจ• เจฆเจฟเฉฑเจคเฉ‡ เจธเจฐเจตเจฐ เจจเจพเจฒ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ TCP เจ•เจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจ‡เจฎ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ (เจฌเจšเจฆเจพ เจนเฉˆ), เจชเจฐ เจ‡เฉฑเจ• เจฆเจฟเจจ เจ‡เจน เจ–เจฐเจพเจฌ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจธเจฟเจฐเจซเจผ HTTP เจฆเฉ‡ เจ‰เจฒเจŸ, MTProto เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเฉˆเจธเจผเจจ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฐเจฎเจตเจพเจฐ เจจเฉฐเจฌเจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจชเฉเจธเจผเจŸเฉ€ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ; เจœเฉ‡เจ•เจฐ เจ‰เจน เจธเฉเจฐเฉฐเจ— เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจคเจพเจ‚ เจ•เจจเฉˆเจ•เจธเจผเจจ เจŸเฉเฉฑเจŸ เจ—เจฟเจ† เจธเฉ€ - เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจ•เจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจธเจฐเจตเจฐ เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจ‡เจธ เจธเฉˆเจธเจผเจจ เจตเจฟเฉฑเจš เจ‰เจน เจธเจญ เจ•เฉเจ เจญเฉ‡เจœเฉ‡เจ—เจพ เจœเฉ‹ เจ‡เจธเจจเฉ‡ เจชเจฟเจ›เจฒเฉ‡ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฆเจฟเฉฑเจคเจพ เจธเฉ€เฅค TCP เจ•เจจเฉˆเจ•เจธเจผเจจเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‰เจชเจฐเฉ‹เจ•เจค เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ•เจˆ เจฎเจนเฉ€เจจเจฟเจ†เจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเฉฐเจ–เฉ‡เจช เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค เจ‡เจธ เจฆเฉŒเจฐเจพเจจ, เจ•เฉ€ เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚? - เจ†เจ“ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจตเจพเจชเจธ เจšเจฒเฉ€เจ.

เจ‡เจธ เจฒเจˆ เจ†เจ“ เจชเฉˆเจฆเจพ เจ•เจฐเฉ€เจ auth_key 'เจคเฉ‡ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจคเฉ‹เจ‚ เจกเจฟเจซเฉ€-เจนเฉ‡เจฒเจฎเฉˆเจจ เจธเฉฐเจธเจ•เจฐเจฃ. เจ†เจ“ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ€เจ...

เจตเฉˆเจธเฉ€เจฒเฉ€, [19.06.18 20:05] data_with_hash := SHA1(เจกเจพเจŸเจพ) + เจกเฉ‡เจŸเจพ + (เจ•เฉ‹เจˆ เจตเฉ€ เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจฌเจพเจˆเจŸเจธ); เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฒเฉฐเจฌเจพเจˆ 255 เจฌเจพเจˆเจŸ เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจนเฉˆ;
encrypted_data := RSA(data_with_hash, server_public_key); เจ‡เฉฑเจ• 255-เจฌเจพเจˆเจŸ เจฒเฉฐเจฌเฉ‡ เจจเฉฐเจฌเจฐ (เจตเฉฑเจกเฉ‡ เจเจ‚เจกเฉ€เจ…เจจ) เจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฎเจพเจกเจฟเจŠเจฒเจธ เจ‰เฉฑเจคเฉ‡ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจธเจผเจ•เจคเฉ€ เจคเฉฑเจ• เจตเจงเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจจเจคเฉ€เจœเจพ เจ‡เฉฑเจ• 256-เจฌเจพเจˆเจŸ เจจเฉฐเจฌเจฐ เจตเจœเฉ‹เจ‚ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจ เจกเฉ‹เจช เจกเฉ€.เจเจš

เจ‡เฉฑเจ• เจธเจฟเจนเจคเจฎเฉฐเจฆ เจตเจฟเจ…เจ•เจคเฉ€ เจฆเจพ DH เจจเจนเฉ€เจ‚ เจฒเฉฑเจ—เจฆเจพ
dx เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจฆเฉ‹ เจœเจจเจคเจ• เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚ เจนเจจ

เจ–เฉˆเจฐ, เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ‡เจธ เจจเฉ‚เฉฐ เจธเฉเจฒเจเจพเจ‡เจ† เจ—เจฟเจ† เจธเฉ€, เจชเจฐ เจ‡เฉฑเจ• เจฐเจนเจฟเฉฐเจฆ-เจ–เฉ‚เฉฐเจนเจฆ เจฌเจšเฉ€ เจธเฉ€ - เจ•เฉฐเจฎ เจฆเจพ เจธเจฌเฉ‚เจค เจ—เจพเจนเจ• เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจ‰เจน เจธเฉฐเจ–เจฟเจ† เจจเฉ‚เฉฐ เจ•เจพเจฐเจ• เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจธเฉ€เฅค DoS เจนเจฎเจฒเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฆเฉ€ เจ•เจฟเจธเจฎเฅค เจ…เจคเฉ‡ RSA เจ•เฉเฉฐเจœเฉ€ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจตเจพเจฐ เจ‡เฉฑเจ• เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเจผเจฐเฉ‚เจฐเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจฒเจˆ new_nonce. เจชเจฐ เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจ‡เจน เจชเฉเจฐเจคเฉ€เจค เจนเฉเฉฐเจฆเจพ เจธเจงเจพเจฐเจจ เจ•เจพเจฐเจตเจพเจˆ เจธเจซเจฒ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เฉ€, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจธ เจšเฉ€เจœเจผ เจฆเจพ เจธเจพเจฎเฉเจนเจฃเจพ เจ•เจฐเจจเจพ เจชเจตเฉ‡เจ—เจพ?

เจตเฉˆเจธเฉ€เจฒเฉ€, [20.06.18/00/26 XNUMX:XNUMX] เจฎเฉˆเจ‚ เจ…เจœเฉ‡ เจคเฉฑเจ• เจเจชเจฟเจก เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจนเฉˆ

เจฎเฉˆเจ‚ เจ‡เจน เจฌเฉ‡เจจเจคเฉ€ เจกเฉ€.เจเจš

เจ…เจคเฉ‡, เจŸเฉเจฐเจพเจ‚เจธเจชเฉ‹เจฐเจŸ เจกเฉŒเจ• เจตเจฟเฉฑเจš เจ‡เจน เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจ•เฉ‹เจก เจฆเฉ‡ 4 เจฌเจพเจˆเจŸเจธ เจจเจพเจฒ เจœเจตเจพเจฌ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆ. เจ‡เจน เจธเจญ เจนเฉˆ

เจ–เฉˆเจฐ, เจ‰เจธเจจเฉ‡ เจฎเฉˆเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฟเจ† -404, เจคเจพเจ‚ เจ•เฉ€?

เจ‡เจธ เจฒเจˆ เจฎเฉˆเจ‚ เจ‰เจธเจจเฉ‚เฉฐ เจ•เจฟเจนเจพ: "เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ‡ เจซเจฟเฉฐเจ—เจฐเจชเฉเจฐเจฟเฉฐเจŸ เจจเจพเจฒ เจธเจฐเจตเจฐ เจ•เฉเฉฐเจœเฉ€ เจจเจพเจฒ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ•เฉ€เจคเฉ€ เจ†เจชเจฃเฉ€ เจฌเฉเฉฑเจฒเจฟเจธเจผเจŸ เจจเฉ‚เฉฐ เจซเฉœเฉ‹, เจฎเฉˆเจจเฉ‚เฉฐ DH เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ," เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‡ เจ‡เฉฑเจ• เจฎเฉ‚เจฐเจ– 404 เจจเจพเจฒ เจœเจตเจพเจฌ เจฆเจฟเฉฑเจคเจพ

เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจธเจฐเจตเจฐ เจœเจตเจพเจฌ เจฌเจพเจฐเฉ‡ เจ•เฉ€ เจธเฉ‹เจšเฉ‹เจ—เฉ‡? เจฎเฉˆเจ‚ เจ•เฉ€ เจ•เจฐเจพเจ‚? เจ•เฉ‹เจˆ เจชเฉเฉฑเจ›เจฃ เจตเจพเจฒเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ (เจชเจฐ เจฆเฉ‚เจœเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš เจ‡เจธ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ)เฅค

เจเจฅเฉ‡ เจธเจพเจฐเจพ เจตเจฟเจ†เจœ เจกเฉฑเจ•เฉ‡ 'เจคเฉ‡ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ

เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจ•เจฐเจจ เจฒเจˆ เจนเฉ‹เจฐ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจฎเฉˆเจ‚ เจธเจฟเจฐเจซ เจจเฉฐเจฌเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจ…เจคเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจฌเจฆเจฒเจฃ เจฆเจพ เจธเฉเจชเจจเจพ เจฆเฉ‡เจ–เจฟเจ† เจนเฉˆ

เจฆเฉ‹ 32 เจฌเจฟเฉฑเจŸ เจจเฉฐเจฌเจฐเฅค เจฎเฉˆเจ‚ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจนเจฐ เจ•เจฟเจธเฉ‡ เจตเจพเจ‚เจ— เจชเฉˆเจ• เจ•เฉ€เจคเจพ

เจชเจฐ เจจเจนเฉ€เจ‚, เจ‡เจนเจจเจพเจ‚ เจฆเฉ‹เจตเจพเจ‚ เจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ BE เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฒเจพเจˆเจจ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ

Vadim Goncharov, [20.06.18 15:49] เจ…เจคเฉ‡ เจ‡เจธ เจ•เจฐเจ•เฉ‡ 404?

เจตเฉˆเจธเฉ€เจฒเฉ€, [20.06.18 15:49] เจนเจพเจ‚!

Vadim Goncharov, [20.06.18 15:50] เจ‡เจธ เจฒเจˆ เจฎเฉˆเจจเฉ‚เฉฐ เจธเจฎเจ เจจเจนเฉ€เจ‚ เจ†เจ‰เจ‚เจฆเฉ€ เจ•เจฟ เจ‰เจน เจ•เฉ€ "เจฒเฉฑเจญ เจจเจนเฉ€เจ‚ เจธเจ•เจฟเจ†"

เจตเฉˆเจธเฉ€เจฒเฉ€, [20.06.18 15:50] เจฒเจ—เจญเจ—

เจฎเฉˆเจ‚ เจชเฉเจฐเจฎเฉเฉฑเจ– เจ•เจพเจฐเจ•เจพเจ‚% เจตเจฟเฉฑเจš เจ…เจœเจฟเจนเจพ เจตเจฟเจ˜เจจ เจจเจนเฉ€เจ‚ เจฒเฉฑเจญ เจธเจ•เจฟเจ†)

เจ…เจธเฉ€เจ‚ เจ—เจฒเจคเฉ€ เจฐเจฟเจชเฉ‹เจฐเจŸเจฟเฉฐเจ— เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจตเฉ€ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ

เจตเฉˆเจธเฉ€เจฒเฉ€, [20.06.18 20:18] เจ“, เจ‡เฉฑเจฅเฉ‡ MD5 เจตเฉ€ เจนเฉˆเฅค เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจคเจฟเฉฐเจจ เจตเฉฑเจ–-เจตเฉฑเจ– เจนเฉˆเจธเจผ

เจ•เฉเฉฐเจœเฉ€ เจซเจฟเฉฐเจ—เจฐเจชเฉเจฐเจฟเฉฐเจŸ เจฆเฉ€ เจ—เจฃเจจเจพ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ:

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

SHA1 เจ…เจคเฉ‡ sha2

เจ‡เจธ เจฒเจˆ เจ‡เจธ เจจเฉ‚เฉฐ เจชเจพ เจฆเจฟเจ“ auth_key เจ…เจธเฉ€เจ‚ เจกเจฟเจซเฉ€-เจนเฉ‡เจฒเจฎเฉˆเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ†เจ•เจพเจฐ เจตเจฟเฉฑเจš 2048 เจฌเจฟเฉฑเจŸ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ‡เฅค เจ…เฉฑเจ—เฉ‡ เจ•เฉ€ เจนเฉˆ? เจ…เฉฑเจ—เฉ‡ เจ…เจธเฉ€เจ‚ เจ–เฉ‹เจœเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‡เจธ เจ•เฉเฉฐเจœเฉ€ เจฆเฉ‡ เจนเฉ‡เจ เจฒเฉ‡ 1024 เจฌเจฟเฉฑเจŸ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจจเจนเฉ€เจ‚ เจตเจฐเจคเฉ‡ เจ—เจ เจนเจจ... เจชเจฐ เจ†เจ“ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจนเฉเจฃเฉ‡ เจธเฉ‹เจšเฉ€เจเฅค เจ‡เจธ เจชเฉœเจพเจ… 'เจคเฉ‡, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจฐเจตเจฐ เจจเจพเจฒ เจธเจพเจ‚เจเจพ เจฐเจพเจœเจผ เจนเฉˆเฅค TLS เจธเฉˆเจธเจผเจจ เจฆเจพ เจ‡เฉฑเจ• เจเจจเจพเจฒเจพเจ— เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจฎเจนเจฟเฉฐเจ—เจพ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจนเฉˆ. เจชเจฐ เจธเจฐเจตเจฐ เจ…เจœเฉ‡ เจตเฉ€ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจœเจพเจฃเจฆเจพ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ•เฉŒเจฃ เจนเจพเจ‚! เจ…เจœเฉ‡ เจจเจนเฉ€เจ‚, เจ…เจธเจฒ เจตเจฟเฉฑเจš. เจ…เจงเจฟเจ•เจพเจฐ. เจ‰เจน. เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ โ€œเจฒเฉŒเจ—เจฟเจจ-เจชเจพเจธเจตเจฐเจกโ€ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเฉ‹เจšเจฟเจ† เจธเฉ€, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจตเจพเจฐ ICQ เจตเจฟเฉฑเจš เจ•เฉ€เจคเจพ เจธเฉ€, เจœเจพเจ‚ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ โ€œเจฒเฉŒเจ—เจฟเจจ-เจ•เฉเฉฐเจœเฉ€โ€, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ SSH เจตเจฟเฉฑเจš (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ•เฉเจ เจ—เจฟเจŸเจฒเจฌ/เจ—เจฟเจฅเจฌ เจ‰เฉฑเจคเฉ‡)เฅค เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ…เจ—เจฟเจ†เจค เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจ‡เจ†เฅค เจœเฉ‡ เจธเจฐเจตเจฐ เจธเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฆเจพ เจนเฉˆ เจ•เจฟ "เจ‡เจน เจซเจผเฉ‹เจจ เจจเฉฐเจฌเจฐ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ DC เจฆเฉเจ†เจฐเจพ เจธเฉ‡เจตเจพ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ"? เจœเจพเจ‚ เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ "เจคเฉเจนเจพเจกเฉ‡ เจซเจผเฉ‹เจจ เจจเฉฐเจฌเจฐ 'เจคเฉ‡ เจชเจพเจฌเฉฐเจฆเฉ€ เจฒเจ—เจพเจˆ เจ—เจˆ เจนเฉˆ"? เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจ…เจธเฉ€เจ‚ เจ‡เจน เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจ‡เจธ เจ‰เจฎเฉ€เจฆ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฃเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ เจ‰เจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ–เจฐเจพเจฌ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจฐเจฟเจœเจผเจฐเจตเฉ‡เจธเจผเจจ เจจเจพเจฒ "เจชเฉเจฐเจพเจชเจค" เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ•เฉ€ เจ…เจธเฉ€เจ‚ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจญเจฐเฉ‹เจธเจพ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚? เจ•เฉ€ เจœเฉ‡ เจ‡เจน เจœเจพเจ…เจฒเฉ€ เจนเฉˆ? เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจœเจพเจ‚เจšเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€:

เจตเฉˆเจธเฉ€เจฒเฉ€, [21.06.18 17:53] เจ‰เจน เจฎเฉ‹เจฌเจพเจˆเจฒ เจ—เจพเจนเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฎเฉเฉฑเจ–เจคเจพ% เจฒเจˆ 2kbit เจจเฉฐเจฌเจฐ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจจ)

เจชเจฐ เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉ€ เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจจเจซเฉ€เจœเฉ‹เจ†

เจตเฉˆเจธเฉ€เจฒเฉ€, [21.06.18 18:02] เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ‡เจน เจจเจนเฉ€เจ‚ เจฆเฉฑเจธเจฆเจพ เจนเฉˆ เจ•เจฟ เจœเฉ‡ เจ‡เจน เจธเจงเจพเจฐเจจ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจคเจพเจ‚ เจ•เฉ€ เจ•เจฐเจจเจพ เจนเฉˆ

เจ•เจฟเจนเจพ เจจเจนเฉ€เจ‚เฅค เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ เจ…เจงเจฟเจ•เจพเจฐเจค เจเจ‚เจกเจฐเฉŒเจ‡เจก เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‡เจธ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจ•เฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ? เจ เจœเฉ‹ เจ•เจฟ เจนเฉˆ (เจ…เจคเฉ‡ เจนเจพเจ‚, เจชเฉ‚เจฐเฉ€ เจซเจพเจˆเจฒ เจฆเจฟเจฒเจšเจธเจช เจนเฉˆ) - เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจน เจ•เจนเจฟเฉฐเจฆเฉ‡ เจนเจจ, เจฎเฉˆเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจฅเฉ‡ เจ›เฉฑเจกเจพเจ‚เจ—เจพ:

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

เจจเจนเฉ€เจ‚, เจฌเฉ‡เจธเจผเฉฑเจ• เจ‡เจน เจ…เจœเฉ‡ เจตเฉ€ เจ‰เฉฑเจฅเฉ‡ เจนเฉˆ เจ•เฉเฉฑเจ เจ•เจฟเจธเฉ‡ เจจเฉฐเจฌเจฐ เจฆเฉ€ เจชเฉเจฐเจฎเฉเฉฑเจ–เจคเจพ เจฒเจˆ เจŸเฉˆเจธเจŸ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจชเจฐ เจจเจฟเฉฑเจœเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเฉ‡เจฐเฉ‡ เจ•เฉ‹เจฒ เจนเฉเจฃ เจ—เจฃเจฟเจค เจฆเจพ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ เจ—เจฟเจ†เจจ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ เฉ€เจ• เจนเฉˆ, เจธเจพเจจเฉ‚เฉฐ เจฎเจพเจธเจŸเจฐ เจ•เฉเฉฐเจœเฉ€ เจฎเจฟเจฒ เจ—เจˆ เจนเฉˆเฅค เจฒเฉŒเจ— เจ‡เจจ เจ•เจฐเจจ เจฒเจˆ, i.e. เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเฉ‹, เจคเฉเจนเจพเจจเฉ‚เฉฐ AES เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจนเฉ‹เจฐ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจฎเฉˆเจธเฉ‡เจœ เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจฎเฉˆเจธเฉ‡เจœ เจฌเจพเจกเฉ€ เจฆเฉ‡ SHA128 เจฆเฉ‡ 256 เจฎเฉฑเจง เจฌเจฟเฉฑเจŸเจพเจ‚ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ (เจธเจฎเฉ‡เจค เจธเจผเฉˆเจธเจผเจจ, เจธเฉเจจเฉ‡เจนเจพ ID, เจ†เจฆเจฟ), เจชเฉˆเจกเจฟเฉฐเจ— เจฌเจพเจˆเจŸเจพเจ‚ เจธเจฎเฉ‡เจค, เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจ•เฉเฉฐเจœเฉ€ เจคเฉ‹เจ‚ เจฒเจ เจ—เจ 32 เจฌเจพเจˆเจŸเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจชเจนเจฟเจฒเจพเจ‚-เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ‡ เจ—เจเฅค

เจตเฉˆเจธเฉ€เจฒเฉ€, [22.06.18 14:08] เจ”เจธเจค, เจ•เฉเฉฑเจ•เฉœ, เจฌเจฟเฉฑเจŸ

เจฎเจฟเจฒเฉ€ auth_key. เจธเจพเจฐเฉ‡เฅค เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจชเจฐเฉ‡... เจ‡เจน เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจคเฉ‹เจ‚ เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจ•เฉ‹เจก เจฆเจพ เจ…เจงเจฟเจเจจ เจ•เจฐเจจ เจฒเจˆ เจฌเฉ‡เจเจฟเจœเจ• เจฎเจนเจฟเจธเฉ‚เจธ เจ•เจฐเฉ‹เฅค

เจจเฉ‹เจŸ เจ•เจฐเฉ‹ เจ•เจฟ MTProto 2.0 เจจเฉ‚เฉฐ เจชเฉˆเจกเจฟเฉฐเจ— เจฆเฉ‡ 12 เจคเฉ‹เจ‚ 1024 เจฌเจพเจˆเจŸเจธ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจซเจฟเจฐ เจตเฉ€ เจ‡เจธ เจธเจผเจฐเจค เจฆเฉ‡ เจ…เจงเฉ€เจจ เจนเฉˆ เจ•เจฟ เจจเจคเฉ€เจœเฉ‡ เจตเจœเฉ‹เจ‚ เจธเฉฐเจฆเฉ‡เจธเจผ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ 16 เจฌเจพเจˆเจŸเจพเจ‚ เจจเจพเจฒ เจตเฉฐเจกเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเฉฐเจจเจพ เจชเฉˆเจกเจฟเฉฐเจ— เจœเฉ‹เฉœเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ?

เจ…เจคเฉ‡ เจนเจพเจ‚, เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• 404 เจตเฉ€ เจนเฉˆ

เจœเฉ‡เจ•เจฐ เจ•เจฟเจธเฉ‡ เจจเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฆเฉ‡ เจšเจฟเฉฑเจคเจฐ เจ…เจคเฉ‡ เจŸเฉˆเจ•เจธเจŸ เจฆเจพ เจงเจฟเจ†เจจ เจจเจพเจฒ เจ…เจงเจฟเจเจจ เจ•เฉ€เจคเจพ, เจคเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจฆเฉ‡เจ–เจฟเจ† เจ•เจฟ เจ‰เฉฑเจฅเฉ‡ เจ•เฉ‹เจˆ MAC เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เจน เจ•เจฟ AES เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ–เจพเจธ IGE เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‹ เจ•เจฟ เจนเฉ‹เจฐ เจ•เจฟเจคเฉ‡ เจจเจนเฉ€เจ‚ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‰เจน, เจฌเฉ‡เจธเจผเฉฑเจ•, เจ†เจชเจฃเฉ‡ เจ…เจ•เจธเจฐ เจชเฉเฉฑเจ›เฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจธเจตเจพเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เจธ เจฌเจพเจฐเฉ‡ เจฒเจฟเจ–เจฆเฉ‡ เจนเจจ... เจ‡เฉฑเจฅเฉ‡, เจœเจฟเจตเฉ‡เจ‚, เจธเฉเจจเฉ‡เจนเจพ เจ•เฉเฉฐเจœเฉ€ เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจกเฉ€เจ•เฉเจฐเจฟเจชเจŸ เจ•เฉ€เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ€ SHA เจนเฉˆเจธเจผ เจตเฉ€ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ‡เจ•เจธเจพเจฐเจคเจพ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ - เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฌเฉ‡เจฎเฉ‡เจฒ เจนเฉ‹เจฃ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ•เจฟเจธเฉ‡ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจšเฉเฉฑเจชเจšเจพเจช เจจเจœเจผเจฐเจ…เฉฐเจฆเจพเจœเจผ เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ (เจชเจฐ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฌเจพเจฐเฉ‡ เจ•เฉ€, เจœเฉ‡ เจ‰เจน เจธเจพเจจเฉ‚เฉฐ เจคเฉ‹เฉœ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจจ?)

เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฐ เจจเจนเฉ€เจ‚ เจนเจพเจ‚, เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจฟเจงเจพเจ‚เจคเจ• เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚ เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจ‡เจธ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจ•เฉเจ เจตเฉ€ เจ—เจฒเจค เจจเจนเฉ€เจ‚ เจนเฉˆ. เจชเจฐ เจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจตเจฟเจนเจพเจฐเจ• เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจจเจพเจฎ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเจพเจ‚เฅค เจ‡เจน เจธเจฅเจพเจจเจ• เจ•เฉˆเจธเจผ (เจ‡เจน เจธเจพเจฐเฉ‡ D877F783D5D3EF8C) เจจเฉ‚เฉฐ เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ MTProto (เจธเจฟเจฐเจซเจผ เจ‡เจธ เจ•เฉ‡เจธ เจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ 1.0 เจตเจฟเฉฑเจš), เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจธเฉเจจเฉ‡เจนเฉ‡เฅค เจชเจนเจฟเจฒเจพเจ‚ เจธเฉเจจเฉ‡เจนเจพ เจ•เฉเฉฐเจœเฉ€, เจซเจฟเจฐ เจกเฉ‡เจŸเจพ เจ†เจชเจฃเฉ‡ เจ†เจช (เจ…เจคเฉ‡ เจ•เจฟเจคเฉ‡ เจ‡เฉฑเจ• เจชเจพเจธเฉ‡ เจฎเฉเฉฑเจ– เจตเฉฑเจกเจพ auth_key 256 เจฌเจพเจˆเจŸ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ msg_key เจฌเฉ‡เจ•เจพเจฐ). เจ‡เจธ เจฒเจˆ, เจธเจฎเฉฑเจธเจฟเจ† เจตเฉฑเจกเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจฌเจฃ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ. เจ…เจฐเจฅเจพเจค, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพ เจฆเฉ€เจ†เจ‚ เจฆเฉ‹ เจ•เจพเจชเฉ€เจ†เจ‚ เจฐเฉฑเจ–เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ - เจเจจเจ•เฉเจฐเจฟเจชเจŸเจก เจ…เจคเฉ‡ เจกเฉ€เจ•เฉเจฐเจฟเจชเจŸเจกเฅค เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจฎเฉˆเจ—เจพเจฌเจพเจˆเจŸ, เจœเจพเจ‚ เจธเจŸเฉเจฐเฉ€เจฎเจฟเฉฐเจ— เจตเฉ€เจกเฉ€เจ“ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ?... เจธเจพเจˆเจซเจฐเจŸเฉˆเจ•เจธเจŸ เจฆเฉ‡ เจฌเจพเจ…เจฆ MAC เจจเจพเจฒ เจ•เจฒเจพเจธเจฟเจ• เจธเจ•เฉ€เจฎเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจชเฉเจฐเจธเจพเจฐเจฟเจค เจ•เจฐเจจ, เจ‡เจธเจจเฉ‚เฉฐ เจธเจŸเฉเจฐเฉ€เจฎ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจชเจฐ MTProto เจฆเฉ‡ เจจเจพเจฒ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจ•เจฐเจจเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉ‚เจฐเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡ เจจเฉ‚เฉฐ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจœเจพเจ‚ เจกเฉ€เจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเฉ‹, เจ•เฉ‡เจตเจฒ เจคเจฆ เจนเฉ€ เจ‡เจธเจจเฉ‚เฉฐ เจจเฉˆเจŸเจตเจฐเจ• เจœเจพเจ‚ เจกเจฟเจธเจ• เจคเฉ‡ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐเฉ‹เฅค เจ‡เจธ เจฒเจˆ, เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเจพเจช เจฆเฉ‡ เจจเจตเฉ€เจจเจคเจฎ เจธเฉฐเจธเจ•เจฐเจฃเจพเจ‚ เจตเจฟเฉฑเจš user_data เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจซเจพเจฐเจฎเฉˆเจŸ เจตเฉ€ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ - CTR เจฎเฉ‹เจก เจตเจฟเฉฑเจš AES เจฆเฉ‡ เจจเจพเจฒเฅค

เจตเฉˆเจธเฉ€เจฒเฉ€, [21.06.18 01:27] เจ“เจน, เจฎเฉˆเจจเฉ‚เฉฐ เจชเจคเจพ เจฒเฉฑเจ—เจพ เจ•เจฟ IGE เจ•เฉ€ เจนเฉˆ: IGE เจ‡เฉฑเจ• "เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจฎเฉ‹เจก" เจฆเฉ€ เจชเจนเจฟเจฒเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจธเฉ€, เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เจฐเจฌเฉ‡เจฐเฉ‹เจธ เจฒเจˆเฅค เจ‡เจน เจ‡เฉฑเจ• เจ…เจธเจซเจฒ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจธเฉ€ (เจ‡เจน เจ…เจ–เฉฐเจกเจคเจพ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจชเฉเจฐเจฆเจพเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ€), เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃเจพ เจชเจฟเจ†เฅค เจ‡เจน เจ‡เฉฑเจ• เจชเฉเจฐเจฎเจพเจฃเจฟเจค เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจฎเฉ‹เจก เจฒเจˆ 20 เจธเจพเจฒเจพเจ‚ เจฆเฉ€ เจ–เฉ‹เจœ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจธเฉ€ เจœเฉ‹ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‹ เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš OCB เจ…เจคเฉ‡ GCM เจตเจฐเจ—เฉ‡ เจฎเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจธเจฎเจพเจชเจค เจนเฉ‹เจ‡เจ† เจนเฉˆเฅค

เจ…เจคเฉ‡ เจนเฉเจฃ เจ•เจพเจฐเจŸ เจตเจพเจฒเฉ‡ เจชเจพเจธเฉ‡ เจคเฉ‹เจ‚ เจฆเจฒเฉ€เจฒเจพเจ‚:

เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจฆเฉ€ เจŸเฉ€เจฎ, เจจเจฟเจ•เฉ‹เจฒเจพเจˆ เจฆเฉเจฐเฉ‹เจต เจฆเฉ€ เจ…เจ—เจตเจพเจˆ เจตเจฟเฉฑเจš, เจ›เฉ‡ เจเจธเฉ€เจเจฎ เจšเฉˆเจ‚เจชเฉ€เจ…เจจ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ…เฉฑเจงเฉ‡ เจ—เจฃเจฟเจค เจตเจฟเฉฑเจš เจชเฉ€เจเจš.เจกเฉ€. MTProto เจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจฐเฉ‹เจฒ เจ†เจŠเจŸ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจ—เจญเจ— เจฆเฉ‹ เจธเจพเจฒ เจฒเฉฑเจ—เฉ‡เฅค

เจ‡เจน เจคเจพเจ‚ เจฎเจœเฉ‡เจฆเจพเจฐ เจนเฉˆ. เจนเฉ‡เจ เจฒเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจฆเฉ‹ เจธเจพเจฒ

เจœเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ tls เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเฉ‹

เจ เฉ€เจ• เจนเฉˆ, เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจธเฉ‚เจ–เจฎเจคเจพเจตเจพเจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจนเจจเฅค เจ•เฉ€ เจ…เฉฐเจค เจตเจฟเฉฑเจš TL เจตเจฟเฉฑเจš เจฒเฉœเฉ€เจฌเฉฑเจง เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจญเฉ‡เจœเจฃเจพ เจ…เจคเฉ‡ เจœเจตเจพเจฌเจพเจ‚ เจจเฉ‚เฉฐ เจกเฉ€เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉˆ? เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจ…เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚ เจญเฉ‡เจœเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ? เจ‡เฉฑเจฅเฉ‡, เจฆเฉฑเจธ เจฆเฉ‡เจˆเจ, เจตเจฟเจงเฉ€ initConnection, เจธเจผเจพเจ‡เจฆ เจ‡เจน เจนเฉˆ?

เจตเฉˆเจธเฉ€เจฒเฉ€, [25.06.18 18:46] เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจกเจฟเจตเจพเจˆเจธ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ 'เจคเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจน app_id, device_model, system_version, app_version เจ…เจคเฉ‡ lang_code เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจ…เจคเฉ‡ เจ•เฉเจ เจธเจตเจพเจฒ

เจนเจฎเฉ‡เจธเจผเจพ เจตเจพเจ‚เจ— เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฅค เจ–เฉเฉฑเจฒเฉเจนเฉ‡ เจธเจฐเฉ‹เจค เจฆเจพ เจ…เจงเจฟเจเจจ เจ•เจฐเจจ เจฒเจˆ เจฎเฉเจซเจผเจค เจฎเจนเจฟเจธเฉ‚เจธ เจ•เจฐเฉ‹

เจœเฉ‡เจ•เจฐ invokeWithLayer เจจเจพเจฒ เจธเจญ เจ•เฉเจ เจฒเจ—เจญเจ— เจธเจชเฉฑเจธเจผเจŸ เจธเฉ€, เจคเจพเจ‚ เจ‡เฉฑเจฅเฉ‡ เจ•เฉ€ เจ—เจฒเจค เจนเฉˆ? เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ, เจฎเฉฐเจจ เจฒเจ“ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจนเฉˆ - เจ•เจฒเจพเจ‡เฉฐเจŸ เจ•เฉ‹เจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจชเฉเฉฑเจ›เจฃ เจฒเจˆ เจ•เฉเจ เจธเฉ€ - เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจญเฉ‡เจœเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจธเฉ€:

เจตเฉˆเจธเฉ€เจฒเฉ€, [25.06.18 19:13] เจ•เฉ‹เจก เจฆเฉเจ†เจฐเจพ เจจเจฟเจฐเจฃเจพ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจชเจนเจฟเจฒเฉ€ เจ•เจพเจฒ เจจเฉ‚เฉฐ เจ‡เจธ เจฌเจ•เจตเจพเจธ เจตเจฟเฉฑเจš เจฒเจชเฉ‡เจŸเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจฌเจ•เจตเจพเจธ เจ†เจชเจฃเฉ‡ เจ†เจช เจจเฉ‚เฉฐ เจ‡เจจเจตเฉ‹เจ•เจตเจฟเจฅเจฒเฉ‡เจ…เจฐ เจตเจฟเฉฑเจš เจฒเจชเฉ‡เจŸเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ

initConnection เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเฉ€ เจ•เจพเจฒ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ€, เจชเจฐ เจ‡เฉฑเจ• เจฐเฉˆเจชเจฐ เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ? เจนเจพเจ‚, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจจเจฟเจ•เจฒเจฟเจ†, เจ‡เจน เจนเจฐ เจตเจพเจฐ เจนเจฐ เจธเฉˆเจธเจผเจจ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจจเจพ เจ•เจฟ เจ‡เฉฑเจ• เจตเจพเจฐ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเฉเฉฑเจ– เจ•เฉเฉฐเจœเฉ€ เจฆเฉ‡ เจจเจพเจฒเฅค เจชเจฐ! เจ‡เจธเจจเฉ‚เฉฐ เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉเจ†เจฐเจพ เจจเจนเฉ€เจ‚ เจฌเฉเจฒเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ! เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจ‰เจธ เจชเฉœเจพเจ… 'เจคเฉ‡ เจชเจนเฉเฉฐเจš เจ—เจ เจนเจพเจ‚ เจœเจฟเฉฑเจฅเฉ‡ เจ‡เจน เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ‡เจน เจตเจพเจฒเจพ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ เจชเฉฐเจจเจพ - เจ…เจคเฉ‡ เจ‡เจน เจธเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฆเจพ เจนเฉˆ เจ•เจฟ...

API เจตเจฟเจงเฉ€เจ†เจ‚ เจฆเจพ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจœเจฟเจนเจพ เจนเจฟเฉฑเจธเจพ เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจนเฉˆ:

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

เจ‰เจจเฉเจนเจพเจ‚ เจตเจฟเจšเฉ‹เจ‚ เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, auth.sendCode, เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡ เจ‰เจน เจชเจฟเจ†เจฐเฉ€ เจชเจนเจฟเจฒเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ api_id เจ…เจคเฉ‡ api_hash เจญเฉ‡เจœเจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจ‰เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ•เฉ‹เจก เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• SMS เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจ—เจฒเจค DC เจตเจฟเฉฑเจš เจนเจพเจ‚ (เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ, เจ‡เจธ เจฆเฉ‡เจธเจผ เจตเจฟเฉฑเจš เจŸเฉˆเจฒเฉ€เจซเฉ‹เจจ เจจเฉฐเจฌเจฐ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจฆเฉเจ†เจฐเจพ เจฆเจฟเฉฑเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ), เจคเจพเจ‚ เจธเจพเจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ DC เจฆเฉ‡ เจจเฉฐเจฌเจฐ เจจเจพเจฒ เจ‡เฉฑเจ• เจคเจฐเฉเฉฑเจŸเฉ€ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจ‡เจน เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ DC เจจเฉฐเจฌเจฐ เจฆเฉเจ†เจฐเจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฟเจนเฉœเฉ‡ IP เจชเจคเฉ‡ เจจเจพเจฒ เจœเฉเฉœเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจธเจพเจกเฉ€ เจฎเจฆเจฆ เจ•เจฐเฉ‹ help.getConfig. เจ‡เฉฑเจ• เจธเจฎเฉ‡เจ‚ เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ 5 เจเจ‚เจŸเจฐเฉ€เจ†เจ‚ เจธเจจ, เจชเจฐ 2018 เจฆเฉ‡ เจฎเจธเจผเจนเฉ‚เจฐ เจธเจฎเจพเจ—เจฎเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจ•เจพเจซเจผเฉ€ เจตเจพเจงเจพ เจนเฉ‹เจ‡เจ† เจนเฉˆเฅค

เจนเฉเจฃ เจฏเจพเจฆ เจฐเฉฑเจ–เฉ‹ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจ…เจ—เจฟเจ†เจค เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เจธ เจชเฉœเจพเจ… 'เจคเฉ‡ เจ†เจ เจนเจพเจ‚เฅค เจ•เฉ€ เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• IP เจชเจคเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจฎเจนเจฟเฉฐเจ—เจพ เจจเจนเฉ€เจ‚ เจนเฉˆ? MTProto เจฆเฉ‡ เจ…เจฃ-เจ‡เจจเจ•เฉเจฐเจฟเจชเจŸเจก เจนเจฟเฉฑเจธเฉ‡ เจตเจฟเฉฑเจš, เจ‡เจน เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡? เจฎเฉˆเจ‚ เจ‡เจคเจฐเจพเจœเจผ เจธเฉเจฃเจฆเจพ เจนเจพเจ‚: "เจ…เจธเฉ€เจ‚ เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‡เจน RKN เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเฉ‹ เจเฉ‚เจ เฉ‡ เจชเจคเจฟเจ†เจ‚ เจจเจพเจฒ เจœเจตเจพเจฌ เจฆเฉ‡เจตเฉ‡เจ—เจพ?" เจ‡เจน เจ•เจฐเจจ เจฒเจˆ เจธเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจนเฉˆ เจ•เจฟ, เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจงเจฟเจ•เจพเจฐเจค เจ—เจพเจนเจ• RSA เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจเจฎเจฌเฉ‡เจก เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจนเจจ, i.e. เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจฌเจธ เจ—เจพเจนเจ• เจฌเจฃเฉ‹ เจ‡เจน เจœเจพเจฃเจ•เจพเจฐเฉ€. เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฌเจฒเจพเจ•เจฟเฉฐเจ— เจจเฉ‚เฉฐ เจฌเจพเจˆเจชเจพเจธ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฒเจˆ เจ•เฉ€เจคเจพ เจœเจพ เจฐเจฟเจนเจพ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจ—เจพเจนเจ• เจฆเฉ‚เจœเฉ‡ เจšเฉˆเจจเจฒเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจจ (เจคเจฐเจ• เจจเจพเจฒ, เจ‡เจน MTProto เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจตเฉ€ เจชเจคเจพ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเฉฑเจฅเฉ‡ เจœเฉเฉœเจจเจพ เจนเฉˆ)เฅค

เจ เฉ€เจ• เจนเฉˆ. เจ•เจฒเจพเจ‡เฉฐเจŸ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจฆเฉ‡ เจ‡เจธ เจชเฉœเจพเจ… 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจ…เจœเฉ‡ เจ…เจงเจฟเจ•เจพเจฐเจค เจจเจนเฉ€เจ‚ เจนเจพเจ‚ เจ…เจคเฉ‡ เจธเจพเจกเฉ€ เจ…เจฐเจœเจผเฉ€ เจฐเจœเจฟเจธเจŸเจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจนเฉเจฃเฉ‡ เจ‡เจน เจฆเฉ‡เจ–เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจธเจฐเจตเจฐ เจ…เจฃเจ…เจงเจฟเจ•เจพเจฐเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฒเจˆ เจ‰เจชเจฒเจฌเจง เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจฆเจพ เจ•เฉ€ เจœเจตเจพเจฌ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เฉฑเจฅเฉ‡โ€ฆ

เจตเฉˆเจธเฉ€เจฒเฉ€, [10.07.18 14:45] https://core.telegram.org/method/help.getConfig

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

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

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

เจธเจ•เฉ€เจฎ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจฆเฉ‚เจœเฉ‡ เจจเฉฐเจฌเจฐ 'เจคเฉ‡ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ

tdesktop เจธเจ•เฉ€เจฎเจพ เจตเจฟเฉฑเจš เจคเฉ€เจœเจพ เจฎเฉเฉฑเจฒ เจนเฉˆ

เจนเจพเจ‚, เจ‰เจฆเฉ‹เจ‚ เจคเฉ‹เจ‚, เจฌเฉ‡เจธเจผเจ•, เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ. เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‡เจน เจœเจฒเจฆเฉ€ เจนเฉ€ เจฆเฉเจฌเจพเจฐเจพ เจ…เจชเฉเจฐเจธเฉฐเจ—เจฟเจ• เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจกเจฟเจตเฉˆเจฒเจชเจฐ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจชเจคเจพ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ? เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจ…เจฐเจœเจผเฉ€ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‰เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉ‚เจšเจฟเจค เจ•เจฐเจจเจ—เฉ‡? เจตเฉˆเจธเฉ€เจฒเฉ€ เจจเฉ‡ เจ…เจœเจฟเจนเจพ เจ•เฉ€เจคเจพ, เจชเจฐ เจ…เจซเจผเจธเฉ‹เจธ, เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‡ เจ‰เจธเจจเฉ‚เฉฐ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจญเฉ‡เจœเจฟเจ† (เจฆเฉเจฌเจพเจฐเจพ, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจฆเฉ‚เจœเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡).

...เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ API เจตเจฟเฉฑเจš เจšเจฒเฉ‡ เจ—เจ เจนเจพเจ‚, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจ—เจฒเฉ‡ เจชเฉฑเจงเจฐ เจคเฉฑเจ•, เจ…เจคเฉ‡ MTProto เจตเจฟเจธเจผเฉ‡ เจตเจฟเฉฑเจš เจ•เฉเจ เจ–เฉเฉฐเจ เจ—เจฟเจ†? เจ•เฉ‹เจˆ เจนเฉˆเจฐเจพเจจเฉ€ เจจเจนเฉ€เจ‚:

เจตเฉˆเจธเฉ€เจฒเฉ€, [28.06.18 02:04] เจเจฎ.เจเจฎ., เจ‰เจน e2e 'เจคเฉ‡ เจ•เฉเจ เจเจฒเจ—เฉ‹เจฐเจฟเจฅเจฎเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจฐเจฎเจœ เจ•เจฐ เจฐเจนเฉ‡ เจนเจจเฅค

Mtproto เจฆเฉ‹เจตเจพเจ‚ เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚ เจฒเจˆ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจ…เจคเฉ‡ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจจเจพเจฒ เจนเฉ€ เจ‡เฉฑเจ• เจฐเฉˆเจชเจฐ เจฌเจฃเจคเจฐ เจฆเจพ เจ‡เฉฑเจ• เจฌเจฟเฉฑเจŸ

เจชเจฐ เจ‰เจน เจฒเจ—เจพเจคเจพเจฐ เจธเจŸเฉˆเจ• เจฆเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจชเฉฑเจงเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ, เจ‡เจธ เจฒเจˆ เจ‡เจน เจนเจฎเฉ‡เจธเจผเจพ เจธเจชเฉฑเจธเจผเจŸ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจ•เจฟ mtproto เจ•เจฟเฉฑเจฅเฉ‡ เจ–เจคเจฎ เจนเฉ‹เจ‡เจ† เจ…เจคเฉ‡ เจ…เจ—เจฒเจพ เจชเฉฑเจงเจฐ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจ‡เจ†

เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจฎเจฟเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ? เจ–เฉˆเจฐ, เจ‡เฉฑเจฅเฉ‡ PFS เจฒเจˆ เจ‰เจนเฉ€ เจ…เจธเจฅเจพเจˆ เจ•เฉเฉฐเจœเฉ€ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ (เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ, เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจ…เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ)เฅค เจ‡เจน เจ‡เฉฑเจ• API เจฌเฉ‡เจจเจคเฉ€ เจฆเฉเจ†เจฐเจพ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ auth.bindTempAuthKey, i.e. เจšเฉ‹เจŸเฉ€ เจฆเฉ‡ เจชเฉฑเจงเจฐ เจคเฉ‹เจ‚. เจชเจฐ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เจน เจนเฉ‡เจ เจฒเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจตเจฟเฉฑเจš เจฆเจ–เจฒเจ…เฉฐเจฆเจพเจœเจผเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ - เจ‡เจธเจฆเฉ‡ เจฌเจพเจ…เจฆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ initConnection เจ†เจฆเจฟ, เจ‡เจน เจจเจนเฉ€เจ‚ เจนเฉˆ เจธเจฟเจฐเจซ เจ†เจฎ เจฌเฉ‡เจจเจคเฉ€. เจ–เจพเจธ เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจชเฉเจฐเจคเฉ€ DC เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจ…เจธเจฅเจพเจˆ เจ•เฉเฉฐเจœเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ–เฉ‡เจคเจฐ auth_key_id เจนเจฐเฉ‡เจ• เจธเฉเจจเฉ‡เจนเฉ‡ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจนเจฐเฉ‡เจ• เจธเฉเจจเฉ‡เจนเฉ‡ เจจเฉ‚เฉฐ เจ•เฉเฉฐเจœเฉ€ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจ•เจฟ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฎเฉ‡เจ‚ เจ…เจธเจฅเจพเจˆ เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ "เจญเฉเฉฑเจฒเจฃ" เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐ เจนเฉˆ - เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ‡เจน เจจเจนเฉ€เจ‚ เจฆเฉฑเจธเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจ•เฉ€ เจ•เจฐเจจเจพ เจนเฉˆ... เจ เฉ€เจ• เจนเฉˆ, เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ•เจˆ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเจนเฉ€เจ‚ เจนเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจญเจตเจฟเฉฑเจ– เจฆเฉ‡ เจฒเฉ‚เจฃ เจฆเฉ‡ เจธเฉˆเฉฑเจŸ เจจเจพเจฒ, เจ…เจคเฉ‡?..

MTProto เจฅเฉ€เจฎ เจฌเจพเจฐเฉ‡ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจ•เฉเจ เจนเฉ‹เจฐ เจ—เฉฑเจฒเจพเจ‚ เจนเจจเฅค

เจธเฉเจจเฉ‡เจนเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡, msg_id, msg_seqno, เจชเฉเจธเจผเจŸเฉ€เจ•เจฐเจจ, เจ—เจฒเจค เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจชเจฟเฉฐเจ— เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฎเฉเจนเจพเจตเจฐเฉ‡

เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจจเฉเจนเจพเจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ? เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‰เจน เจ‰เฉฑเจš เจชเฉฑเจงเจฐ 'เจคเฉ‡ "เจฒเฉ€เจ•" เจ•เจฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ API เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจฌเจพเจฐเฉ‡ เจธเฉเจšเฉ‡เจค เจนเฉ‹เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ. เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ msg_key เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจฆเจฟเจฒเจšเจธเจชเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ; เจนเฉ‡เจ เจฒเฉ‡ เจชเฉฑเจงเจฐ เจจเฉ‡ เจธเจพเจกเฉ‡ เจฒเจˆ เจธเจญ เจ•เฉเจ เจกเฉ€เจ•เฉเจฐเจฟเจชเจŸ เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจชเจฐ เจกเฉ€เจ•เฉเจฐเจฟเจชเจŸ เจ•เฉ€เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจ–เฉ‡เจคเจฐ เจนเจจ (เจกเจพเจŸเฉ‡ เจฆเฉ€ เจฒเฉฐเจฌเจพเจˆ เจตเฉ€, เจ‡เจธ เจฒเจˆ เจ…เจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจชเฉˆเจกเจฟเฉฐเจ— เจ•เจฟเฉฑเจฅเฉ‡ เจนเฉˆ, เจชเจฐ เจ‡เจน เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจจเจนเฉ€เจ‚ เจนเฉˆ):

  • เจฒเฉ‚เจฃ - int64
  • เจธเฉˆเจธเจผเจจ_เจ†เจˆเจกเฉ€ - int64
  • เจธเฉเจจเฉ‡เจนเจพ_เจ†เจˆเจกเฉ€ - int64
  • seq_no - int32

เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฏเจพเจฆ เจ•เจฐเจพ เจฆเฉ‡เจˆเจ เจ•เจฟ เจชเฉ‚เจฐเฉ‡ เจกเฉ€เจธเฉ€ เจฒเจˆ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจฒเฉ‚เจฃ เจนเฉˆ. เจ‰เจธ เจฌเจพเจฐเฉ‡ เจ•เจฟเจ‰เจ‚ เจชเจคเจพ? เจธเจฟเจฐเจซเจผ เจ‡เจธ เจฒเจˆ เจจเจนเฉ€เจ‚ เจ•เจฟ เจฌเฉ‡เจจเจคเฉ€ เจนเฉˆ get_future_salts, เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจนเฉœเฉ‡ เจ…เฉฐเจคเจฐเจพเจฒ เจตเฉˆเจง เจนเฉ‹เจฃเจ—เฉ‡, เจชเจฐ เจ‡เจน เจตเฉ€ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเจพ เจฒเฉ‚เจฃ "เจ—เฉฐเจฆเจพ" เจนเฉˆ, เจคเจพเจ‚ เจธเฉเจจเฉ‡เจนเจพ (เจฌเฉ‡เจจเจคเฉ€) เจฌเจธ เจ–เจคเจฎ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เจพเฅค เจธเจฐเจตเจฐ, เจฌเฉ‡เจธเจผเจ•, เจœเจพเจฐเฉ€ เจ•เจฐเจ•เฉ‡ เจจเจตเฉ‡เจ‚ เจจเจฎเจ• เจฆเฉ€ เจฐเจฟเจชเฉ‹เจฐเจŸ เจ•เจฐเฉ‡เจ—เจพ new_session_created - เจชเจฐ เจชเฉเจฐเจพเจฃเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉเจฌเจพเจฐเจพ เจญเฉ‡เจœเจฃเจพ เจชเจตเฉ‡เจ—เจพ, เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆเฅค เจ…เจคเฉ‡ เจ‡เจน เจฎเฉเฉฑเจฆเจพ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจธเฉˆเจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ›เฉฑเจกเจฃ เจ…เจคเฉ‡ เจ•เจˆ เจ•เจพเจฐเจจเจพเจ‚ เจ•เจฐเจ•เฉ‡ เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจœเจตเจพเจฌ เจฆเฉ‡เจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจนเฉˆเฅค เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจ•เจฒเจพเจ‡เฉฐเจŸ เจธเจพเจˆเจก เจคเฉ‹เจ‚ เจ‡เฉฑเจ• MTProto เจธเฉˆเจธเจผเจจ เจ•เฉ€ เจนเฉˆ? เจ‡เจน เจฆเฉ‹ เจจเฉฐเจฌเจฐ เจนเจจ session_id ะธ seq_no เจ‡เจธ เจธเฉˆเจธเจผเจจ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจธเฉเจจเฉ‡เจนเฉ‡เฅค เจ–เฉˆเจฐ, เจ…เจคเฉ‡ เจ…เฉฐเจกเจฐเจฒเจพเจˆเฉฐเจ— TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจ, เจฌเฉ‡เจธเจผเจ•เฅค เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจตเฉ€ เจ‡เจน เจจเจนเฉ€เจ‚ เจชเจคเจพ เจ•เจฟ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจšเฉ€เจœเจผเจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเจจเฉ€เจ†เจ‚ เจนเจจ, เจ‰เจธเจจเฉ‡ เจกเจฟเจธเจ•เจจเฉˆเจ•เจŸ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจฆเฉเจฌเจพเจฐเจพ เจ•เจจเฉˆเจ•เจŸ เจ•เฉ€เจคเจพเฅค เจœเฉ‡ เจ‡เจน เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจตเจพเจชเจฐเจฟเจ† - เจจเจตเฉ‡เจ‚ เจŸเฉ€เจธเฉ€เจชเฉ€ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจตเจฟเฉฑเจš เจชเฉเจฐเจพเจฃเจพ เจธเฉˆเจธเจผเจจ เจœเจพเจฐเฉ€ เจฐเจฟเจนเจพ, เจตเจพเจงเจพ seq_no เจ…เฉฑเจ—เฉ‡. เจœเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจฒเฉฐเจฌเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจฐเจตเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจฎเจฟเจŸเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธเจฆเฉ‡ เจชเจพเจธเฉ‡ เจ‡เจน เจ‡เฉฑเจ• เจ•เจคเจพเจฐ เจตเฉ€ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจชเจคเจพ เจฒเฉฑเจ—เจฟเจ† เจนเฉˆเฅค

เจ‡เจน เจ•เฉ€ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ seq_no? เจ“เจน, เจ‡เจน เจ‡เฉฑเจ• เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจธเจตเจพเจฒ เจนเฉˆ. เจ‡เจฎเจพเจจเจฆเจพเจฐเฉ€ เจจเจพเจฒ เจธเจฎเจเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเฉ‹ เจ•เจฟ เจ•เฉ€ เจฎเจคเจฒเจฌ เจธเฉ€:

เจธเจฎเฉฑเจ—เจฐเฉ€-เจธเจฌเฉฐเจงเจค เจธเฉเจจเฉ‡เจนเจพ

เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจธเจชเจธเจผเจŸ เจชเฉเจฐเจตเจพเจจเจ—เฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ…เจคเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจธเฉ‡เจตเจพ เจธเฉเจจเฉ‡เจนเฉ‡ เจธเจผเจพเจฎเจฒ เจนเจจ, เจฒเจ—เจญเจ— เจธเจพเจฐเฉ‡ เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจ…เจคเฉ‡ เจฎเจพเจจเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ›เฉฑเจก เจ•เฉ‡เฅค

เจธเฉเจจเฉ‡เจนเจพ เจ•เฉเจฐเจฎ เจจเฉฐเจฌเจฐ (msg_seqno)

เจ‡เจธ เจธเฉเจจเฉ‡เจนเฉ‡ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจญเฉ‡เจœเจฃ เจตเจพเจฒเฉ‡ เจฆเฉเจ†เจฐเจพ เจฌเจฃเจพเจ เจ—เจ "เจธเจฎเฉฑเจ—เจฐเฉ€-เจธเฉฐเจฌเฉฐเจงเฉ€" เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ (เจœเจฟเจจเฉเจนเจพเจ‚ เจฒเจˆ เจฐเจธเฉ€เจฆ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เจน เจœเฉ‹ เจ•เฉฐเจŸเฉ‡เจจเจฐ เจจเจนเฉ€เจ‚ เจนเจจ) เจฆเฉ€ เจฆเฉเฉฑเจ—เจฃเฉ€ เจธเฉฐเจ–เจฟเจ† เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจ‡เฉฑเจ• 32-เจฌเจฟเฉฑเจŸ เจจเฉฐเจฌเจฐ เจ…เจคเฉ‡ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฆเฉเจ†เจฐเจพ เจตเจงเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉเจจเฉ‡เจนเจพ เจ‡เฉฑเจ• เจนเฉˆ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจธเฉเจจเฉ‡เจนเจพเฅค เจ‡เฉฑเจ• เจ•เฉฐเจŸเฉ‡เจจเจฐ เจนเจฎเฉ‡เจธเจผเจพ เจ‡เจธเจฆเฉ€ เจธเจฎเจ—เจฐเฉ€ เจฆเฉ‡ เจฌเจพเจ…เจฆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ; เจ‡เจธเจฒเจˆ, เจ‡เจธเจฆเจพ เจ•เฉเจฐเจฎ เจธเฉฐเจ–เจฟเจ† เจ‡เจธ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจธเฉฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ‡ เจ•เฉเจฐเจฎ เจจเฉฐเจฌเจฐเจพเจ‚ เจคเฉ‹เจ‚ เจตเฉฑเจง เจœเจพเจ‚ เจฌเจฐเจพเจฌเจฐ เจนเฉˆเฅค

1 เจฆเฉ‡ เจตเจพเจงเฉ‡ เจจเจพเจฒ เจ‡เจน เจ•เจฟเจธ เจ•เจฟเจธเจฎ เจฆเจพ เจธเจฐเจ•เจธ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ 2 เจฆเฉเจ†เจฐเจพ เจ‡เฉฑเจ• เจนเฉ‹เจฐ?... เจฎเฉˆเจจเฉ‚เฉฐ เจธเจผเฉฑเจ• เจนเฉˆ เจ•เจฟ เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจฎเจคเจฒเจฌ เจธเฉ€ "ACK เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจ˜เฉฑเจŸ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจฌเจฟเฉฑเจŸ, เจฌเจพเจ•เฉ€ เจ‡เฉฑเจ• เจจเฉฐเจฌเจฐ เจนเฉˆ", เจชเจฐ เจจเจคเฉ€เจœเจพ เจฌเจฟเจฒเจ•เฉเจฒ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจน เจฌเจพเจนเจฐ เจ†เจ‰เจ‚เจฆเจพ เจนเฉˆ, เจญเฉ‡เจœเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจˆ เจธเจฎเจพเจจ เจนเฉ‹เจฃ เจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ seq_no! เจ•เจฟเจตเฉ‡เจ‚? เจ–เฉˆเจฐ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจฐเจตเจฐ เจธเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ, เจ‡เจธเจจเฉ‚เฉฐ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจ–เฉเจฆ เจšเฉเฉฑเจช เจฐเจนเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจธเจฟเจฐเจซ เจธเฉ‡เจตเจพ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจจเจพเจฒ เจœเจตเจพเจฌ เจฆเจฟเฉฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เจธเจฆเฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจพเจชเจคเฉ€ เจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚. เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจธเจพเจกเฉ€เจ†เจ‚ เจ†เจŠเจŸเจ—เฉ‹เจ‡เฉฐเจ— เจชเฉเจธเจผเจŸเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ‰เจนเฉ€ เจ†เจŠเจŸเจ—เฉ‹เจ‡เฉฐเจ— เจจเฉฐเจฌเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ TCP เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจนเฉ‹ เจ…เจคเฉ‡ เจธเฉ‹เจšเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‡เจน เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจœเฉฐเจ—เจฒเฉ€ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจน เจฌเจนเฉเจค เจœเฉฐเจ—เจฒเฉ€ เจจเจนเฉ€เจ‚ เจฒเฉฑเจ—เจฆเจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ TCP เจตเจฟเฉฑเจš seq_no เจฌเจฆเจฒเจฆเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจชเฉเจธเจผเจŸเฉ€ เจจเฉ‚เฉฐ เจœเจพเจ‚เจฆเจพ เจนเฉˆ seq_no เจฆเฉ‚เจœเฉ‡ เจชเจพเจธเฉ‡, เจฎเฉˆเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจฐเฉ‡เจธเจผเจพเจจ เจ•เจฐเจจ เจฒเจˆ เจœเจฒเจฆเฉ€ เจ•เจฐเจพเจ‚เจ—เจพเฅค เจชเฉเจธเจผเจŸเฉ€เจ•เจฐเจฃ MTProto เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ เจจเจนเฉ€เจ‚ 'เจคเฉ‡ seq_no, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ TCP เจตเจฟเฉฑเจš, เจชเจฐ เจฆเฉเจ†เจฐเจพ msg_id !

เจ‡เจน เจ•เฉ€ เจนเฉˆ msg_id, เจ‡เจนเจจเจพเจ‚ เจ–เฉ‡เจคเจฐเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจธเจญ เจคเฉ‹เจ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ? เจ‡เฉฑเจ• เจตเจฟเจฒเฉฑเจ–เจฃ เจธเฉเจจเฉ‡เจนเจพ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจจเจพเจฎ เจธเฉเจเจพเจ… เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธเจจเฉ‚เฉฐ 64-เจฌเจฟเฉฑเจŸ เจจเฉฐเจฌเจฐ เจตเจœเฉ‹เจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเจฟเจธ เจฆเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจนเฉ‡เจ เจฒเฉ‡ เจฌเจฟเฉฑเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจฆเฉเจฌเจพเจฐเจพ "เจธเจฐเจตเจฐ-เจจเจพ-เจธเจฐเจตเจฐ" เจฆเจพ เจœเจพเจฆเฉ‚ เจนเฉˆ, เจ…เจคเฉ‡ เจฌเจพเจ•เฉ€ เจ‡เฉฑเจ• เจฏเฉ‚เจจเจฟเจ•เจธ เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช เจนเฉˆ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจซเจฐเฉˆเจ•เจธเจผเจจเจฒ เจนเจฟเฉฑเจธเฉ‡ เจธเจฎเฉ‡เจค, 32 เจฌเจฟเฉฑเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ–เฉฑเจฌเฉ‡ เจชเจพเจธเฉ‡ เจธเจผเจฟเจซเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ‰เจน. เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช เจชเฉเจฐเจคเฉ€ เจธเฉ‡ (เจ…เจคเฉ‡ เจธเจฎเฉ‡เจ‚ เจตเจพเจฒเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡ เจœเฉ‹ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจตเฉฑเจ–เจฐเฉ‡ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจธเจฐเจตเจฐ เจฆเฉเจ†เจฐเจพ เจฐเฉฑเจฆ เจ•เจฐ เจฆเจฟเฉฑเจคเฉ‡ เจœเจพเจฃเจ—เฉ‡)เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจน เจ‡เฉฑเจ• เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจนเฉˆ เจœเฉ‹ เจ—เจพเจนเจ• เจฒเจˆ เจ—เจฒเฉ‹เจฌเจฒ เจนเฉˆ. เจฆเจฟเฉฑเจคเจพ เจœเฉ‹ โ€“ เจฏเจพเจฆ เจ•เจฐเฉ€เจ session_id - เจธเจพเจจเฉ‚เฉฐ เจ—เจฐเฉฐเจŸเฉ€ เจนเฉˆ: เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเฉˆเจธเจผเจจ เจฒเจˆ เจธเฉฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจตเฉฑเจ–เจฐเฉ‡ เจธเฉˆเจธเจผเจจ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจญเฉ‡เจœเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ. เจญเจพเจต, เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจนเฉˆ เจคเจฟเฉฐเจจ เจชเฉฑเจงเจฐ - เจธเฉˆเจธเจผเจจ, เจธเฉˆเจธเจผเจจ เจจเฉฐเจฌเจฐ, เจธเฉเจจเฉ‡เจนเจพ เจ†เจˆ.เจกเฉ€. เจ‡เฉฐเจจเฉ€ เจœเจผเจฟเจ†เจฆเจพ เจชเฉ‡เจšเฉ€เจฆเจ—เฉ€ เจ•เจฟเจ‰เจ‚, เจ‡เจน เจฐเจนเฉฑเจธ เจฌเจนเฉเจค เจฎเจนเจพเจจ เจนเฉˆเฅค

เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, msg_id เจฒเจˆ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเจพ...

RPC: เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚, เจœเจตเจพเจฌ, เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚เฅค เจชเฉเจธเจผเจŸเฉ€เจ•เจฐเจจเฅค

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจฆเฉ‡เจ–เจฟเจ† เจนเฉ‹เจตเฉ‡เจ—เจพ, เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจ•เจฟเจคเฉ‡ เจตเฉ€ เจ•เฉ‹เจˆ เจ–เจพเจธ "เจ‡เฉฑเจ• RPC เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเฉ‹" เจ•เจฟเจธเจฎ เจœเจพเจ‚ เจซเฉฐเจ•เจธเจผเจจ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจœเจตเจพเจฌ เจนเจจเฅค เจ†เจ–เจผเจฐเจ•เจพเจฐ, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจธเฉเจจเฉ‡เจนเฉ‡ เจนเจจ! เจœเฉ‹ เจ•เจฟ เจนเฉˆ, เจ•เฉ‹เจˆ เจตเฉ€ เจธเฉเจจเฉ‡เจนเจพ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ! เจœเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉ‹เจฃเจพเฅค เจ‡เจธ เจธเจญ เจคเฉ‹เจ‚ เจฌเจพเจฆ, เจนเจฐ เจ‡เจ• เจนเฉˆ msg_id. เจชเจฐ เจœเจตเจพเจฌ เจนเจจ:

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

เจ‡เจน เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจ‡เจน เจฆเจฐเจธเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ•เจฟเจธ เจธเฉฐเจฆเฉ‡เจธเจผ เจฆเจพ เจœเจตเจพเจฌ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, API เจฆเฉ‡ เจธเจฟเจ–เจฐเจฒเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจนเฉ‹เจตเฉ‡เจ—เจพ เจ•เจฟ เจคเฉเจนเจพเจกเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจ•เฉ€ เจธเฉ€ - เจฎเฉ‡เจฐเฉ‡ เจ–เจฟเจ†เจฒ เจตเจฟเฉฑเจš เจ‡เจน เจฆเฉฑเจธเจฃ เจฆเฉ€ เจ•เฉ‹เจˆ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ•เฉฐเจฎ เจ…เจธเจฟเฉฐเจ•เจฐเฉ‹เจจเจธ เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚ เจ•เจˆ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจœเจตเจพเจฌ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจตเจพเจชเจธ เจ•เฉ€เจคเฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ? เจธเจฟเจงเจพเจ‚เจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจธ เจคเฉ‹เจ‚ เจ…เจคเฉ‡ เจ—เจฒเจคเฉ€ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ•เฉ‹เจˆ เจ•เจฐเจฎเจšเจพเจฐเฉ€ เจจเจนเฉ€เจ‚, เจ‡เจธ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡ เจฆเฉ€ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ: เจธเจฐเจตเจฐ เจœเฉ‹ เจคเฉเจนเจพเจกเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจ•เจพเจ‡เจฎ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ เจ‡เฉฑเจ• เจซเจฐเฉฐเจŸ-เจเจ‚เจก เจฌเฉˆเจฒเฉ‡เจ‚เจธเจฐ เจนเฉˆ, เจ‡เจน เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฌเฉˆเจ•เจเจ‚เจก เจจเฉ‚เฉฐ เจ…เฉฑเจ—เฉ‡ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ‡เจ•เฉฑเจ เจพ เจ•เจฐเจฆเจพ เจนเฉˆเฅค message_id. เจ…เจœเจฟเจนเจพ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจ•เฉเจ เจธเจชเฉฑเจธเจผเจŸ, เจคเจฐเจ•เจชเฉ‚เจฐเจจ เจ…เจคเฉ‡ เจตเจงเฉ€เจ† เจนเฉˆ.

เจนเจพเจ‚?.. เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจธเฉ‹เจšเจฆเฉ‡ เจนเฉ‹? เจ†เจ–เจผเจฐเจ•เจพเจฐ, RPC เจœเจตเจพเจฌ เจฆเจพ เจตเฉ€ เจ‡เฉฑเจ• เจ–เฉ‡เจคเจฐ เจนเฉˆ msg_id! เจ•เฉ€ เจธเจพเจจเฉ‚เฉฐ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจšเฉ€เจ•เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ "เจคเฉเจธเฉ€เจ‚ เจฎเฉ‡เจฐเฉ‡ เจœเจตเจพเจฌ เจฆเจพ เจœเจตเจพเจฌ เจจเจนเฉ€เจ‚ เจฆเฉ‡ เจฐเจนเฉ‡ เจนเฉ‹!"? เจ…เจคเฉ‡ เจนเจพเจ‚, เจชเฉเจธเจผเจŸเฉ€เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจ•เฉ€ เจธเฉ€? เจชเฉฐเจจเฉ‡ เจฌเจพเจฐเฉ‡ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจนเฉˆ

msgs_ack#62d6b459 msg_ids:Vector long = MsgsAck;

เจ…เจคเฉ‡ เจ‡เจน เจนเจฐ เจชเจพเจธเฉ‡ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ. เจชเจฐ เจนเจฎเฉ‡เจธเจผเจพ เจจเจนเฉ€เจ‚! เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• RpcResult เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ†เจชเจฃเฉ‡ เจ†เจช เจ‡เฉฑเจ• เจชเฉเจธเจผเจŸเฉ€ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจญเจพเจต, เจธเจฐเจตเจฐ เจคเฉเจนเจพเจกเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจฆเจพ MsgsAck เจจเจพเจฒ เจœเจตเจพเจฌ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆ - เจœเจฟเจตเฉ‡เจ‚, "เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจน เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจ‡เจ†เฅค" RpcResult เจคเฉเจฐเฉฐเจค เจœเจตเจพเจฌ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจฆเฉ‹เจตเฉ‡เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค

เจ…เจคเฉ‡ เจนเจพเจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจตเฉ€ เจœเจตเจพเจฌ เจฆเฉ‡เจฃเจพ เจชเจตเฉ‡เจ—เจพ! เจชเฉเจธเจผเจŸเฉ€. เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจธเจฐเจตเจฐ เจ‡เจธเจจเฉ‚เฉฐ เจ…เจฃเจกเจฟเจฒเฉ€เจตเจฐ เจ•เจฐเจจ เจฏเฉ‹เจ— เจธเจฎเจเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเจพเจชเจธ เจญเฉ‡เจœ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค เจฎเฉเฉœ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจตเฉ€. เจชเจฐ เจ‡เฉฑเจฅเฉ‡, เจฌเฉ‡เจธเจผเฉฑเจ•, เจŸเจพเจˆเจฎเจ†เจ‰เจŸ เจฆเจพ เจฎเฉเฉฑเจฆเจพ เจ‰เฉฑเจ เจฆเจพ เจนเฉˆ. เจ†เจ“ เจฅเฉ‹เฉœเฉ€ เจฆเฉ‡เจฐ เจฌเจพเจ…เจฆ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจ.

เจ‡เจธ เจฆเฉŒเจฐเจพเจจ, เจ†เจ‰ เจธเฉฐเจญเจพเจตเจฟเจค เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจคเจฐเฉเจŸเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เฉ€เจเฅค

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

เจ“เจน, เจ•เฉ‹เจˆ เจ•เจนเฉ‡เจ—เจพ, เจ‡เฉฑเจฅเฉ‡ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจฎเจจเฉเฉฑเจ–เฉ€ เจซเจพเจฐเจฎเฉˆเจŸ เจนเฉˆ - เจ‡เฉฑเจ• เจฒเจพเจˆเจจ เจนเฉˆ! เจ†เจชเจฃเจพ เจธเจฎเจพเจ‚ เจฒเฉˆ เจฒเจ“. เจ‡เจฅเฉ‡ เจ—เจฒเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€, เจชเจฐ เจฌเฉ‡เจธเจผเฉฑเจ• เจชเฉ‚เจฐเจพ เจจเจนเฉ€เจ‚เฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจธเจฟเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ•เฉ‹เจก เจนเฉˆ เจ•เฉเจ เจ…เจœเจฟเจนเจพ HTTP เจ—เจฒเจคเฉ€เจ†เจ‚ (เจ เฉ€เจ• เจนเฉˆ, เจฌเฉ‡เจธเจผเฉฑเจ•, เจœเจตเจพเจฌเจพเจ‚ เจฆเฉ‡ เจ…เจฐเจฅ เจตเจฟเจ—เจฟเจ†เจจ เจฆเจพ เจธเจคเจฟเจ•เจพเจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ, เจ•เฉเจ เจธเจฅเจพเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจš เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจจเจพเจฒ เจตเฉฐเจกเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ), เจ…เจคเฉ‡ เจฒเจพเจˆเจจ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเจฟเจ–เจพเจˆ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ CAPITAL_LETTERS_AND_NUMBERS. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, PHONE_NUMBER_OCCUPIED เจœเจพเจ‚ FILE_PART_ะฅ_MISSINGเฅค เจ–เฉˆเจฐ, เจ‡เจน เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจตเฉ€ เจ‡เจธ เจฒเจพเจˆเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉ‹เจเจ—เฉ€ เจชเจพเจฐเจธ. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, FLOOD_WAIT_3600 เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉ‹เจตเฉ‡เจ—เจพ เจ•เจฟ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ˜เฉฐเจŸเจพ เจ‰เจกเฉ€เจ• เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€, เจ…เจคเฉ‡ PHONE_MIGRATE_5, เจ•เจฟ เจ‡เจธ เจ…เจ—เฉ‡เจคเจฐ เจตเจพเจฒเจพ เจ‡เฉฑเจ• เจŸเฉˆเจฒเฉ€เจซเฉ‹เจจ เจจเฉฐเจฌเจฐ 5เจตเฉ‡เจ‚ DC เจตเจฟเฉฑเจš เจฐเจœเจฟเจธเจŸเจฐ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจฆเฉ€ เจญเจพเจธเจผเจพ เจนเฉˆ, เจ เฉ€เจ• เจนเฉˆ? เจธเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจคเจฐ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจฆเจฒเฉ€เจฒ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจจเจฟเจฏเจฎเจค เจฒเฉ‹เจ• เจ•เจฐเจจเจ—เฉ‡, เจ เฉ€เจ• เจนเฉˆเฅค

เจฆเฉเจฌเจพเจฐเจพ เจซเจฟเจฐ, เจ‡เจน เจธเฉ‡เจตเจพ เจธเฉเจจเฉ‡เจนเฉ‡ เจชเฉฐเจจเฉ‡ 'เจคเฉ‡ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจธ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ†เจฎ เจนเฉˆ, เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฒเฉฑเจญเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจชเฉฐเจจเฉ‡ 'เจคเฉ‡. เจœเจพเจ‚ เจธเจผเฉฑเจ• เจชเฉˆเจฆเจพ เจ•เจฐเฉ‹. เจชเจนเจฟเจฒเจพเจ‚, เจฆเฉ‡เจ–เฉ‹, เจŸเจพเจˆเจชเจฟเฉฐเจ—/เจฒเฉ‡เจ…เจฐ เจ‰เจฒเฉฐเจ˜เจฃเจพ - RpcError เจตเจฟเฉฑเจš เจ†เจฒเฉเจนเจฃเจพ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ RpcResult. เจฌเจพเจนเจฐ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚? เจ…เจธเฉ€เจ‚ เจ•เฉ€ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฟเจ†?... เจ‡เจธ เจ…เจจเฉเจธเจพเจฐ, เจ‡เจธเจฆเฉ€ เจ—เจพเจฐเฉฐเจŸเฉ€ เจ•เจฟเฉฑเจฅเฉ‡ เจนเฉˆ RpcError เจตเจฟเฉฑเจš เจเจฎเจฌเฉ‡เจก เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ RpcResult, เจชเจฐ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ•เจฟเจธเจฎ เจตเจฟเฉฑเจš เจธเจฟเฉฑเจงเฉ‡ เจœเจพเจ‚ เจจเฉ‡เจธเจŸเจก เจนเฉ‹?... เจ…เจคเฉ‡ เจœเฉ‡เจ•เจฐ เจ‡เจน เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ, เจคเจพเจ‚ เจ‡เจน เจ‰เฉฑเจš เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจ•เจฟเจ‰เจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจ—เฉเฉฐเจฎ เจนเฉˆ req_msg_id ? ..

เจชเจฐ เจ†เจ“ เจธเฉ‡เจตเจพ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เฉ€เจเฅค เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‡เจน เจธเฉ‹เจš เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจฐเจตเจฐ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจธเฉ‹เจš เจฐเจฟเจนเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจธเจผเจพเจจเจฆเจพเจฐ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ:

rpc_drop_answer#58e4a740 req_msg_id:long = RpcDropAnswer;

เจ‡เจธ เจธเจตเจพเจฒ เจฆเฉ‡ เจคเจฟเฉฐเจจ เจธเฉฐเจญเจพเจตเฉ€ เจœเจตเจพเจฌ เจนเจจ, เจฆเฉเจฌเจพเจฐเจพ เจชเฉเจธเจผเจŸเฉ€เจ•เจฐเจจ เจตเจฟเจงเฉ€ เจจเจพเจฒ เจ•เฉฑเจŸเจฆเฉ‡ เจนเฉ‹เจ; เจ‡เจน เจธเจฎเจเจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจเจพ เจ•เจฟ เจ‰เจน เจ•เฉ€ เจนเฉ‹เจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ (เจ…เจคเฉ‡ เจ•เจฟเจธ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€ เจ†เจฎ เจธเฉ‚เจšเฉ€ เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเฉ€ เจชเฉเจธเจผเจŸเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ) เจจเฉ‚เฉฐ เจนเฉ‹เจฎเจตเจฐเจ• เจตเจœเฉ‹เจ‚ เจชเจพเจ เจ• เจฒเจˆ เจ›เฉฑเจก เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆ (เจจเฉ‹เจŸ: เจตเจฟเฉฑเจš เจœเจพเจฃเจ•เจพเจฐเฉ€ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเจพเจช เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจชเฉ‚เจฐเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ)เฅค

เจจเจธเจผเจพเจ–เฉ‹เจฐเฉ€: เจธเฉเจจเฉ‡เจนเจพ เจธเจฅเจฟเจคเฉ€เจ†เจ‚

เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจŸเฉ€เจเจฒ, เจเจฎเจŸเฉ€เจชเฉเจฐเฉ‹เจŸเฉ‹ เจ…เจคเฉ‡ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจฅเจพเจตเจพเจ‚ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจœเจผเจฟเฉฑเจฆเฉ€ เจฆเฉ€ เจญเจพเจตเจจเจพ เจ›เฉฑเจกเจฆเฉ€เจ†เจ‚ เจนเจจ, เจชเจฐ เจจเจฟเจฎเจฐเจคเจพ, เจ•เฉเจธเจผเจฒเจคเจพ เจ…เจคเฉ‡ เจนเฉ‹เจฐเจพเจ‚ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐเฅค เจธเจพเจซเจŸ เจนเฉเจจเจฐ เจ…เจธเฉ€เจ‚ เจจเจฟเจฎเจฐเจคเจพ เจจเจพเจฒ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจšเฉเฉฑเจช เจฐเจนเฉ‡, เจ…เจคเฉ‡ เจธเฉฐเจตเจพเจฆเจพเจ‚ เจตเจฟเฉฑเจš เจ…เจธเจผเจฒเฉ€เจฒเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉˆเจ‚เจธเจฐ เจ•เฉ€เจคเจพเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจธเจฅเจพเจจะžเจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจชเฉฐเจจเจพ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจนเฉˆ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡ เจ‡เจน เจฎเฉ‡เจฐเฉ‡ เจฒเจˆ เจตเฉ€ เจนเฉˆเจฐเจพเจจ เจ•เจฐเจจ เจตเจพเจฒเจพ เจนเฉˆ, เจœเฉ‹ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจชเฉฑเจงเจฐเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจŸเฉ‡เจขเฉ€เจ†เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจธเจพเจˆเจ•เจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฟเจ† เจนเฉˆเฅค

เจ‡เจน เจจเจฟเจฐเจฆเฉ‹เจธเจผ เจคเฉŒเจฐ 'เจคเฉ‡, เจชเฉเจธเจผเจŸเฉ€เจ•เจฐเจจ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ…เฉฑเจ—เฉ‡ เจ‰เจน เจธเจพเจจเฉ‚เฉฐ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจฆเฉฑเจธเจฆเฉ‡ เจนเจจ

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;

เจ–เฉˆเจฐ, เจนเจฐ เจ•เฉ‹เจˆ เจœเฉ‹ เจเจฎเจŸเฉ€เจชเฉเจฐเฉ‹เจŸเฉ‹ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‰เจนเจจเจพเจ‚ เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เจฃเจพ เจชเจเจ—เจพ; "เจธเจนเฉ€ - เจฎเฉเฉœ-เจ•เฉฐเจชเจพเจˆเจฒเจก - เจฒเจพเจ‚เจš" เจšเฉฑเจ•เจฐ เจตเจฟเฉฑเจš, เจธเฉฐเจชเจพเจฆเจจเจพเจ‚ เจฆเฉŒเจฐเจพเจจ เจ–เจฐเจพเจฌ เจนเฉ‹เจฃ เจตเจฟเฉฑเจš เจ•เจพเจฎเจฏเจพเจฌ เจนเฉ‹เจ เจจเฉฐเจฌเจฐ เจฆเฉ€เจ†เจ‚ เจ—เจฒเจคเฉ€เจ†เจ‚ เจœเจพเจ‚ เจฒเฉ‚เจฃ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจ‡เฉฑเจ• เจ†เจฎ เจ—เฉฑเจฒ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เฉฑเจฅเฉ‡ เจฆเฉ‹ เจจเฉเจ•เจคเฉ‡ เจนเจจ:

  1. เจ‡เจธ เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ…เจธเจฒเฉ€ เจธเฉเจจเฉ‡เจนเจพ เจ–เจคเจฎ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ. เจธเจพเจจเฉ‚เฉฐ เจ•เฉเจ เจ•เจคเจพเจฐเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡เฅค
  2. เจ‡เจน เจ…เจœเฉ€เจฌ เจ—เจฒเจคเฉ€ เจจเฉฐเจฌเจฐ เจ•เฉ€ เจนเจจ? 16, 17, 18, 19, 20, 32, 33, 34, 35, 48, 64... เจนเฉ‹เจฐ เจจเฉฐเจฌเจฐ เจ•เจฟเฉฑเจฅเฉ‡ เจนเจจ, เจŸเฉŒเจฎเฉ€?

เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฆเฉฑเจธเจฆเจพ เจนเฉˆ:

เจ‡เจฐเจพเจฆเจพ เจ‡เจน เจนเฉˆ เจ•เจฟ error_code เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเฉ‚เจนเจฌเฉฑเจง เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ (error_code >> 4): เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ•เฉ‹เจก 0x40 โ€” 0x4f เจ•เฉฐเจŸเฉ‡เจจเจฐ เจธเฉœเจจ เจตเจฟเฉฑเจš เจคเจฐเฉเฉฑเจŸเฉ€เจ†เจ‚ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ‡ เจนเจจเฅค

เจชเจฐ, เจชเจนเจฟเจฒเจพเจ‚, เจฆเฉ‚เจœเฉ€ เจฆเจฟเจธเจผเจพ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจผเจฟเจซเจŸ, เจ…เจคเฉ‡ เจฆเฉ‚เจœเจพ, เจ‡เจธ เจจเจพเจฒ เจ•เฉ‹เจˆ เจซเจฐเจ• เจจเจนเฉ€เจ‚ เจชเฉˆเจ‚เจฆเจพ, เจนเฉ‹เจฐ เจ•เฉ‹เจก เจ•เจฟเฉฑเจฅเฉ‡ เจนเจจ? เจฒเฉ‡เจ–เจ• เจฆเฉ‡ เจธเจฟเจฐ เจตเจฟเฉฑเจš?... เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจฎเจพเจฎเฉ‚เจฒเฉ€ เจนเจจ.

เจธเฉเจจเฉ‡เจนเจพ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผ เจฆเฉ€เจ†เจ‚ เจ•เจพเจชเฉ€เจ†เจ‚ เจฌเจพเจฐเฉ‡ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจจเจธเจผเจพ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ:

  • เจธเฉเจจเฉ‡เจนเจพ เจธเจฅเจฟเจคเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฒเจˆ เจฌเฉ‡เจจเจคเฉ€
    เจœเฉ‡เจ•เจฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจงเจฟเจฐ เจจเฉ‡ เจ•เฉเจ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจ†เจชเจฃเฉ‡ เจฌเจพเจนเจฐ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจฆเฉ‚เจœเฉ€ เจงเจฟเจฐ เจคเฉ‹เจ‚ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆ:
    msgs_state_req#da69fb52 msg_ids:Vector long = MsgsStateReq;
  • เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจตเจพเจฒเจพ เจธเฉเจจเฉ‡เจนเจพ
    msgs_state_info#04deb57d req_msg_id:long info:string = MsgsStateInfo;
    เจ‡เจฅเฉ‡, info เจ‡เฉฑเจ• เจธเจคเจฐ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ†เจ‰เจฃ เจตเจพเจฒเฉ€ msg_ids เจธเฉ‚เจšเฉ€ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจนเจฐเฉ‡เจ• เจธเฉเจจเฉ‡เจนเฉ‡ เจฒเจˆ เจธเฉเจจเฉ‡เจนเจพ เจธเจฅเจฟเจคเฉ€ เจฆเจพ เจฌเจฟเจฒเจ•เฉเจฒ เจ‡เฉฑเจ• เจฌเจพเจˆเจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ:

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

เจšเจฒเฉ‹ เจตเฉ€ เจ•เจฟเจธ เจ—เฉฑเจฒ เจฌเจพเจฐเฉ‡ เจšเฉเฉฑเจช เจฐเจนเฉ€เจ msgs_state_info เจฆเฉเจฌเจพเจฐเจพ เจ…เจงเฉ‚เจฐเฉ‡ TL เจฆเฉ‡ เจ•เฉฐเจจ เจšเจฟเจชเจ• เจฐเจนเฉ‡ เจนเจจ (เจธเจพเจจเฉ‚เฉฐ เจฌเจพเจˆเจŸเจธ เจฆเฉ‡ เจ‡เฉฑเจ• เจตเฉˆเจ•เจŸเจฐ เจฆเฉ€ เจฒเฉ‹เฉœ เจธเฉ€, เจ…เจคเฉ‡ เจนเฉ‡เจ เจฒเฉ‡ เจฆเฉ‹ เจฌเจฟเฉฑเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจเจจเจฎ เจธเฉ€, เจ…เจคเฉ‡ เจ‰เฉฑเจšเฉ‡ เจฆเฉ‹ เจฌเจฟเฉฑเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจซเจฒเฉˆเจ— เจธเจจ)เฅค เจ—เฉฑเจฒ เจตเฉฑเจ–เจฐเฉ€ เจนเฉˆเฅค เจ•เฉ€ เจ•เฉ‹เจˆ เจธเจฎเจเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจธเจญ เจ…เจฎเจฒ เจตเจฟเจš เจ•เจฟเจ‰เจ‚ เจนเฉˆ? เจ‡เฉฑเจ• เจ…เจธเจฒเฉ€ เจ—เจพเจนเจ• เจตเจฟเฉฑเจš เจœเจผเจฐเฉ‚เจฐเฉ€?... เจฎเฉเจธเจผเจ•เจฒ เจจเจพเจฒ, เจชเจฐ เจ•เฉ‹เจˆ เจตเจฟเจ…เจ•เจคเฉ€ เจ•เฉเจ เจฒเจพเจญ เจฆเฉ€ เจ•เจฒเจชเจจเจพ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจตเจฟเจ…เจ•เจคเฉ€ เจกเฉ€เจฌเฉฑเจ—เจฟเฉฐเจ— เจตเจฟเฉฑเจš เจฐเฉเฉฑเจเจฟเจ† เจนเฉ‹เจ‡เจ† เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ‡เฉฐเจŸเจฐเจเจ•เจŸเจฟเจต เจฎเฉ‹เจก เจตเจฟเฉฑเจš - เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจชเฉเฉฑเจ›เฉ‹ เจ•เจฟ เจ•เฉ€ เจ…เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚. เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเจพ เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจธเฉˆเจฐ.

เจ‡เจน เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจนเฉˆ เจ•เจฟ เจนเจฐเฉ‡เจ• เจชเจพเจฐเจŸเฉ€ เจจเฉ‚เฉฐ เจจเจพ เจธเจฟเจฐเจซเจผ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ…เจคเฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผ เจญเฉ‡เจœเจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจ, เจธเจ—เฉ‹เจ‚ เจ†เจชเจฃเฉ‡ เจฌเจพเจฐเฉ‡, เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจœเจตเจพเจฌเจพเจ‚ เจฌเจพเจฐเฉ‡, เจ…เจฃเจœเจพเจฃ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจกเฉ‡เจŸเจพ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ‡เจนเจจเจพเจ‚ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจœเจพเจ‚ เจตเจฟเจนเจพเจฐเจ• เจฒเจพเจ—เฉ‚ เจนเฉ‹เจฃ เจฆเจพ เจตเจฐเจฃเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ•เฉ‹เจˆ เจคเจฐเฉ€เจ•เจพ เจจเจนเฉ€เจ‚. เจธเจญ เจคเฉ‹เจ‚ เจนเฉˆเจฐเจพเจจเฉ€เจœเจจเจ• เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‰เจน เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ…เจงเจฟเจ•เจพเจฐเจค เจ—เจพเจนเจ•เจพเจ‚ เจฆเฉ‡ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ! เจœเจผเจพเจนเจฐ เจนเฉˆ เจ•เจฟ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจ เจ…เจœเจฟเจนเจพ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจœเฉ‹ เจœเจจเจคเจ• เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจธเฉ€เฅค เจ•เฉ‹เจก เจคเฉ‹เจ‚ เจธเจฎเจเฉ‹ เจ•เจฟเจ‰เจ‚, TL เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจนเฉเจฃ เจ‡เฉฐเจจเจพ เจธเจฐเจฒ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจ‡เจน เจ‡เฉฑเจ• (เจฎเฉเจ•เจพเจฌเจฒเจคเจจ) เจคเจฐเจ•เจชเฉ‚เจฐเจจ เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจฒเฉฑเจ—-เจฅเจฒเฉฑเจ— เจนเจฟเฉฑเจธเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจจเจพเจฒ เจฌเฉฐเจจเฉเจนเจฟเจ† เจ‡เฉฑเจ• เจŸเฉเจ•เฉœเจพ, เจฏเจพเจจเฉ€. เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจฒเจˆ เจ•เจพเจซเจผเฉ€ เจœเจผเจฟเจ†เจฆเจพ เจธเจฎเจพเจ‚ เจฒเฉฑเจ—เฉ‡เจ—เจพเฅค

เจชเจฟเฉฐเจ— เจ…เจคเฉ‡ เจธเจฎเจพเจ‚เฅค เจ•เจคเจพเจฐเจพเจ‚เฅค

เจนเจฐ เจšเฉ€เจœเจผ เจคเฉ‹เจ‚, เจœเฉ‡ เจ…เจธเฉ€เจ‚ เจธเจฐเจตเจฐ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ (เจฌเฉˆเจ•เจเจ‚เจก เจตเจฟเฉฑเจš เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจตเฉฐเจก) เจฌเจพเจฐเฉ‡ เจ…เจจเฉเจฎเจพเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฏเจพเจฆ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจฆเฉเจ–เจฆเจพเจˆ เจ—เฉฑเจฒ เจ‡เจน เจนเฉˆ - TCP เจตเจฟเฉฑเจš เจธเจพเจฐเฉ€เจ†เจ‚ เจกเจฟเจฒเจฟเจตเจฐเฉ€ เจ—เจพเจฐเฉฐเจŸเฉ€เจ†เจ‚ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ (เจœเจพเจ‚ เจคเจพเจ‚ เจกเฉ‡เจŸเจพ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เฉฐเจคเจฐ เจฌเจพเจฐเฉ‡ เจธเฉ‚เจšเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ, เจชเจฐ เจธเจฎเฉฑเจธเจฟเจ† เจ†เจ‰เจฃ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจกเฉ‡เจŸเจพ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ), เจœเฉ‹ เจ•เจฟ เจเจฎเจŸเฉ€เจชเฉเจฐเฉ‹เจŸเฉ‹ เจตเจฟเฉฑเจš เจชเฉเจธเจผเจŸเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ - เจ•เฉ‹เจˆ เจ—เจพเจฐเฉฐเจŸเฉ€ เจจเจนเฉ€เจ‚. เจธเจฐเจตเจฐ เจคเฉเจนเจพเจกเฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจ—เฉเจ† เจธเจ•เจฆเจพ เจนเฉˆ เจœเจพเจ‚ เจฌเจพเจนเจฐ เจธเฉเฉฑเจŸ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ, เจฌเจธ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค

เจ…เจคเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ - เจธเฉเจจเฉ‡เจนเจพ เจ•เจคเจพเจฐเจพเจ‚. เจ–เฉˆเจฐ, เจ‡เฉฑเจ• เจšเฉ€เจœเจผ เจจเจพเจฒ เจธเจญ เจ•เฉเจ เจธเจผเฉเจฐเฉ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจธเจชเฉฑเจธเจผเจŸ เจธเฉ€ - เจ‡เฉฑเจ• เจ…เจชเฉเจธเจผเจŸ เจธเฉฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจจเจพเจฐเจพเจœเจผ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ. เจ…เจคเฉ‡ เจ•เจฟเจธ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ? เจ…เจคเฉ‡ เจœเฉˆเจธเจŸเจฐ เจ‰เจธเจจเฉ‚เฉฐ เจœเจพเจฃเจฆเจพ เจนเฉˆ. เจธเจผเจพเจ‡เจฆ เจ‰เจน เจ†เจฆเฉ€ เจธเฉ‡เจตเจพ เจธเฉเจจเฉ‡เจนเฉ‡ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ เจจเจพเจฒ เจนเฉฑเจฒ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจ•เจนเฉ‹, เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐเฉ€ เจฒเจ—เจญเจ— 4 เจ•เจคเจพเจฐเจพเจ‚ เจนเจจ (เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจนเฉ‹เจฐ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจ•เฉ‹เจก เจ…เจคเฉ‡ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจ—เฉฐเจญเฉ€เจฐเจคเจพ เจจเจพเจฒ เจ–เฉ‹เจœเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ; เจ‰เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ เจธเจฎเจพเจ‚, เจ…เจธเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจจเจฎเฉ‚เจจเฉ‡ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจนเฉ€เจ‚ เจฒเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ; MTProto เจธเจ•เฉ€เจฎ เจฆเฉ€เจ†เจ‚ เจ•เฉเจ เจ•เจฟเจธเจฎเจพเจ‚ เจ‡เจธ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจตเจฐเจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ)เฅค

เจ…เจœเจฟเจนเจพ เจ•เจฟเจ‰เจ‚ เจนเฉ‹ เจฐเจฟเจนเจพ เจนเฉˆ? เจธเฉฐเจญเจต เจคเฉŒเจฐ 'เจคเฉ‡, เจธเจฐเจตเจฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐ เจ•เจฒเฉฑเจธเจŸเจฐ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจตเจฟเฉฑเจš เจ…เจธเจฎเจฐเฉฑเจฅ เจธเจจ, เจœเจพเจ‚ เจซเจฐเฉฐเจŸ เจฌเฉˆเจฒเฉˆเจ‚เจธเจฐ 'เจคเฉ‡ เจฌเจซเจฐเจฟเฉฐเจ— เจตเฉ€ เจ•เจฐ เจฐเจนเฉ‡ เจธเจจ, เจ…เจคเฉ‡ เจ‡เจธ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจจเฉ‚เฉฐ เจŸเฉเจฐเจพเจ‚เจธเจซเจฐ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจธเฉ€เฅค เจจเจฟเจฐเจพเจธเจผเจพ เจฆเฉ‡ เจ•เจพเจฐเจจ, เจตเฉˆเจธเฉ€เจฒเฉ€ เจจเฉ‡ เจ‡เฉฑเจ• เจตเจฟเจ•เจฒเจชเจฟเจ• เจตเจฟเจ•เจฒเจช เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€, เจธเจฟเจฐเจซ เจฆเฉ‹ เจ•เจคเจพเจฐเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, TCP เจคเฉ‹เจ‚ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ - เจธเจฐเจตเจฐ เจฒเจˆ RTT เจจเฉ‚เฉฐ เจฎเจพเจชเจฃเจพ เจ…เจคเฉ‡ เจ…เจธเจชเจธเจผเจŸ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ "เจตเจฟเฉฐเจกเฉ‹" (เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจตเจฟเฉฑเจš) เจฆเฉ‡ เจ†เจ•เจพเจฐ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจ•เจฐเจจเจพเฅค เจญเจพเจต, เจธเจฐเจตเจฐ เจฆเฉ‡ เจฒเฉ‹เจก เจฆเจพ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเจจ เจฒเจˆ เจ…เจœเจฟเจนเจพ เจฎเฉ‹เจŸเจพ เจ…เฉฐเจฆเจพเจœเจผเจพ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เจน เจธเจพเจกเฉ€เจ†เจ‚ เจ•เจฟเฉฐเจจเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจšเจฌเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ—เฉเจ† เจจเจนเฉ€เจ‚ เจธเจ•เจฆเจพเฅค

เจ–เฉˆเจฐ, เจ‡เจน เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจธเจฎเจเจฆเฉ‡ เจนเฉ‹, เจ เฉ€เจ• เจนเฉˆ? เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ TCP เจ‰เฉฑเจคเฉ‡ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ TCP เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจนเฉˆ, เจคเจพเจ‚ เจ‡เจน เจ‡เฉฑเจ• เจฌเจนเฉเจค เจนเฉ€ เจฎเจพเฉœเฉ‡ เจขเฉฐเจ— เจจเจพเจฒ เจกเจฟเจœเจผเจพเจˆเจจ เจ•เฉ€เจคเฉ‡ เจชเฉเจฐเฉ‹เจŸเฉ‹เจ•เฉ‹เจฒ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจ“เจน เจนเจพเจ‚, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจ•เจคเจพเจฐเจพเจ‚ เจฆเฉ€ เจ•เจฟเจ‰เจ‚ เจฒเฉ‹เฉœ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ‰เฉฑเจš-เจชเฉฑเจงเจฐเฉ€ API เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจตเจฟเจ…เจ•เจคเฉ€ เจฒเจˆ เจ‡เจธเจฆเจพ เจ•เฉ€ เจฎเจคเจฒเจฌ เจนเฉˆ? เจฆเฉ‡เจ–เฉ‹, เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ‡เจธเจจเฉ‚เฉฐ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจชเจฐ เจ…เจ•เจธเจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจจเจนเฉ€เจ‚ เจญเฉ‡เจœ เจธเจ•เจฆเฉ‡. เจ•เจฟเจ‰เจ‚? เจ•เจฟเจ‰เจ‚เจ•เจฟ เจœเจตเจพเจฌ เจนเฉ‹เจตเฉ‡เจ—เจพ msg_id, เจœเฉ‹ เจ•เจฟ เจ…เจธเจฅเจพเจˆ เจนเฉˆะฐเจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจฒเฉ‡เจฌเจฒ เจนเจพเจ‚, เจœเจฟเจธเจฆเฉ€ เจ…เจธเจพเจˆเจจเจฎเฉˆเจ‚เจŸ เจจเฉ‚เฉฐ เจœเจฟเฉฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เฉ‡ เจฆเฉ‡เจฐ เจคเฉฑเจ• เจฎเฉเจฒเจคเจตเฉ€ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ - เจœเฉ‡เจ•เจฐ เจธเจฐเจตเจฐ เจธเจพเจกเฉ‡ เจ…เจคเฉ‡ เจ‰เจธเจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจธเจฎเฉ‡เจ‚ เจฆเฉ€ เจฎเฉ‡เจฒ เจจเจนเฉ€เจ‚ เจ–เจพเจ‚เจฆเจพ เจนเฉ‹เจฃ เจ•เจพเจฐเจจ เจ‡เจธเจจเฉ‚เฉฐ เจฐเฉฑเจฆ เจ•เจฐเจฆเจพ เจนเฉˆ (เจฌเฉ‡เจธเจผเจ•, เจ…เจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ…เจœเจฟเจนเจพ เจ•เจฐเจพเจš เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจœเฉ‹ เจธเจพเจกเฉ‡ เจธเจฎเฉ‡เจ‚ เจจเฉ‚เฉฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจฌเจฆเจฒเจฆเจพ เจนเฉˆ เจธเจฐเจตเจฐ เจฆเฉ‡ เจœเจตเจพเจฌเจพเจ‚ เจคเฉ‹เจ‚ เจ—เจฟเจฃเจฟเจ† เจ—เจฟเจ† เจกเฉˆเจฒเจŸเจพ เจœเฉ‹เฉœ เจ•เฉ‡ เจธเจฐเจตเจฐ เจตเจฟเฉฑเจš - เจ…เจงเจฟเจ•เจพเจฐเจค เจ—เจพเจนเจ• เจ…เจœเจฟเจนเจพ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจชเจฐ เจ‡เจน เจฌเจซเจฐเจฟเฉฐเจ— เจฆเฉ‡ เจ•เจพเจฐเจจ เจ•เฉฑเจšเจพ เจ…เจคเฉ‡ เจ—เจฒเจค เจนเฉˆ)เฅค เจ‡เจธ เจฒเจˆ, เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจคเฉ‹เจ‚ เจธเจฅเจพเจจเจ• เจซเฉฐเจ•เจธเจผเจจ เจ•เจพเจฒ เจจเจพเจฒ เจฌเฉ‡เจจเจคเฉ€ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจธเฉเจจเฉ‡เจนเจพ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจชเฉœเจพเจตเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเฉฐเจ˜เจฆเจพ เจนเฉˆ:

  1. เจ‡เจน เจ‡เฉฑเจ• เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจนเฉˆ เจ…เจคเฉ‡ เจเจจเจ•เฉเจฐเจฟเจชเจธเจผเจจ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค
  2. เจจเจฟเจฏเฉเจ•เจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† msg_id เจ…เจคเฉ‡ เจธเฉเจจเฉ‡เจนเจพ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ•เจคเจพเจฐ เจตเจฟเฉฑเจš เจšเจฒเจพ เจ—เจฟเจ† - เจธเฉฐเจญเจต เจซเจพเจฐเจตเจฐเจกเจฟเฉฐเจ—; เจธเจพเจ•เจŸ เจจเฉ‚เฉฐ เจญเฉ‡เจœเฉ‹.
  3. a) เจธเจฐเจตเจฐ เจจเฉ‡ MsgsAck เจฆเจพ เจœเจตเจพเจฌ เจฆเจฟเฉฑเจคเจพ - เจธเฉเจจเฉ‡เจนเจพ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจ…เจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ "เจนเฉ‹เจฐ เจ•เจคเจพเจฐ" เจคเฉ‹เจ‚ เจฎเจฟเจŸเจพ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚เฅค
    b) เจœเจพเจ‚ เจ‡เจธเจฆเฉ‡ เจ‰เจฒเจŸ, เจ‰เจธเจจเฉ‚เฉฐ เจ•เฉเจ เจชเจธเฉฐเจฆ เจจเจนเฉ€เจ‚ เจ†เจ‡เจ†, เจ‰เจธเจจเฉ‡ badmsg เจฆเจพ เจœเจตเจพเจฌ เจฆเจฟเฉฑเจคเจพ - "เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ•เจคเจพเจฐ" เจคเฉ‹เจ‚ เจฆเฉเจฌเจพเจฐเจพ เจญเฉ‡เจœเฉ‹
    c) เจ•เฉเจ เจตเฉ€ เจชเจคเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจธเฉฐเจฆเฉ‡เจธเจผ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ•เจคเจพเจฐ เจคเฉ‹เจ‚ เจญเฉ‡เจœเจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ - เจชเจฐ เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจชเจคเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ•เจฆเฉ‹เจ‚.
  4. เจธเจฐเจตเจฐ เจจเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจœเจตเจพเจฌ เจฆเจฟเฉฑเจคเจพ RpcResult - เจ…เจธเจฒ เจœเจตเจพเจฌ (เจœเจพเจ‚ เจ—เจฒเจคเฉ€) - เจจเจพ เจธเจฟเจฐเจซเจผ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ†, เจธเจ—เฉ‹เจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเฉ€ เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค

เจธเจผเจพเจ‡เจฆ, เจ•เฉฐเจŸเฉ‡เจจเจฐเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ…เฉฐเจธเจผเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจนเฉฑเจฒ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจ‰เจฆเฉ‹เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจ‡เฉฑเจ• เจตเจฟเฉฑเจš เจชเฉˆเจ• เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจธเจฐเจตเจฐ เจจเฉ‡ เจ‰เจนเจจเจพเจ‚ เจธเจพเจฐเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจพเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉเจธเจผเจŸเฉ€เจ•เจฐเจฃ เจฆเฉ‡ เจจเจพเจฒ เจœเจตเจพเจฌ เจฆเจฟเฉฑเจคเจพ msg_id. เจชเจฐ เจ‰เจน เจ‡เจธ เจชเฉˆเจ• เจจเฉ‚เฉฐ เจตเฉ€ เจฐเฉฑเจฆ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ, เจœเฉ‡เจ•เจฐ เจ•เฉเจ เจ—เจฒเจค เจนเฉ‹เจ‡เจ† เจนเฉˆ, เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจพเจฒ.

เจ…เจคเฉ‡ เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจ—เฉˆเจฐ-เจคเจ•เจจเฉ€เจ•เฉ€ เจตเจฟเจšเจพเจฐ เจ–เฉ‡เจก เจตเจฟเฉฑเจš เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจ. เจคเจœเจฐเจฌเฉ‡ เจคเฉ‹เจ‚, เจ…เจธเฉ€เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ เจฆเฉ‡เจ–เฉ€เจ†เจ‚ เจนเจจ, เจ…เจคเฉ‡ เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ…เจธเฉ€เจ‚ เจนเฉเจฃ เจฌเฉเจฐเฉ€ เจธเจฒเจพเจน เจ…เจคเฉ‡ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ€เจ†เจ‚ เจนเฉ‹เจฐ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฆเฉ‡เจ–เจพเจ‚เจ—เฉ‡ - เจ…เจœเจฟเจนเฉ€เจ†เจ‚ เจธเจฅเจฟเจคเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš, เจ•เฉ€ เจ‡เจน เจญเจฐเฉ‹เจธเจพ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ…เจœเจฟเจนเฉ‡ เจซเฉˆเจธเจฒเฉ‡ เจฒเฉˆเจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉˆ? เจธเจตเจพเจฒ เจ…เจฒเฉฐเจ•เจพเจฐเจฟเจ• เจนเฉˆ (เจฌเจฟเจฒเจ•เฉเจฒ เจจเจนเฉ€เจ‚)เฅค

เจ…เจธเฉ€เจ‚ เจ•เจฟเจธ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚? เจœเฉ‡เจ•เจฐ "เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฌเจพเจฐเฉ‡ เจกเจฐเฉฑเจ— เจธเฉฐเจฆเฉ‡เจธเจผ" เจฆเฉ‡ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ…เจœเฉ‡ เจตเฉ€ เจ‡เจคเจฐเจพเจœเจผเจพเจ‚ เจจเจพเจฒ เจ…เฉฐเจฆเจพเจœเจผเจพ เจฒเจ—เจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ "เจคเฉเจธเฉ€เจ‚ เจฎเฉ‚เจฐเจ– เจนเฉ‹, เจคเฉเจธเฉ€เจ‚ เจธเจพเจกเฉ€ เจธเจผเจพเจจเจฆเจพเจฐ เจฏเฉ‹เจœเจจเจพ เจจเฉ‚เฉฐ เจจเจนเฉ€เจ‚ เจธเจฎเจเจฟเจ†!" (เจ‡เจธ เจฒเจˆ เจชเจนเจฟเจฒเจพเจ‚ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจฒเจฟเจ–เฉ‹, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ†เจฎ เจฒเฉ‹เจ•เจพเจ‚ เจจเฉ‚เฉฐ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจคเจฐเจ•เจธเจผเฉ€เจฒเจคเจพ เจ…เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจŸ เจเจ•เจธเจšเฉ‡เจ‚เจœ เจฆเฉ€เจ†เจ‚ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจซเจฟเจฐ เจ…เจธเฉ€เจ‚ เจ—เฉฑเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡), เจซเจฟเจฐ เจธเจฎเจพเจ‚/เจŸเจพเจˆเจฎเจ†เจ‰เจŸ เจ‡เฉฑเจ• เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจตเจฟเจนเจพเจฐเจ• เจ…เจคเฉ‡ เจ–เจพเจธ เจธเจตเจพเจฒ เจนเจจ, เจ‡เฉฑเจฅเฉ‡ เจธเจญ เจ•เฉเจ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจธเจพเจจเฉ‚เฉฐ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจคเฉ€ เจฌเจพเจฐเฉ‡ เจ•เฉ€ เจฆเฉฑเจธเจฆเฉ‡ เจนเจจ?

เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• RPC เจœเจตเจพเจฌ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ (เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เฉฑเจ• RPC เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›) เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉฐเจฆเฉ‡เจธเจผ เจฆเฉ€ เจชเฉเจฐเจพเจชเจคเฉ€ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจœเจตเจพเจฌ เจ†เจ‰เจฃ เจตเจฟเฉฑเจš เจฒเฉฐเจฌเจพ เจธเจฎเจพเจ‚ เจนเฉˆ, เจคเจพเจ‚ เจ‡เฉฑเจ• เจธเจฐเจตเจฐ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เฉฑเจ• เจฐเจธเฉ€เจฆ เจฐเจธเฉ€เจฆ เจญเฉ‡เจœ เจธเจ•เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เฉเจ เจนเฉฑเจฆ เจคเฉฑเจ• เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš, RPC เจœเจตเจพเจฌ เจ–เฉเจฆ เจญเฉ‡เจœ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• เจ•เจฒเจพเจ‡เฉฐเจŸ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ…เจ—เจฒเฉ€ RPC เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฐเจธเฉ€เจฆ เจœเฉ‹เฉœ เจ•เฉ‡ เจธเจฐเจตเจฐ (เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เฉฑเจ• RPC เจœเจตเจพเจฌ) เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉฐเจฆเฉ‡เจธเจผ เจฆเฉ€ เจฐเจธเฉ€เจฆ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ‡เจน เจฌเจนเฉเจค เจฆเฉ‡เจฐ เจจเจพเจฒ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ (เจœเฉ‡เจ•เจฐ เจ‡เจน เจ‰เจคเจชเฉฐเจจ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ•เจนเฉ‹, เจฐเจธเฉ€เจฆ เจคเฉ‹เจ‚ 60-120 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฌเจพเจ…เจฆ) เจธเจฐเจตเจฐ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจธเฉฐเจฆเฉ‡เจธเจผ เจฆเจพ) เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจœเฉ‡เจ•เจฐ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจธเฉเจจเฉ‡เจนเฉ‡ เจญเฉ‡เจœเจฃ เจฆเจพ เจ•เฉ‹เจˆ เจ•เจพเจฐเจจ เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเจพเจ‚ เจœเฉ‡เจ•เจฐ เจธเจฐเจตเจฐ เจคเฉ‹เจ‚ เจตเฉฑเจกเฉ€ เจ—เจฟเจฃเจคเฉ€ เจตเจฟเฉฑเจš เจ…เจฃเจชเจ›เจพเจคเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡ เจนเจจ (เจฎเฉฐเจจเฉ‹, 16 เจคเฉ‹เจ‚ เจตเฉฑเจง), เจคเจพเจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‡เจ•เฉฑเจฒเฉ‡-เจ‡เจ•เฉฑเจฒเฉ‡ เจฐเจธเฉ€เจฆ เจชเฉเจฐเจธเจพเจฐเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค

... เจฎเฉˆเจ‚ เจ…เจจเฉเจตเจพเจฆ เจ•เจฐเจฆเจพ เจนเจพเจ‚: เจ…เจธเฉ€เจ‚ เจ–เฉเจฆ เจจเจนเฉ€เจ‚ เจœเจพเจฃเจฆเฉ‡ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจ•เจฟเฉฐเจจเฉ€ เจ…เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚ เจฒเฉ‹เฉœ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจฎเฉฐเจจ เจฒเจ“ เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจนเฉ‹เจฃ เจฆเจฟเจ“เฅค

เจ…เจคเฉ‡ เจชเจฟเฉฐเจ—เจพเจ‚ เจฌเจพเจฐเฉ‡:

เจชเจฟเฉฐเจ— เจธเฉเจจเฉ‡เจนเฉ‡ (เจชเจฟเฉฐเจ—/เจชเฉ‹เจ‚เจ—)

ping#7abe77ec ping_id:long = Pong;

เจœเจตเจพเจฌ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เจธเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ 'เจคเฉ‡ เจตเจพเจชเจธ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ:

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

เจ‡เจนเจจเจพเจ‚ เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฒเจˆ เจฐเจธเฉ€เจฆ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เฉฑเจ• เจชเฉŒเจ‚เจ— เจ•เฉ‡เจตเจฒ เจ‡เฉฑเจ• เจชเจฟเฉฐเจ— เจฆเฉ‡ เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจชเฉเจฐเจธเจพเจฐเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจ‡เฉฑเจ• เจชเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจชเจพเจธเฉ‡ เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจธเจฅเจ—เจค เจ•เจจเฉˆเจ•เจธเจผเจจ เจฌเฉฐเจฆ + เจชเจฟเฉฐเจ—

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

เจชเจฟเฉฐเจ— เจตเจพเจ‚เจ— เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจน เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจธเจฐเจตเจฐ เจ‡เฉฑเจ• เจŸเจพเจˆเจฎเจฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจฎเฉŒเจœเฉ‚เจฆเจพ เจ•เจจเฉˆเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจฌเฉฐเจฆ เจ•เจฐ เจฆเฉ‡เจตเฉ‡เจ—เจพ เจกเจฟเจธเจ•เจจเฉˆเจ•เจŸ_เจฆเฉ‡เจฒเฉ‡ เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฌเจพเจ…เจฆ เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• เจ‡เจน เจ‰เจธเฉ‡ เจ•เจฟเจธเจฎ เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจœเฉ‹ เจ†เจชเจฃเฉ‡ เจ†เจช เจนเฉ€ เจธเจพเจฐเฉ‡ เจชเจฟเจ›เจฒเฉ‡ เจŸเจพเจˆเจฎเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจธเฉˆเจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจนเจฐ 60 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจพเจฐ เจ‡เจน เจชเจฟเฉฐเจ— เจญเฉ‡เจœเจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจกเจฟเจธเจ•เจจเฉˆเจ•เจŸ_เจฆเฉ‡เจฒเฉ‡ เจจเฉ‚เฉฐ 75 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฆเฉ‡ เจฌเจฐเจพเจฌเจฐ เจธเฉˆเฉฑเจŸ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจชเจพเจ—เจฒ เจนเฉ‹?! 60 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจตเจฟเฉฑเจš, เจฐเฉ‡เจฒเจ—เฉฑเจกเฉ€ เจธเจŸเฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉ‹ เจœเจพเจตเฉ‡เจ—เฉ€, เจ‰เจคเจฐเฉ‡เจ—เฉ€ เจ…เจคเฉ‡ เจฏเจพเจคเจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจšเฉเฉฑเจ• เจฒเจตเฉ‡เจ—เฉ€, เจ…เจคเฉ‡ เจฆเฉเจฌเจพเจฐเจพ เจธเฉเจฐเฉฐเจ— เจตเจฟเฉฑเจš เจธเฉฐเจชเจฐเจ• เจŸเฉเฉฑเจŸ เจœเจพเจตเฉ‡เจ—เจพเฅค 120 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจตเจฟเฉฑเจš, เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจธเฉเจฃเจฆเฉ‡ เจนเฉ‹, เจ‡เจน เจ‡เฉฑเจ• เจนเฉ‹เจฐ 'เจคเฉ‡ เจชเจนเฉเฉฐเจš เจœเจพเจตเฉ‡เจ—เจพ, เจ…เจคเฉ‡ เจธเฉฐเจญเจพเจตเจค เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เจจเฉˆเจ•เจธเจผเจจ เจŸเฉเฉฑเจŸ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ–เฉˆเจฐ, เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจฒเฉฑเจคเจพเจ‚ เจ•เจฟเฉฑเจฅเฉ‹เจ‚ เจ† เจฐเจนเฉ€เจ†เจ‚ เจนเจจ - โ€œเจฎเฉˆเจ‚ เจ‡เฉฑเจ• เจ˜เฉฐเจŸเฉ€ เจธเฉเจฃเฉ€, เจชเจฐ เจ‡เจน เจจเจนเฉ€เจ‚ เจชเจคเจพ เจ•เจฟ เจ‡เจน เจ•เจฟเฉฑเจฅเฉ‡ เจนเฉˆโ€, เจ‡เฉฑเจฅเฉ‡ Nagl เจฆเจพ เจเจฒเจ—เฉ‹เจฐเจฟเจฆเจฎ เจ…เจคเฉ‡ TCP_NODELAY เจตเจฟเจ•เจฒเจช เจนเฉˆ, เจœเฉ‹ เจ‡เฉฐเจŸเจฐเจเจ•เจŸเจฟเจต เจ•เฉฐเจฎ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจชเจฐ, เจฎเจพเจซ เจ•เจฐเจจเจพ, เจ‡เจธเจฆเฉ‡ เจฎเฉ‚เจฒ เจฎเฉเฉฑเจฒ - 200 เจจเฉ‚เฉฐ เจซเฉœเฉ€ เจฐเฉฑเจ–เฉ‹ เจฎเจฟเจฒเจฟเจธเจ•เจฟเฉฐเจŸ เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจธเฉฑเจšเจฎเฉเฉฑเจš เจ•เฉเจ เจ…เจœเจฟเจนเจพ เจนเฉ€ เจฆเจฐเจธเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจ•เฉเจ เจธเฉฐเจญเจพเจตเจฟเจค เจชเฉˆเจ•เฉ‡เจŸเจพเจ‚ 'เจคเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ 5 เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฒเจˆ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเจ“, เจœเจพเจ‚ เจœเฉ‹ เจตเฉ€ "เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจŸเจพเจˆเจช เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆ..." เจธเฉเจจเฉ‡เจนเจพ เจธเจฎเจพเจ‚ เจธเจฎเจพเจชเจค เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆเฅค เจชเจฐ เจนเฉ‹เจฐ เจจเจนเฉ€เจ‚เฅค

เจ…เจคเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจชเจฟเฉฐเจ—. เจฏเจพเจจเฉ€, TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉ€ เจธเจœเฉ€เจตเจคเจพ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจเจพเฅค เจ‡เจน เจฎเจœเจผเจพเจ•เฉ€เจ† เจนเฉˆ, เจชเจฐ เจฒเจ—เจญเจ— 10 เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ‚ เจฎเฉˆเจ‚ เจธเจพเจกเฉ‡ เจซเฉˆเจ•เจฒเจŸเฉ€ เจฆเฉ‡ เจกเฉ‹เจฐเจฎ เจฆเฉ‡ เจฎเฉˆเจธเฉ‡เจ‚เจœเจฐ เจฌเจพเจฐเฉ‡ เจ‡เฉฑเจ• เจ†เจฒเฉ‹เจšเจจเจพเจคเจฎเจ• เจŸเฉˆเจ•เจธเจŸ เจฒเจฟเจ–เจฟเจ† เจธเฉ€ - เจ‰เฉฑเจฅเฉ‹เจ‚ เจฆเฉ‡ เจฒเฉ‡เจ–เจ•เจพเจ‚ เจจเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจคเฉ‹เจ‚ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจชเจฟเฉฐเจ— เจตเฉ€ เจ•เฉ€เจคเจพ, เจจเจพ เจ•เจฟ เจ‰เจฒเจŸเฅค เจชเจฐ เจคเฉ€เจœเฉ‡ เจธเจพเจฒ เจฆเฉ‡ เจตเจฟเจฆเจฟเจ†เจฐเจฅเฉ€ เจ‡เฉฑเจ• เจšเฉ€เจœเจผ เจนเจจ, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ…เฉฐเจคเจฐเจฐเจพเจธเจผเจŸเจฐเฉ€ เจฆเจซเจคเจฐ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจนเฉˆ, เจ เฉ€เจ•? ..

เจชเจนเจฟเจฒเจพเจ‚, เจ‡เฉฑเจ• เจ›เฉ‹เจŸเจพ เจœเจฟเจนเจพ เจตเจฟเจฆเจฟเจ…เจ• เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ. เจ‡เฉฑเจ• TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจ, เจชเฉˆเจ•เฉ‡เจŸ เจเจ•เจธเจšเฉ‡เจ‚เจœ เจฆเฉ€ เจ…เจฃเจนเฉ‹เจ‚เจฆ เจตเจฟเฉฑเจš, เจนเจซเจผเจคเจฟเจ†เจ‚ เจฒเจˆ เจฐเจนเจฟ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจ‰เจฆเฉ‡เจธเจผ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เจน เจšเฉฐเจ—เจพ เจ…เจคเฉ‡ เจฎเจพเฉœเจพ เจฆเฉ‹เจตเฉ‡เจ‚ เจนเฉˆเฅค เจ‡เจน เจšเฉฐเจ—เจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจฐเจตเจฐ เจจเจพเจฒ เจ‡เฉฑเจ• SSH เจ•เจจเฉˆเจ•เจธเจผเจจ เจ–เฉเฉฑเจฒเฉเจนเจพ เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจคเฉ‹เจ‚ เจ‰เฉฑเจ เฉ‡, เจฐเจพเจŠเจŸเจฐ เจจเฉ‚เฉฐ เจฐเฉ€เจฌเฉ‚เจŸ เจ•เฉ€เจคเจพ, เจ†เจชเจฃเฉ€ เจœเจ—เฉเจนเจพ 'เจคเฉ‡ เจตเจพเจชเจธ เจ† เจ—เจ - เจ‡เจธ เจธเจฐเจตเจฐ เจฆเฉเจ†เจฐเจพ เจธเฉˆเจธเจผเจจ เจซเจŸเจฟเจ† เจจเจนเฉ€เจ‚ เจธเฉ€ (เจคเฉเจธเฉ€เจ‚ เจ•เฉเจ เจตเฉ€ เจจเจนเฉ€เจ‚ เจŸเจพเจˆเจช เจ•เฉ€เจคเจพ, เจ•เฉ‹เจˆ เจชเฉˆเจ•เฉ‡เจŸ เจจเจนเฉ€เจ‚ เจธเจจ) , เจ‡เจน เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆเฅค เจ‡เจน เจฌเฉเจฐเจพ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจนเจœเจผเจพเจฐเจพเจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸเจธ เจนเจจ, เจนเจฐ เจ‡เฉฑเจ• เจธเจฐเฉ‹เจค เจฒเฉˆ เจฐเจฟเจนเจพ เจนเฉˆ (เจนเฉˆเจฒเฉ‹, เจชเฉ‹เจธเจŸเจ—เฉเจฐเฉ‡เจธ!), เจ…เจคเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจฆเฉ‡ เจนเฉ‹เจธเจŸ เจจเฉ‡ เจฌเจนเฉเจค เจธเจฎเจพเจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจฐเฉ€เจฌเฉ‚เจŸ เจ•เฉ€เจคเจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ - เจชเจฐ เจธเจพเจจเฉ‚เฉฐ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจชเจคเจพ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจšเฉˆเจŸ/IM เจธเจฟเจธเจŸเจฎ เจ‡เฉฑเจ• เจตเจพเจงเฉ‚ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡ เจฆเฉ‚เจœเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจ - เจ”เจจเจฒเจพเจˆเจจ เจธเจฅเจฟเจคเฉ€เจ†เจ‚เฅค เจœเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพ "เจฌเฉฐเจฆ เจนเฉ‹ เจ—เจฟเจ†", เจคเจพเจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจ‰เจธเจฆเฉ‡ เจตเจพเจฐเจคเจพเจ•เจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉ‚เจšเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ. เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ–เจคเจฎ เจนเฉ‹เจตเฉ‹เจ—เฉ‡ เจœเฉ‹ เจœเฉˆเจฌเจฐ เจฆเฉ‡ เจธเจฟเจฐเจœเจฃเจนเจพเจฐเจพเจ‚ เจจเฉ‡ เจ•เฉ€เจคเฉ€ (เจ…เจคเฉ‡ 20 เจธเจพเจฒเจพเจ‚ เจฒเจˆ เจธเฉเจงเจพเจฐเฉ€ เจ—เจˆ) - เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‡ เจกเจฟเจธเจ•เจจเฉˆเจ•เจŸ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจนเฉˆ, เจชเจฐ เจ‰เจน เจ‰เจธเจจเฉ‚เฉฐ เจธเฉฐเจฆเฉ‡เจธเจผ เจฒเจฟเจ–เจฃเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจจ, เจ‡เจน เจตเจฟเจธเจผเจตเจพเจธ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจ‰เจน เจ”เจจเจฒเจพเจˆเจจ เจนเฉˆ (เจœเฉ‹ เจ‡เจนเจจเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจ—เฉเจ†เจš เจ—เจ เจธเจจ) เจกเจฟเจธเจ•เจจเฉˆเจ•เจŸ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจ•เฉเจ เจฎเจฟเฉฐเจŸ เจชเจนเจฟเจฒเจพเจ‚)เฅค เจจเจนเฉ€เจ‚, TCP_KEEPALIVE เจตเจฟเจ•เจฒเจช, เจœเฉ‹ เจ•เจฟ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจฒเฉ‹เจ• เจœเฉ‹ เจ‡เจน เจจเจนเฉ€เจ‚ เจธเจฎเจเจฆเฉ‡ เจนเจจ เจ•เจฟ TCP เจŸเจพเจˆเจฎเจฐ เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ เจฌเฉ‡เจคเจฐเจคเฉ€เจฌเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจธเฉเฉฑเจŸเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ (เจœเฉฐเจ—เจฒเฉ€ เจฎเฉเฉฑเจฒเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฆเจธ เจธเจ•เจฟเฉฐเจŸเจพเจ‚ เจฆเฉ‡ เจธเฉˆเฉฑเจŸ เจ•เจฐเจ•เฉ‡), เจ‡เฉฑเจฅเฉ‡ เจฎเจฆเจฆ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ - เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ•เจฟ เจจเจพ เจธเจฟเจฐเจซเจผ OS เจ•เจฐเจจเจฒ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ€ เจฎเจธเจผเฉ€เจจ เจœเจผเจฟเฉฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐ เจฐเจนเฉ€ เจนเฉˆ, เจœเจตเจพเจฌ เจฆเฉ‡เจฃ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉˆ, เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ–เฉเจฆ (เจ•เฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจซเฉเจฐเฉ€เจœเจผ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ? เจ‰เจฌเฉฐเจŸเฉ‚ 18.04 'เจคเฉ‡ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจกเฉˆเจธเจ•เจŸเฉŒเจช เจฎเฉ‡เจฐเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจตเจพเจฐ เจซเฉเจฐเฉ€เจœเจผ เจนเฉ‹เจ‡เจ† เจนเฉˆ)เฅค

เจ‡เจธ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจฟเฉฐเจ— เจ•เจฐเจจเฉ€ เจชเจตเฉ‡เจ—เฉ€ เจธเจฐเจตเจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ, เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ‰เจฒเจŸ เจจเจนเฉ€เจ‚ - เจœเฉ‡เจ•เจฐ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ…เจœเจฟเจนเจพ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเฉ‡เจ•เจฐ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจŸเฉเฉฑเจŸ เจ—เจฟเจ† เจนเฉˆ, เจชเจฟเฉฐเจ— เจกเจฟเจฒเฉ€เจตเจฐ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€, เจŸเฉ€เจšเจพ เจชเฉเจฐเจพเจชเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจ…เจธเฉ€เจ‚ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ 'เจคเฉ‡ เจ•เฉ€ เจฆเฉ‡เจ–เจฆเฉ‡ เจนเจพเจ‚? เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจฒเจŸ เจนเฉˆ! เจ–เฉˆเจฐ, เจ‡เจน เจนเฉˆ. เจฐเจธเจฎเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡, เจฌเฉ‡เจธเจผเฉฑเจ•, เจฆเฉ‹เจตเฉ‡เจ‚ เจงเจฟเจฐเจพเจ‚ เจ‡เจ• เจฆเฉ‚เจœเฉ‡ เจจเฉ‚เฉฐ เจชเจฟเฉฐเจ— เจ•เจฐ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ. เจ…เจญเจฟเจ†เจธ เจตเจฟเฉฑเจš, เจ—เจพเจนเจ• เจ‡เฉฑเจ• เจฌเฉˆเจธเจพเจ–เฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ ping_delay_disconnect, เจœเฉ‹ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจŸเจพเจˆเจฎเจฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ–เฉˆเจฐ, เจฎเจพเจซ เจ•เจฐเจจเจพ, เจ‡เจน เจซเฉˆเจธเจฒเจพ เจ•เจฐเจจเจพ เจ—เจพเจนเจ• 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ เจ‰เจน เจชเจฟเฉฐเจ— เจคเฉ‹เจ‚ เจฌเจฟเจจเจพเจ‚ เจ•เจฟเฉฐเจจเจพ เจธเจฎเจพเจ‚ เจ‰เจฅเฉ‡ เจฐเจนเจฟเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเฉˆ. เจธเจฐเจตเจฐ, เจ‡เจธเจฆเฉ‡ เจฒเฉ‹เจก เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡, เจฌเจฟเจนเจคเจฐ เจœเจพเจฃเจฆเจพ เจนเฉˆ. เจชเจฐ, เจฌเฉ‡เจธเจผเฉฑเจ•, เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฐเฉ‹เจคเจพเจ‚ 'เจคเฉ‡ เจ•เฉ‹เจˆ เจ‡เจคเจฐเจพเจœเจผ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจ–เฉเจฆ เจฆเฉ‡ เจฆเฉเจธเจผเจŸ เจชเจฟเจจเฉ‹เจšเจฟเจ“ เจนเฉ‹เจตเฉ‹เจ—เฉ‡, เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจฌเฉˆเจธเจพเจ–เฉ€ เจ•เจฐเฉ‡เจ—เฉ€ ...

เจ‡เจธ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจกเจฟเจœเจผเจพเจˆเจจ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจธเฉ€?

เจฎเฉ‡เจฐเจพ เจฎเฉฐเจจเจฃเจพ เจนเฉˆ เจ•เจฟ เจ‰เจชเจฐเฉ‹เจ•เจค เจคเฉฑเจฅ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ เจ•เจฟ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ/VKontakte เจŸเฉ€เจฎ เจ•เฉฐเจชเจฟเจŠเจŸเจฐ เจจเฉˆเจŸเจตเจฐเจ• เจฆเฉ‡ เจŸเฉเจฐเจพเจ‚เจธเจชเฉ‹เจฐเจŸ (เจ…เจคเฉ‡ เจนเฉ‡เจ เจฒเฉ‡) เจชเฉฑเจงเจฐ เจ…เจคเฉ‡ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจ˜เฉฑเจŸ เจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจธเจฎเจฐเฉฑเจฅ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจ‡เจน เจ‡เฉฐเจจเจพ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจ•เจฟเจ‰เจ‚ เจจเจฟเจ•เจฒเจฟเจ†, เจ…เจคเฉ‡ เจŸเฉˆเจฒเฉ€เจ—เฉเจฐเจพเจฎ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจŸ เจ‡เจคเจฐเจพเจœเจผ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจ? เจคเฉฑเจฅ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจ‡เฉฑเจ• เจธเฉˆเจธเจผเจจ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€ เจœเฉ‹ TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฌเจฐเฉ‡เจ•เจพเจ‚ เจคเฉ‹เจ‚ เจฌเจšเจฆเจพ เจนเฉˆ, เจญเจพเจต, เจœเฉ‹ เจนเฉเจฃเฉ‡ เจจเจนเฉ€เจ‚ เจกเจฟเจฒเฉ€เจตเจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจ…เจธเฉ€เจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจพเจ‚เจ—เฉ‡เฅค เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจธเจผเจพเจ‡เจฆ เจ‡เฉฑเจ• UDP เจŸเฉเจฐเจพเจ‚เจธเจชเฉ‹เจฐเจŸ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจตเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€, เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‡ เจฎเฉเจธเจผเจ•เจฒเจพเจ‚ เจฆเจพ เจธเจพเจนเจฎเจฃเจพ เจ•เฉ€เจคเจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ›เฉฑเจก เจฆเจฟเฉฑเจคเจพ (เจ‡เจธเฉ‡ เจฒเจˆ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจ–เจพเจฒเฉ€ เจนเจจ - เจ‡เจธ เจฌเจพเจฐเฉ‡ เจธเจผเฉ‡เจ–เฉ€ เจฎเจพเจฐเจจ เจฒเจˆ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจธเฉ€)เฅค เจชเจฐ เจ‡เจธ เจ—เฉฑเจฒ เจฆเฉ€ เจธเจฎเจ เจฆเฉ€ เจ˜เจพเจŸ เจ•เจพเจฐเจจ เจ•เจฟ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจ…เจคเฉ‡ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ TCP เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ, เจคเฉเจธเฉ€เจ‚ เจ‡เจธ 'เจคเฉ‡ เจ•เจฟเฉฑเจฅเฉ‡ เจญเจฐเฉ‹เจธเจพ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจ•เจฟเฉฑเจฅเฉ‡ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ (เจ…เจคเฉ‡ เจ•เจฟเจตเฉ‡เจ‚), เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเฉ€ เจจเจพเจฒ เจœเฉ‹เฉœเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ "เจฆเฉ‹ เจชเฉฐเจ›เฉ€เจ†เจ‚ เจจเจพเจฒ เจ‡เฉฑเจ• เจชเฉฑเจฅเจฐโ€, เจ‡เจน เจจเจคเฉ€เจœเจพ เจนเฉˆเฅค

เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจœเจผเจฐเฉ‚เจฐเฉ€ เจธเฉ€? เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ msg_id เจฐเฉ€เจชเจฒเฉ‡เจ… เจนเจฎเจฒเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจ•เฉเจฐเจฟเจชเจŸเฉ‹เจ—เฉเจฐเจพเจซเจฟเจ• เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚ เจ‡เฉฑเจ• เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ, เจ‡เจธ เจจเจพเจฒ เจ‡เฉฑเจ• เจตเจฟเจฒเฉฑเจ–เจฃ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจซเฉฐเจ•เจธเจผเจจ เจœเฉ‹เฉœเจจเจพ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฒเจˆ, เจฎเฉŒเจœเฉ‚เจฆเจพ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจจเฉ‚เฉฐ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฆเจฒเฉ‡ เจฌเจฟเจจเจพเจ‚ (เจœเจฆเฉ‹เจ‚ เจ…เฉฑเจชเจกเฉ‡เจŸ เจธเจŸเฉเจฐเฉ€เจฎ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ‡เจน เจชเฉ‹เจธเจŸเจพเจ‚ เจฆเฉ€ เจ‡เจธ เจฒเฉœเฉ€ เจฆเฉ‡ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจนเจฟเฉฑเจธเฉ‡ เจฒเจˆ เจ‡เฉฑเจ• เจ‰เฉฑเจš-เจชเฉฑเจงเจฐเฉ€ API เจตเจฟเจธเจผเจพ เจนเฉˆ), เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจ‡เจน เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€:

  1. เจ—เจพเจนเจ• เจจเฉ‚เฉฐ TCP เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฐเฉฑเจ–เจฃ เจตเจพเจฒเจพ เจธเจฐเจตเจฐ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐเฉ€ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ - เจœเฉ‡เจ•เจฐ เจ‡เจธ เจจเฉ‡ เจธเจพเจ•เจŸ เจคเฉ‹เจ‚ เจชเฉœเฉเจนเจฟเจ† เจนเฉˆ, เจคเจพเจ‚ เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจ•เจฟเจธเฉ‡ เจ—เจฒเจคเฉ€ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเฉ‹, เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเฉ‹ เจœเจพเจ‚ เจตเจพเจชเจธ เจ•เจฐเฉ‹, เจ•เฉ‹เจˆ เจจเฉเจ•เจธเจพเจจ เจจเจนเฉ€เจ‚เฅค เจซเจฟเจฐ เจชเฉเจธเจผเจŸเฉ€ เจ†เจˆเจกเฉ€ เจฆเจพ เจตเฉˆเจ•เจŸเจฐ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจชเจฐ เจธเจฟเจฐเจซเจผ "เจ†เจ–เจฐเฉ€ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจˆ seq_no" - เจธเจฟเจฐเจซเจผ เจ‡เฉฑเจ• เจธเฉฐเจ–เจฟเจ†, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ TCP (เจฆเฉ‹ เจจเฉฐเจฌเจฐ - เจคเฉเจนเจพเจกเฉ€ seq เจ…เจคเฉ‡ เจชเฉเจธเจผเจŸเฉ€ เจ•เฉ€เจคเฉ€ เจ—เจˆ)เฅค เจ…เจธเฉ€เจ‚ เจนเจฎเฉ‡เจธเจผเจพ เจธเฉˆเจธเจผเจจ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚, เจ•เฉ€ เจ…เจธเฉ€เจ‚ เจจเจนเฉ€เจ‚ เจนเจพเจ‚?
  2. เจฐเฉ€เจชเจฒเฉ‡เจ… เจนเจฎเจฒเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจŸเจพเจˆเจฎเจธเจŸเฉˆเจ‚เจช เจ‡เฉฑเจ• เจตเฉฑเจ–เจฐเจพ เจ–เฉ‡เจคเจฐ เจฌเจฃ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‡เฉฑเจ• เจฒเจพ เจจเฉ‹เจจเจธเฅค เจ‡เจน เจœเจพเจ‚เจšเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจชเฉเจฐเจญเจพเจตเจฟเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ. เจ•เจพเจซเจผเฉ€ เจ…เจคเฉ‡ uint32 - เจœเฉ‡เจ•เจฐ เจธเจพเจกเจพ เจฒเฉ‚เจฃ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจนเจฐ เจ…เฉฑเจงเฉ‡ เจฆเจฟเจจ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฎเฉ‡เจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจชเฉ‚เจฐเจจ เจ…เฉฐเจ• เจฆเฉ‡ เจนเฉ‡เจ เจฒเฉ‡-เจ•เฉเจฐเจฎ เจตเจพเจฒเฉ‡ เจฌเจฟเฉฑเจŸเจพเจ‚ เจจเฉ‚เฉฐ 16 เจฌเจฟเฉฑเจŸ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚, เจฌเจพเจ•เฉ€ - เจ‡เฉฑเจ• เจธเจ•เจฟเฉฐเจŸ (เจนเฉเจฃ เจตเจพเจ‚เจ—) เจฆเฉ‡ เจ‡เฉฑเจ• เจ…เฉฐเจธเจผเจฟเจ• เจนเจฟเฉฑเจธเฉ‡ เจฒเจˆเฅค
  3. เจนเจŸเจพเจ‡เจ† เจ—เจฟเจ† msg_id เจฌเจฟเจฒเจ•เฉเจฒ - เจฌเฉˆเจ•เจเจ‚เจก 'เจคเฉ‡ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉฑเจ– เจ•เจฐเจจ เจฆเฉ‡ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, เจชเจนเจฟเจฒเจพเจ‚, เจ•เจฒเจพเจ‡เฉฐเจŸ เจ†เจˆเจกเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจฆเฉ‚เจœเจพ, เจธเฉˆเจธเจผเจจ เจ†เจˆเจกเฉ€, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจ…เจจเฉเจธเจพเจฐ, เจฌเฉ‡เจจเจคเฉ€ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจฆเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจšเฉ€เจœเจผ เจ•เจพเจซเฉ€ เจนเฉˆ seq_no.

เจ‡เจน เจธเจญ เจคเฉ‹เจ‚ เจธเจซเจฒ เจตเจฟเจ•เจฒเจช เจตเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ; เจ‡เฉฑเจ• เจธเฉฐเจชเฉ‚เจฐเจจ เจฌเฉ‡เจคเจฐเจคเฉ€เจฌ เจ‡เฉฑเจ• เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ - เจ‡เจน เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‰เฉฑเจš-เจชเฉฑเจงเจฐเฉ€ API เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเฉเจจเฉ‡เจนเจพ เจญเฉ‡เจœเจฃ เจตเฉ‡เจฒเฉ‡ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจตเฉˆเจธเฉ‡เฅค เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจจเฉ‚เฉฐ เจธเฉฐเจชเฉ‚เจฐเจจ เจคเฉ‹เจ‚ เจธเฉฐเจชเฉ‚เจฐเจจ เจคเฉฑเจ• เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฐเฉ€เจฎเฉ‡เจ• เจ•เจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจชเจฐ เจ‡เจน เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจนเจฟเฉฑเจธเฉ‡ เจฒเจˆ เจตเจฟเจธเจผเจพ เจนเฉˆ, เจจเจพ เจ•เจฟ เจ‡เจธ เจชเฉ‹เจธเจŸ เจฒเจˆเฅค

API?

เจคเจพ-เจฆเจพเจฎ! เจ‡เจธ เจฒเจˆ, เจฆเจฐเจฆ เจ…เจคเฉ‡ เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚ เจจเจพเจฒ เจญเจฐเฉ‡ เจฎเจพเจฐเจ— เจฆเฉเจ†เจฐเจพ เจธเฉฐเจ˜เจฐเจธเจผ เจ•เจฐเจจ เจฆเฉ‡ เจฌเจพเจ…เจฆ, เจ…เจธเฉ€เจ‚ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจตเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจญเฉ‡เจœเจฃ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจ•เฉ‹เจˆ เจœเจตเจพเจฌ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ-เจจเจพเจฒ เจธเจฐเจตเจฐ เจคเฉ‹เจ‚ เจ…เจชเจกเฉ‡เจŸเจธ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจนเฉ‹ เจ—เจ (เจ•เจฟเจธเฉ‡ เจฌเฉ‡เจจเจคเฉ€ เจฆเฉ‡ เจœเจตเจพเจฌ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚, เจชเจฐ เจ‡เจน เจ–เฉเจฆ เจธเจพเจจเฉ‚เฉฐ เจญเฉ‡เจœเจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ PUSH, เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจธเจชเจธเจผเจŸ เจนเฉˆ).

เจงเจฟเจ†เจจ เจฆเจฟเจ“, เจนเฉเจฃ เจฒเฉ‡เจ– เจตเจฟเจš เจชเจฐเจฒ เจตเจฟเจš เจ‡เจ•เฉ‹ เจ‡เจ• เจ‰เจฆเจพเจนเจฐเจฃ เจนเฉ‹เจตเฉ‡เจ—เฉ€! (เจ‰เจนเจจเจพเจ‚ เจฒเจˆ เจœเฉ‹ เจธเฉฐเจŸเฉˆเจ•เจธ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจจเจนเฉ€เจ‚ เจนเจจ, เจ…เจธเฉ€เจธ เจฆเฉ€ เจชเจนเจฟเจฒเฉ€ เจฆเจฒเฉ€เจฒ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเจพ เจกเฉ‡เจŸเจพ เจฌเจฃเจคเจฐ เจนเฉˆ, เจฆเฉ‚เจœเฉ€ เจ‡เจธเจฆเฉ€ เจธเจผเฉเจฐเฉ‡เจฃเฉ€ เจนเฉˆ):

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

เจนเจพเจ‚, เจœเจพเจฃเจฌเฉเฉฑเจ เจ•เฉ‡ เจตเจฟเจ—เจพเฉœเจจ เจตเจพเจฒเจพ เจจเจนเฉ€เจ‚ - เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ…เจœเฉ‡ เจคเฉฑเจ• เจจเจนเฉ€เจ‚ เจชเฉœเฉเจนเจฟเจ†, เจคเจพเจ‚ เจ…เฉฑเจ—เฉ‡ เจตเจงเฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฐเฉ‹!

เจ“เจน, เจตเจพเจˆ~~... เจ‡เจน เจ•เจฟเจนเฉ‹ เจœเจฟเจนเจพ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ? เจ•เฉเจ เจฌเจนเฉเจค เจœเจพเจฃเฉ‚... เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน JSON เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ†เจฎ เจตเฉˆเฉฑเจฌ API เจฆเจพ เจกเจพเจŸเจพ เจขเจพเจ‚เจšเจพ เจนเฉˆ, เจธเจฟเจตเจพเจ เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจ•เจฟ เจ•เจฒเจพเจธเจพเจ‚ เจตเฉ€ เจ†เจฌเจœเฉˆเจ•เจŸ เจจเจพเจฒ เจœเฉเฉœเฉ€เจ†เจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ?...

เจคเจพเจ‚ เจ‡เจน เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจจเจฟเจ•เจฒเจฆเจพ เจนเฉˆ... เจ•เจพเจฎเจฐเฉ‡เจก, เจ‡เจน เจธเจญ เจ•เฉ€ เจนเฉˆ?... เจ‡เฉฐเจจเฉ€ เจฎเจฟเจนเจจเจค - เจ…เจคเฉ‡ เจ…เจธเฉ€เจ‚ เจตเฉˆเฉฑเจฌ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฐ เจœเจฟเฉฑเจฅเฉ‡ เจ†เจฐเจพเจฎ เจ•เจฐเจจ เจฒเจˆ เจฐเฉเจ• เจ—เจ เจนเฉเจฃเฉ‡ เจธเจผเฉเจฐเฉ‚?..เจ•เฉ€ เจธเจฟเจฐเจซเจผ HTTPS เจ‰เฉฑเจคเฉ‡ JSON เจธเฉŒเจ–เจพ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ?! เจฌเจฆเจฒเฉ‡ เจตเจฟเฉฑเจš เจธเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจฎเจฟเจฒเจฟเจ†? เจ•เฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ‡เจธเจฆเฉ€ เจ•เฉ€เจฎเจค เจธเฉ€?

เจ†เจ‰ เจฎเฉเจฒเจพเจ‚เจ•เจฃ เจ•เจฐเฉ€เจ เจ•เจฟ TL+MTProto เจจเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจฆเจฟเฉฑเจคเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฟเจนเฉœเฉ‡ เจตเจฟเจ•เจฒเจช เจธเฉฐเจญเจต เจนเจจเฅค เจ เฉ€เจ• เจนเฉˆ, HTTP, เจœเฉ‹ เจ•เจฟ เจฌเฉ‡เจจเจคเฉ€-เจœเจตเจพเจฌ เจฎเจพเจกเจฒ 'เจคเฉ‡ เจงเจฟเจ†เจจ เจ•เฉ‡เจ‚เจฆเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เฉฑเจ• เจฌเฉเจฐเจพ เจซเจฟเจŸ เจนเฉˆ, เจชเจฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ TLS เจฆเฉ‡ เจธเจฟเจ–เจฐ 'เจคเฉ‡ เจ•เฉเจ?

เจธเฉฐเจ–เฉ‡เจช เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเฉ‡เจธเจผเจจเฅค เจ‡เจธ เจกเฉ‡เจŸเจพ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจฆเฉ‡เจ–เจฆเจฟเจ†เจ‚, JSON เจฆเฉ‡ เจธเจฎเจพเจจ, เจฎเฉˆเจจเฉ‚เฉฐ เจฏเจพเจฆ เจนเฉˆ เจ•เจฟ เจ‡เจธเจฆเฉ‡ เจฌเจพเจˆเจจเจฐเฉ€ เจธเฉฐเจธเจ•เจฐเจฃ เจนเจจ. เจšเจฒเฉ‹ MsgPack เจจเฉ‚เฉฐ เจจเจพเจ•เจพเจซเจผเฉ€ เจเจ•เจธเจŸเฉˆเจ‚เจธเฉ€เจฌเจฒ เจตเจœเฉ‹เจ‚ เจฎเจพเจฐเจ• เจ•เจฐเฉ€เจ, เจชเจฐ เจ‡เฉฑเจฅเฉ‡, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, CBOR - เจตเฉˆเจธเฉ‡, เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจ‡เฉฑเจ• เจฎเจฟเจ†เจฐ เจนเฉˆ RFC 7049. เจ‡เจน เจ‡เจธ เจคเฉฑเจฅ เจฒเจˆ เจœเจผเจฟเจ•เจฐเจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ เจ‡เจน เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจŸเฉˆเจ—เจธ, เจ‡เฉฑเจ• เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเจงเฉ€ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, เจ…เจคเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจฎเจฟเจ†เจฐเฉ€ เจ‰เจชเจฒเฉฑเจฌเจง:

  • 25 + 256 - เจฒเจพเจˆเจจ เจจเฉฐเจฌเจฐ เจฆเฉ‡ เจนเจตเจพเจฒเฉ‡ เจจเจพเจฒ เจตเจพเจฐ-เจตเจพเจฐ เจฒเจพเจˆเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ, เจ…เจœเจฟเจนเฉ€ เจธเจธเจคเฉ€ เจ•เฉฐเจชเจฐเฉˆเจธเจผเจจ เจตเจฟเจงเฉ€
  • 26 - เจ•เจฒเจพเจธ เจฆเฉ‡ เจจเจพเจฎ เจ…เจคเฉ‡ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจธ เจฆเฉ‡ เจจเจพเจฒ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเจก เจชเจฐเจฒ เจ†เจฌเจœเฉˆเจ•เจŸ
  • 27 - เจ•เจฟเจธเจฎ เจฆเฉ‡ เจจเจพเจฎ เจ…เจคเฉ‡ เจ•เฉฐเจธเจŸเจฐเจ•เจŸเจฐ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจธ เจฆเฉ‡ เจจเจพเจฒ เจฒเฉœเฉ€เจฌเฉฑเจง เจญเจพเจธเจผเจพ-เจธเฉเจคเฉฐเจคเจฐ เจตเจธเจคเฉ‚

เจ–เฉˆเจฐ, เจฎเฉˆเจ‚ เจธเจŸเฉเจฐเจฟเฉฐเจ— เจ…เจคเฉ‡ เจ†เจฌเจœเฉˆเจ•เจŸ เจชเฉˆเจ•เจฟเฉฐเจ— เจธเจฎเจฐเฉฑเจฅ เจฆเฉ‡ เจจเจพเจฒ TL เจ…เจคเฉ‡ CBOR เจตเจฟเฉฑเจš เจ‰เจนเฉ€ เจกเฉ‡เจŸเจพ เจธเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เฉ€เจคเฉ€เฅค เจจเจคเฉ€เจœเจพ เจ‡เฉฑเจ• เจฎเฉˆเจ—เจพเจฌเจพเจˆเจŸ เจคเฉ‹เจ‚ เจ•เจฟเจคเฉ‡ CBOR เจฆเฉ‡ เจนเฉฑเจ• เจตเจฟเฉฑเจš เจตเฉฑเจ–เจฐเจพ เจนเฉ‹เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจ‡เจ†:

cborlen=1039673 tl_len=1095092

เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจธเจฟเฉฑเจŸเจพ: เจ‡เฉฑเจฅเฉ‡ เจ•เจพเจซเจผเฉ€ เจธเจฐเจฒ เจซเจพเจฐเจฎเฉˆเจŸ เจนเจจ เจœเฉ‹ เจคเฉเจฒเจจเจพเจคเจฎเจ• เจ•เฉเจธเจผเจฒเจคเจพ เจฆเฉ‡ เจจเจพเจฒ, เจธเจฎเจ•เจพเจฒเฉ€ เจ…เจธเจซเจฒเจคเจพ เจœเจพเจ‚ เจ…เจฃเจœเจพเจฃ เจชเจ›เจพเจฃเจ•เจฐเจคเจพ เจฆเฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจ…เจงเฉ€เจจ เจจเจนเฉ€เจ‚ เจนเจจเฅค

เจคเฉ‡เจœเจผ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจพเจชเจจเจพ. เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจฐเฉ€เจ•เจจเฉˆเจ•เจธเจผเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจœเจผเฉ€เจฐเฉ‹ RTT (เจœเจฆเฉ‹เจ‚ เจ•เฉเฉฐเจœเฉ€ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจ‡เฉฑเจ• เจตเจพเจฐ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ) - เจฌเจนเฉเจค เจนเฉ€ เจชเจนเจฟเจฒเฉ‡ MTProto เจธเฉเจจเฉ‡เจนเฉ‡ เจคเฉ‹เจ‚ เจฒเจพเจ—เฉ‚, เจชเจฐ เจ•เฉเจ เจฐเจฟเจœเจผเจฐเจตเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ - เจ‰เจนเฉ€ เจฒเฉ‚เจฃ เจฎเจพเจฐเฉ‹, เจธเฉˆเจธเจผเจจ เจ–เจฐเจพเจฌ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ†เจฆเจฟเฅค เจ‡เจธเจฆเฉ€ เจฌเจœเจพเจ TLS เจธเจพเจจเฉ‚เฉฐ เจ•เฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ? เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจนเจตเจพเจฒเจพ:

TLS เจตเจฟเฉฑเจš PFS เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, TLS เจธเฉˆเจธเจผเจจ เจฆเฉ€เจ†เจ‚ เจŸเจฟเจ•เจŸเจพเจ‚ (RFC 5077) เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ-เจ—เฉฑเจฒเจฌเจพเจค เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ…เจคเฉ‡ เจธเจฐเจตเจฐ 'เจคเฉ‡ เจฎเฉเฉฑเจ– เจœเจพเจฃเจ•เจพเจฐเฉ€ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจ‡เฉฑเจ• เจเจจเจ•เฉเจฐเจฟเจชเจŸเจก เจธเฉˆเจธเจผเจจ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฒเจˆเฅค เจชเจนเจฟเจฒเจพ เจ•เจจเฉˆเจ•เจธเจผเจจ เจ–เฉ‹เจฒเฉเจนเจฃ เจ…เจคเฉ‡ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡, เจธเจฐเจตเจฐ เจ•เจจเฉˆเจ•เจธเจผเจจ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฒเจพเจ‡เฉฐเจŸ (เจธเฉˆเจธเจผเจจ เจŸเจฟเจ•เจŸ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš) เจจเฉ‚เฉฐ เจธเฉฐเจšเจพเจฐเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจ…เจจเฉเจธเจพเจฐ, เจœเจฆเฉ‹เจ‚ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจฆเฉเจฌเจพเจฐเจพ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ‡เฉฑเจ• เจธเฉˆเจธเจผเจจ เจŸเจฟเจ•เจŸ, เจธเฉˆเจธเจผเจจ เจ•เฉเฉฐเจœเฉ€ เจธเจฎเฉ‡เจค, เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจญเฉ‡เจœเจฆเจพ เจนเฉˆเฅค เจŸเจฟเจ•เจŸ เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ…เจธเจฅเจพเจˆ เจ•เฉเฉฐเจœเฉ€ (เจธเฉˆเจธเจผเจจ เจŸเจฟเจ•เจŸ เจ•เฉเฉฐเจœเฉ€) เจจเจพเจฒ เจเจจเจ•เฉเจฐเจฟเจชเจŸ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจธเจฐเจตเจฐ เจ‰เฉฑเจคเฉ‡ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐเจก เจนเฉฑเจฒเจพเจ‚ เจตเจฟเฉฑเจš SSL เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจธเฉˆเจธ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจธเจพเจฐเฉ‡ เจซเจฐเฉฐเจŸเจเจ‚เจก เจธเจฐเจตเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจตเฉฐเจกเฉ€ เจœเจพเจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจธเฉˆเจธเจผเจจ เจŸเจฟเจ•เจŸ เจฆเฉ€ เจธเจผเฉเจฐเฉ‚เจ†เจค PFS เจฆเฉ€ เจ‰เจฒเฉฐเจ˜เจฃเจพ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ…เจธเจฅเจพเจˆ เจธเจฐเจตเจฐ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจจเจพเจฒ เจธเจฎเจเฉŒเจคเจพ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจœเจฆเฉ‹เจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ (เจ“เจชเจจเจเจธเจเจธเจเจฒ, เจเจจเจœเฉ€เจจเฉˆเจ•เจธ, เจ…เจชเจพเจšเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ เจฆเฉ€ เจชเฉ‚เจฐเฉ€ เจฎเจฟเจ†เจฆ เจฒเจˆ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเฉ‡ เจนเจจ; เจชเฉเจฐเจธเจฟเฉฑเจง เจธเจพเจˆเจŸเจพเจ‚ เจตเจฐเจคเจฆเฉ€เจ†เจ‚ เจนเจจ เจ•เจˆ เจ˜เฉฐเจŸเจฟเจ†เจ‚ เจฒเจˆ เจ•เฉเฉฐเจœเฉ€, เจฆเจฟเจจเจพเจ‚ เจคเฉฑเจ•)เฅค

เจ‡เฉฑเจฅเฉ‡ RTT เจœเจผเฉ€เจฐเฉ‹ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ ClientHello เจ…เจคเฉ‡ ServerHello เจจเฉ‚เฉฐ เจเจ•เจธเจšเฉ‡เจ‚เจœ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เจฒเจพเจ‡เฉฐเจŸ เจซเจฟเจจเจฟเจธเจผเจก เจฆเฉ‡ เจจเจพเจฒ เจกเจพเจŸเจพ เจญเฉ‡เจœ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจชเจฐ เจ‡เฉฑเจฅเฉ‡ เจธเจพเจจเฉ‚เฉฐ เจ‡เจน เจฏเจพเจฆ เจฐเฉฑเจ–เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจตเฉˆเฉฑเจฌ เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจธเจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจ–เฉเฉฑเจฒเฉเจนเฉ‡ เจ•เฉเจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจฆเฉ‡ เจเฉเฉฐเจก เจฆเฉ‡ เจจเจพเจฒ, เจชเจฐ เจ‡เฉฑเจ• เจฎเฉˆเจธเฉ‡เจ‚เจœเจฐ, เจœเจฟเจธเจฆเจพ เจ•เฉเจจเฉˆเจ•เจธเจผเจจ เจ…เจ•เจธเจฐ เจ‡เฉฑเจ• เจœเจพเจ‚ เจตเฉฑเจง เจœเจพเจ‚ เจ˜เฉฑเจŸ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจฒเจˆ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจตเฉˆเจฌ เจชเฉ‡เจœเจพเจ‚ เจฒเจˆ เจฎเฉเจ•เจพเจฌเจฒเจคเจจ เจ›เฉ‹เจŸเฉ€เจ†เจ‚ เจฌเฉ‡เจจเจคเฉ€เจ†เจ‚ - เจธเจญ เจ•เฉเจ เจฎเจฒเจŸเฉ€เจชเจฒเฉˆเจ•เจธเจก เจนเฉˆ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡. เจญเจพเจต, เจ‡เจน เจ•เจพเจซเจผเฉ€ เจธเจตเฉ€เจ•เจพเจฐเจฏเฉ‹เจ— เจนเฉˆ เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจธเฉฑเจšเจฎเฉเฉฑเจš เจฎเจพเฉœเฉ‡ เจธเจฌเจตเฉ‡ เจธเฉˆเจ•เจธเจผเจจ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจ†เจ เจนเจพเจ‚เฅค

เจ•เฉเจ เจนเฉ‹เจฐ เจญเฉเฉฑเจฒ เจ—เจ เจนเฉ‹? เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‹.

เจจเฉ‚เฉฐ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฟเจ† เจœเจพเจตเฉ‡เจ—เจพ!

เจชเฉ‹เจธเจŸเจพเจ‚ เจฆเฉ€ เจ‡เจธ เจฒเฉœเฉ€ เจฆเฉ‡ เจฆเฉ‚เจœเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš เจ…เจธเฉ€เจ‚ เจคเจ•เจจเฉ€เจ•เฉ€ เจจเจนเฉ€เจ‚, เจชเจฐ เจธเฉฐเจ—เจ เจจเจพเจคเจฎเจ• เจฎเฉเฉฑเจฆเจฟเจ†เจ‚ 'เจคเฉ‡ เจตเจฟเจšเจพเจฐ เจ•เจฐเจพเจ‚เจ—เฉ‡ - เจชเจนเฉเฉฐเจš, เจตเจฟเจšเจพเจฐเจงเจพเจฐเจพ, เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ, เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจชเฉเจฐเจคเฉ€ เจฐเจตเฉฑเจˆเจ†, เจ†เจฆเจฟเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เฉฑเจฅเฉ‡ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจคเจ•เจจเฉ€เจ•เฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡.

เจคเฉ€เจœเจพ เจญเจพเจ— เจคเจ•เจจเฉ€เจ•เฉ€ เจญเจพเจ—/เจตเจฟเจ•เจพเจธ เจ…เจจเฉเจญเจต เจฆเจพ เจตเจฟเจธเจผเจฒเฉ‡เจธเจผเจฃ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เฉ‡เจ—เจพเฅค เจคเฉเจธเฉ€เจ‚ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฟเฉฑเจ–เฉ‹เจ—เฉ‡:

  • TL เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ•เจˆ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจฎเจนเจพเจ‚เจฎเจพเจฐเฉ€ เจฆเฉ€ เจจเจฟเจฐเฉฐเจคเจฐเจคเจพ
  • เจšเฉˆเจจเจฒเจพเจ‚ เจ…เจคเฉ‡ เจธเฉเจชเจฐเจ—เจฐเฉเฉฑเจชเจพเจ‚ เจฌเจพเจฐเฉ‡ เจ…เจฃเจœเจพเจฃ เจšเฉ€เจœเจผเจพเจ‚
  • เจกเจพเจ‡เจฒเจพเจ— เจฐเฉ‹เจธเจŸเจฐ เจจเจพเจฒเฉ‹เจ‚ เจญเฉˆเฉœเฉ‡ เจ•เจฟเจ‰เจ‚ เจนเจจ
  • เจธเฉฐเจชเฉ‚เจฐเจจ เจฌเจจเจพเจฎ เจฐเจฟเจธเจผเจคเฉ‡เจฆเจพเจฐ เจธเฉฐเจฆเฉ‡เจธเจผ เจเจกเจฐเฉˆเจธเจฟเฉฐเจ— เจฌเจพเจฐเฉ‡
  • เจซเฉ‹เจŸเฉ‹ เจ…เจคเฉ‡ เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจ•เฉ€ เจ…เฉฐเจคเจฐ เจนเฉˆ
  • เจ‡เจฎเฉ‹เจœเฉ€ เจ‡เจŸเจพเจฒเจฟเจ• เจŸเฉˆเจ•เจธเจŸ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจตเจฟเจ˜เจจ เจชเจพเจ‰เจ‚เจฆเฉ‡ เจนเจจ

เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจฌเฉˆเจธเจพเจ–เฉ€เจ†เจ‚! เจตเฉ‡เจ–เจฆเฉ‡ เจฐเจนเฉ‡!

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹