ืืขืฆืื ืก, ืืืืขืืช ืืึธืื ืื ืืขืืืืื ืฆื ืืขืจืฉืืึทื ืขื ืืืืฃ Habrรฉ ืืขืจ ืึธืคื ืืืขืื ืืื ืืื ืืขืืขืืจืึทื ืืื, ืืื ืืจืืืืึทื ื ืืื ืืงืกืคึผืืจืืึทื ืกื ืื ืืืจืึธืื ืืจืืืขืจ ืืขื ืขื ืืื ืื ืื ื ืขืฅ ืกืืกืืขืืขื, ืืื"ื ื. ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืืืืขืจ ืืืืื ืืง ืืขื ืืฉื ืืึทืงืข ืืขืืืืื ืืื ืืื ืื ืืขืื ืืฉ ืืืื - ืืื ืจืืึฟ ืืื ื ืืฆื ืึท ืคืขืจืื ืคึผืฉืื (ืืื ืืืืขืจ ืึทื ืืขืจืฉ ืคืื MTProto) JSON-ืืืืืจื Bot API, ืืื ืืืืฉืึทืืืึทืื ื ืึธืจ ืึธื ื ืขืืขื ืืืืฃ ืืืื ื ืึทืืข ืื ืชืืืืื ืืื ืคึผืจ ืืืึธืก ืืจืืืขื ืืื ืึทืจืื ืืขื ืฉืืื. ืืื ืึผืืขื ืึท ืืึธืจ ืืื ืึท ืืึทืื ืฆืืจืืง, ืืืื ืงืึธืืขืืข ืืื NPO Echelon Vasily (ืฆืื ืืึทืืืืขืจื, ืืืื ืืฉืืื ืืืืฃ Habrรฉ ืืื ืืืืกืืขืืขืงื ืฆืืืืืขื ืืื ืืขื ืคึผืืึทื) ืกืืึทืจืืขื ืฉืจืืืื ืืืื ืืืืืขื ืข ืืขืืขืืจืึทื ืงืืืขื ื ืคึฟืื ืงืจืึทืฆื ืืื ืคึผืขืจื, ืืื ืฉืคึผืขืืขืจ ืืขืจ ืืืืจ ืคืื ืื ืฉืืจืืช ืืื ืืืื ืืขืฉืจืืื. ืคืึทืจืืืึธืก ืคึผืขืจื, ืืืขืื ืขืืืขืืข ืชืืืฃ ืคืจืขืื? ืืืืื ืขืก ืืขื ืขื ืฉืืื ืื ืืืขืืืข ืคืจืืืขืงืื ืืื ืื ืืขืจืข ืฉืคืจืืื, ืืืขืฉื ืืื ืืืก ื ืืฉื ืื ื ืงืืื, ืขืก ืงืขื ืืืื ืกืื ืืืขืืืข ืื ืืขืจืข ืฉืคืจืื ืืืื ืคืึทืจืืืง ืืืืืืึธืืขืง, ืืื ืืขืจืคืืจ ืืื ืืขืจ ืืืืจ ืืืื ืืขื ืืื ืฆื ืืืขื from scratch. ืืขืจืฆื, ืงืจืืคึผืืึธืืจืึทืคื ืืื ืึทืืึท ืึท ืืึทื - ืฆืืืจืื, ืึธืืขืจ ืืึทืฉืืขืืืงื. ืืื ืึท ืืืืขืจืืืื-ืคืึธืืงืืกื ืคึผืจืึธืืืงื, ืืืจ ืงืขื ืขื ื ืื ื ืึธืจ ืคืึทืจืืึธืื ืืื ืืืืฃ ืึท ืคืึทืจืงืืืคืขืจ ืืืืืืึธืืขืง ืืื ืืืื ื ืืืืืื ืขืก (ืึธืืขืจ, ืืึธืก ืืื ืึท ืืขืืข ืคึฟืึทืจ ืืขืจ ืืื ืื ืจืืข ืืืื). ืืขืจืืืืึทื, ืื ืืืืืืึธืืขืง ืึทืจืืขื ืืึทื ืฅ ืืื ืืื ืื "ืืืื" ืืืจืื (ืึทืืึทืืื ืืืจ ืฆื ืืึทืื ืึทืคึผื ืจืืงืืืขืก).
ืึธืืขืจ, ืขืก ืืืขื ื ืืฉื ืืืื ืคืื ืงืจืืคึผืืึธืืจืึทืคื ืืื ืืืืขืืืืืง ืืื ืืขื ืกืขืจืืข ืคืื โโืึทืจืืืงืืขื. ืืืขืจ ืขืก ืืืขื ืืืื ืคืืืข ืื ืืขืจืข ืืขืื ืืฉ ืืขืืึทืืืก ืืื ืึทืจืงืึทืืขืงืืฉืขืจืึทื ืงืจืึทืืฉืื (ืขืก ืืืขื ืืืื ืืืื ื ืืฆืืง ืคึฟืึทืจ ืื ืืืืก ืืืขืื ื ืืฉื ืฉืจืืึทืื ืคึฟืื ืงืจืึทืฆื, ืึธืืขืจ ื ืืฆื ืื ืืืืืืึธืืขืง ืืื ืงืืื ืฉืคึผืจืึทื). ืึทืืื, ืืขืจ ืืืืคึผื ืฆืื ืืื ืืขืืืขื ืฆื ืคึผืจืืืืจื ืฆื ืื ืกืืจืืืขื ื ืืขื ืงืืืขื ื ืคึฟืื ืงืจืึทืฆื ืืืื ืฆื ืืึทืึทืืืขืจ ืืึทืงืืืืขื ืืืืฉืึทื. ืึทื ืืื, ืจืขืื ืึทื ืืขืจ ืืงืืจ ืงืึธื ืคืื ืืึทืึทืืืขืจ ืงืืืืึทื ืฅ ืืื ืคึฟืึทืจืืึทืื (ืืืืืขืจ, ืืื ืื ืจืืข ืืืื, ืืืจ ืืืขืื ืึทื ืืืขืงื ืืื ืืขืจ ืืขืืึทื ืื ืืขืืข ืคืื โโืืืึธืก ืืึธืก ืืื ืืึทืงืข. ืืึทืคึผืึทื ื ืึทืืื), ืึธืืขืจ, ืืื ืืื ืื ืึทืื ืืขื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืขืก ืืื ืึท ื ืึธืจืืึทื ืืื RFC - ืืื ืขืก ืืขืืืขื ืฆื ืฉืจืืึทืื ืึท ืงืืืขื ื ืืืื ืื ืกืคึผืขืกืืคืืงืึทืืืึธื ืึทืืืื, "ืึธื ืคึผืืคึผืื ื" ืืื ืื ืืงืืจ ืงืึธื, ืืคืืื ืืึทืึทืืืขืจ (ืืขืืขืืจืึทื ืืขืกืงืืึธืคึผ, ืจืืจืขืืืืืง ), ืืคืืื ืึทื ืึทืคืืฉืึทื ืืขืืขืืืึธื?
ืืื ืืึทืื ืคืื ืืื ืืึทืื:
ืืึธืงืืืขื ืืึทืืืึธื ... ืืื ืขืก ืืึธืจื? ืืื ืขืก ืืืช?.. ืืืื ืืืืื ืืขื ืื ืืืก ืืื ืืขืจ ืฉืจืืืืขืจ? ืืืื ืขืจื ืกืืจืืึทืืืืืืฉืึทื: TL (ืืืคึผ ืฉืคึผืจืึทื) ืืื ืืืึทื ืกืืขืืข, ืืื ืืืึทืขืจืก, ืืื ืคืืืข ืื ืืขืจืข ืกืงืขืจื ืืืขืจืืขืจ ืงืืจืฅ ืืึทืฉืจืืึทืืื ื ืคืื ืึท ืกืืืกืขื ืคืื TL ืกืื ืืึทืงืก ืคึฟืึทืจ ืื ืืืืก ืืึธื ื ืืฉื ืืืขืื ืฆื ืืืืขื ืขื ืื ืืึทืึทืืืขืจ ืืึทืงืืืืขื ืืืืฉืึทื ืืืขืงืืึธืจ, ืืืึธืก ืงืขื ื ืืฉื ืืืื ืืืืืกื ืืืืืกืืื ื TL ืืืคึผืืึทืืึทื ืฅ ืืื ืงืึธื ืคืขืื ืคืื ืืืืคึผืก ืืื ืืืคึผ ืฉืคึผืจืึทื ืืืขืจืกืืข. ืืืึทืขืจืก
ืืืคึผืจืึธืืึธ ืึทืคึผื? ืฆื ืืืื ืคืืจืืขืฆื!
ืืึธืงืืืขื ืืึทืืืึธื ... ืืื ืขืก ืืึธืจื? ืืื ืขืก ืืืช?..
ืคืจืึทืืืขื ืื ืคืื ืืขืจืืช ืคึฟืึทืจ ืืขื ืึทืจืืืงื ืื ืืขืืืืื ืฆื ืืืื ืืขืืืืื ืืขืฆืืข ืืืืขืจ. ืึทืืข ืืขื ืืึธื ืืืืฃ ืืขืจ ืืึทืึทืืืขืจ ืคึผืืึทืฅ
ืืืื ืืืืื ืืขื ืื ืืืก ืืื ืืขืจ ืฉืจืืืืขืจ?
ืขืก ืืื ื ืืฉื ืขื ืื ืืืื ืืืจ ืฉืจืืึทืื ืคึฟืื ืงืจืึทืฆื ืึธืืขืจ ื ืืฆื, ืืืฉื, ืคืึทืจืืืง ืืืืืจืขืจืื ืืื api_id
ะธ api_hash
(ืื ืืืึธืก ืืึธืื ืืขืืจืืขื ืืื ืื VKontakte API ืืื ืคึฟืึทืจืฉืืืื) ืืืจื ืืืึธืก ืื ืกืขืจืืืขืจ ืืืขื ืืืขื ืืืคืืฆืืจื ืื ืึทืคึผืืึทืงืืืฉืึทื. ืืืก ืืืจืฃ ืคึฟืึทืจ ืืขืืึทื ืกืืืืช, ืึธืืขืจ ืืืจ ืืืขืื ืจืขืื ืืขืจ ืืืขืื ืืืึธืก ืืืืืืึธืืขืง ืืืืจืื ืงืขื ืขื ื ืืฉื ืึทืจืืืกืืขืื ืขืก ืืื ืื ืฆืืืืืืข ืืืื. ืืึธืืขืจ ืืืจ ืืืขื ืืืื ืฆืืคึฟืจืืื ืืื ืื ืคึผืจืึธืืข ืืืึทืืืขืก, ืืึธืืฉ ืืื ืืขื ืขื ืืืืขืจ ืืืืืืขื - ืืขืจ ืคืึทืงื ืืื ืึทื ืืืฆื ืืืจ ืงืขื ืขื ืจืขืืืกืืจืืจื ืืืืฃ ืืืื ื ืืืขืจ ื ืืจ ืืืื ืึทืคึผืืึทืงืืืฉืึทื, ืึทืืื ืืึธื ื ืื ืงืึทืืืฉ ืืขืืืึธื ื.
ืืืฆื, ืคึฟืื ืึท ืืขืื ืืฉ ืคืื ื ืคืื ืืืื ืื ื, ืืืจ ืืึธื ืืึธืื ืืขืืืขื ืืื ืืขืจืขืกืืจื ืืื ืืขื ืคืึทืงื ืึทื ื ืึธื ืจืขืืืกืืจืึทืฆืืข ืืืจ ืืึธื ืืึทืงืืืขื ื ืึธืืืึทืคืึทืงืืืฉืึทื ื ืคืื ืืขืืขืืจืึทื ืืืขืื ืืขืจืืืึทื ืืืงืื ืืขื ืฆื ืื ืืึทืงืืืืขื ืืืืฉืึทื, ืคึผืจืึธืืึธืงืึธื, ืืื"ื ื. ืึทื ืืื, ืืขื ืงืขื ืืืขืจื ืขืืขื ืึทื ืื ืคึผืืึทืฅ ืืื ืื ืืึทืงืก ืืื ืืขืืืขื ืคืฉืื "ืกืงืึธืจืขื" ืืื ืืขืฆืืืื ืฆื ืึทืจืืขืื ืกืคึผืึทืกืืคืืงืื ืืื ืื ืืืืก ืื ืืขืืืืื ืฆื ืืึทืื ืงืืืืึทื ืฅ, ืืืืึทื. ืขืก ืืื ืืจืื ืืขืจ. ืึธืืขืจ ื ืืื, ืืึธืจื ืืฉื ืึทืืึท ืืื ืืืืขืจืงื, ืงืืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืขืงืืืขื.
ืืื ืืืื ืืืจ ืฉืจืืึทืื ืคึฟืื ืงืจืึทืฆื, ืื ื ืืฆื ืคืื ืื ืืืงืืืขื ืคึผืึทืจืึทืืขืืขืจืก ืืื ื ืึธื ืืืืึทื ืึทืืืขืง. ืืึธืืฉ
ืืื ืคืึทืงื, ืืืืืข ืืืืืขืจ MTProto ืืื ื ืึธื, ืืื ืขืืืขืืข ืืขืืืขืืก ืืื ืึทืืึธื (ืืื ืคืจืขืื ื ืขืืืืึธืจืงืก ืืจืืขืื ืืื ืื ืึทืก ืงืขืจื ืืึธืื, ืฉืืืืข ืืืืขื), ืึท ืืจืืืก, ืืืืืืืงืืืง ืืื ืฉืจืขืงืืขื ืืขืืข ืืืขื ืืึทืงืืืขื ืืื ืื ืืืขื ...
ืืืื ืขืจื ืกืืจืืึทืืืืืืฉืึทื: TL (ืืืคึผ ืฉืคึผืจืึทื) ืืื ืืืึทื ืกืืขืืข, ืืื ืืืึทืขืจืก, ืืื ืคืืืข ืื ืืขืจืข ืกืงืขืจื ืืืขืจืืขืจ
ืืขืจ ืืขืืข, ืืื ืคืึทืงื, ืืื ืืขืจ ืฉืืืกื ืฆื ืืขืืขืืจืึทื ืก ืคึผืจืึธืืืขืืก. ืืื ืขืก ืืืขื ืืืื ืคืืืข ืฉืจืขืงืืขื ืืืขืจืืขืจ ืืืื ืืืจ ืคึผืจืืืืจื ืฆื ืืขืืื ืืื ืขืก.
ืึทืืื, ืกืืขืืข. ืืืื ืืืจ ืืขืืขื ืงื ืืึธืก ืืืึธืจื, ืืึธืื,
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 ++ (ืืื ืคืึทืงื, ื ืืฉื ืืืฉ). ืืื ืืืืก ืืืื ืขื ืื ืืืข ืื ืืขืจืข ืกืืืืืื, ืคืจืืืข ืกืืื ืื, ืืืืกืจืืคื, ืคืจืืฆืขื ืื, ืืขืืืขืจืก (ืืื ืืึธื ืืื ืืืื ืขื ืคืึทืจืฉืืืขื ืข ืืืื ืืื ืคืึทืจืฉืืืขื ืข ืขืจืืขืจ), ืคืึธืจืฉืืขืื ืขืจืืขืฅ, ืึธืืขืจ ื ืืฉื ืขืจืืขืฅ, ืืขืงืกืึทืืขืฆืืืึทื ื ืืืขืจื - ืืื ืจืืึฟ ืืืคึผืึธืจืืึทื ืืื, ืืื ืฆื ืืึทืงืืืขื ืคืื ืืขื correct (ืืืึธืก ืืืขื ื ืืฉื ืืืื ืคืืจืืืืจืคื ืืืจื ืื ืกืขืจืืืขืจ) ืืืื ืกืืจืื? ืืืจ ืืึธืื ืฆื ืืืืขื ืขื ืื ืืึทืงืืืืขื ืืืืฉืึทื (ืืึธ, ืขืก ืืขื ืขื ืืื ืงืก ืฆื ืื ืกืืฉืขืืึท ืืื ืื JSON ืืืขืจืกืืข ื ืืจืืื - ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืืึทืื ืขืก ืงืืืจืขืจ).
ืขืคึฟืขื ืขื ืืขื ืืืึทื
ืืืืขื ืขืจ ืืึทืงืึทื ื ืืื ืคืึทื ืืงืฉืึทื ืึทื ืฉืคึผืจืึทืื ืืื ืึธืืึทืืึทืืืง ืืืคึผ ืื ืคืขืจืึทื ืก, ืคืื ืงืืจืก, ืืขืืขื ืืื ืืขื ืฉืคึผืจืึทื ืืืกืงืจืืคึผืฉืึทื ื, ืืคืืื ืคึฟืื ืึท ืืืึทืฉืคึผืื, ืคืื ืืขืจ ืืึทืงืึทื ื, ืืื ืงืขื ืขื ืืึธืื ืึทื ืืึธืก ืืื ืืืื ื ืืฉื ืฉืืขืื ืืื ืคึผืจืื ืฆืืคึผ. ืื ืืขื ืืช ืฆื ืืขื ืืขื ืขื:
- ืื, ืืขืจ ืฆืื ืกืึธืื ืืก ืืื, ืึธืืขืจ ืืืื ื ืื ืืขืจืืจืืืื
- ืืืืืื ื ืืื ืจืืกืืฉ ืืื ืืืืขืจืกืืืขืื ืืืขืจืื ืืคืืื ืฆืืืืฉื IT ืกืคึผืขืฉืึทืืืื - ื ืื ืึทืืขืืขื ืืืืขื ืขื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืงืืจืก
- ืฆืื ืกืืฃ, ืืื ืืืจ ืืืขืื ืืขื, ืืื ืคืืจ ืขืก ืืื ื ืื ืคืืจืืื ืื, ืืื ื ืืืืื ืึท ืืืืืืขื ืกืึทืืกืขื ืคืื ืืคืืื ืื TL ืืืึธืก ืืื ืืขืืืขื ืืืกืงืจืืืื ืืื ืืขื ืืฆื
ืืื ืืขืืึธืื #perl
ืืืืฃ ืื FreeNode IRC ื ืขืฅ, ืืจืืื ื ืฆื ืื ืกืืจืืืขื ื ืึท ืืืืขืจ ืคืื ืืขืืขืืจืึทื ืฆื ืืึทืืจืืฅ (ืื ืืืืขืจืืขืฆืื ื ืคืื ืื ืฆืืืืจื ืืื ืืืคึผืื ืงืืืขื ืคึฟืื ืืึผืจืื):
ืขืก ืคืืื ืืื ืขืืขืฆืขืจ ืืืืก ืืื ืืขืืืขื ืืึทืงืขื ืขื ืฆื ืืืคึผ ืืขืึธืจืืข ืคึฟืึทืจ ืื ืขืจืฉืืขืจ ืืึธื, ืืขืืืืจื ืืงืกืืืืึทื ืืื ืกืืึทืจืืขื ืืจืืื ื ืฆื ืฉืคึผืืื ืืื ืืื, ื ืื ืืึทืงืข ืืึธืจืื ืืืื ืขืก ืืื ื ืืืืืง ืืื ืคืืจ.
ืืขื ืคึฟืึทืจ ืืื ืืืื ืื ื ืืื ืคึฟืึทืจ ื ืึทืงืขื ืืืืคึผืก (ืื ื, ืืึทื ื, ืืื"ื ื) ืืื ืขืคึผืขืก ืขืืขืืขื ืืึทืจ ืจืืื ื ืืฉื ืงืืื ืคืจืืืขืก - ืืื ืื ืกืืฃ ืืื ืืืื ืืืื ืืืคึผืืึทืืขื ืึทื ืืึทื ืืืึทืื - ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืึธืืืจ ื ืขืืขื ืึทื ืคึผืจืืืื ืฆื ืึทืจืืืกืคืืจื ืคืื ืืื vector. ืืึธืก ืืื, ืืื ืคืึทืงื, ืืขื ืืข, ืืืื ืืืจ ืจืืคื ืื ืจืืืึทืืืื ื ืืืื ืืืจื ืืืืขืจ ืืขืืขืจืืง ื ืขืืขื.
ืืืขืจ ืคืจืืขืจ
ืงืืจืฅ ืืึทืฉืจืืึทืืื ื ืคืื ืึท ืกืืืกืขื ืคืื ืื 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;
ืฉืืขื ืืืง ืกืืึทืจืฅ ืืขืคึฟืื ืืฆืืข constructor, ื ืึธื ืืืึธืก, ืึธืคึผืืืึธื ืึทืืื (ืืื ืคืืจ, ืฉืืขื ืืืง) ืืืจื ืืขื ืกืืืืึธื #
ืืึธื CRC32 ืคืื ืื ื ืึธืจืืึทืืืืื ืืึทืฉืจืืึทืืื ื ืฉืืจืืงื ืคืื ืื ืืขืืขืื ืืืคึผ. ืืืืึทืืขืจ ืงืืื ืื ืืึทืฉืจืืึทืืื ื ืคืื ืื ืคืขืืืขืจ, ืืืื ืืื ืืขื ืขื - ืืขืจ ืืืคึผ ืงืขื ืืืื ืืืืืืง. ืขืก ืขื ืืืงื ืืื ืึทืืฅ ืืื ืึทื ืืืืืืฆืืืื, ืืขืจ ื ืึธืืขื ืคึฟืื ืืขื ืืืคึผ, ืฆื ืืืขืืื ืืขืจ ืืขืืขืื ืงืึธื ืกืืจืืงืืึธืจ โ ืืึธืก ืืืืกื, ืืื ืืขืจ ืืืชื, ืืขืจ ืกืืืืืคึผืข โ ืืขืืขืจื. ืืขืจ ืืืคึผ ืฆื ืื ืจืขืื ืคืื ืื ืืงืืืึทืื ืฆืืืื ืืื ืคึผืึธืืืืึธืจืคืืง - ืืึธืก ืืื, ืขืก ืงืขื ืฉืืืืขื ืฆื ืขืืืขืืข ืกืคึผืขืฆืืคืืฉ ืืืืคึผืก.
ืืืื ืื ืืขืคึฟืื ืืฆืืข ืึทืงืขืจื ื ืึธื ืื ืฉืืจื ---functions---
, ืืขืืึธืื ืืขืจ ืกืื ืืึทืงืก ืืืขื ืืืืึทืื ืื ืืขืืืข, ืึธืืขืจ ืื ืืืึทืืฉ ืืืขื ืืืื ืึทื ืืขืจืฉ: ืืขืจ ืงืึทื ืกืืจืึทืงืืขืจ ืืืขื ืืืขืจื ืืขืจ ื ืึธืืขื ืคืื ืื RPC ืคืื ืงืฆืืข, ืื ืคืขืืืขืจ ืืืขื ืืืขืจื ืคึผืึทืจืึทืืขืืขืจืก (ื ื, ืืึธืก ืืื, ืขืก ืืืขื ืืืืึทืื ืคึผืื ืงื ืื ืืขืืืข ืกืืจืืงืืืจ ืืื ืืืกืงืจืืืื ืืื ืื, ืขืก ืืืขื ื ืึธืจ ืืืื ืื ืืืึทืืฉ ืืขืืขืื), ืืื "ืคึผืึธืืืึธืจืคืืง ืืืคึผ" ืืื ืืขืจ ืืืคึผ ืคืื ืื ืืืืืขืงืขืจื ืจืขืืืืืึทื. ืืืช, ืขืก ืืืขื ื ืึธื ืืืืึทืื ืคึผืึธืืืืึธืจืคืืง - ื ืึธืจ ืืืคืืื ื ืืื ืื ืึธืคึผืืืืืื ื ---types---
, ืืื ืืขื ืงืึทื ืกืืจืึทืงืืขืจ ืืืขื ื ืืฉื ืืืื ืืึทืืจืึทืื. ืืืคึผ ืึธืืืขืจืืึธืึทืืก ืคืื ืืขืจืืคึฟื ืคืึทื ืืงืฉืึทื ื ืืืจื ืืืืขืจ ืึทืจืืืืขื ืื, ื.ื. ืคึฟืึทืจ ืขืืืขืืข ืกืืื, ืขืืืขืืข ืคืึทื ืืงืฉืึทื ื ืืื ืื ืืขืืืข ื ืึธืืขื ืึธืืขืจ ืึท ืึทื ืืขืจืฉ ืืกืืืข, ืืื ืืื C ++, ืืขื ืขื ื ืืฉื ืฆืืืขืฉืืขืื ืืื TL.
ืคืืจืืืืก "ืงืึทื ืกืืจืึทืงืืขืจ" ืืื "ืคึผืึทืืืืึธืจืคืืง" ืืืื ืขืก ืืื ื ืืฉื OOP? ื ื, ืืื ืคืึทืงื, ืขืก ืืืขื ืืืื ืืจืื ืืขืจ ืคึฟืึทืจ ืขืืขืฆืขืจ ืฆื ืืจืึทืืื ืืืขืื ืขืก ืืื ืืขืจืืื ืขื ืคืื OOP - ืึท ืคึผืึธืืืืึธืจืคืืง ืืืคึผ ืืื ืึท ืึทืืกืืจืึทืงื ืงืืึทืก, ืืื ืงืึทื ืกืืจืึทืงืืขืจื ืืขื ืขื ืื ืืืจืขืงื ืึธืคึผืฉืืึทืืืื ื ืงืืืกื. final
ืืื ืืขืจ ืืขืจืืื ืึธืืึธืืืข ืคืื โโืึท ื ืืืขืจ ืคืื ืฉืคึผืจืึทืื. ืืื ืคืึทืงื, ืคืื ืงืืจืก, ืืึธ ืขื ืืขืืงืืื ืืื ืคืึทืงืืืฉ ืึธืืืืขืจืืึธืืืื ืงืึทื ืกืืจืึทืงืืขืจ ืืขืืืึธืืก ืืื OO ืคึผืจืึธืืจืึทืืืื ื ืฉืคึผืจืึทืื. ืืื ื ืขืก ืืขื ืขื ืืืืื ืืึทืื ืกืืจืึทืงืืฉืขืจื ืืึธ, ืขืก ืืขื ืขื ืงืืื ืืขืืืึธืืก (ืืึธืืฉ ืื ืืึทืฉืจืืึทืืื ื ืคืื ืคืึทื ืืงืฉืึทื ื ืืื ืืขืืืึธืืก ืืื ืื ืืื ืืึทื ืฅ ืืืืืขืืืืืง ืฆื ืฉืึทืคึฟื ืฆืขืืืฉืื ื ืืื ืื ืงืึธืคึผ ืืืขืื ืืืึธืก ืืื ืืขื ืขื, ืึธืืขืจ ืืึธืก ืืื ืืืขืื ืขืคึผืขืก ืึทื ืืขืจืฉ) - ืืืจ ืงืขื ืขื ืืจืึทืืื ืคืื ืึท ืงืึทื ืกืืจืึทืงืืขืจ ืืื ืึท ืืืขืจื ืคืื ืืืึธืก ืืืึทืขื ืืืง ืงืึทื ืกืืจืึทืงืืึทื ืืืคึผ ืืืขื ืืืืขื ืขื ืึท ืืืึทื ืคืื ืืืืขืก.
ืืื ืึทืืื ืืื ืืึธืก ืคึผืึทืกืืจื? ืื ืืขืกืขืจืืึทืืืืขืจ, ืืืึธืก ืฉืืขื ืืืง ืืืืขื ื 4 ืืืืขืก, ืืขื ืื ืืืขืจื 0xcrc32
- ืืื ืคืืจืฉืืืื ืืืืก ืืืขื ืืขืฉืขื ืืืืืืขืจ field1
ืืื ืืืคึผ int
, ื.ื. ืืืืขื ื ืคึผืื ืงื 4 ืืืืขืก, ืืืืฃ ืืขื ืึธืืืืขืจืืืืื ื ืคืขืื ืืื ืืืคึผ PolymorType
ืืืืขื ืขื. ืืขื 0x2crc32
ืืื ืคืืจืฉืืืื ืื ืขืก ืืขื ืขื ืฆืืืื ืคืขืืืขืจ ืืืืืืขืจ, ืงืืื long
, ืึทืืื ืืืจ ืืืืขื ืขื 8 ืืืืขืก. ืืื ืืขืืึธืื ืืืืืขืจ ืึท ืงืึธืืคึผืืขืงืก ืืืคึผ, ืืืึธืก ืืื ืืขืกืขืจืืึทืืืืขื ืืื ืื ืืขืืืข ืืืขื. ืืืฉื, Type3
ืงืขื ืืืื ืืขืจืงืืขืจื ืืื ืื ืกืืขืืข ืืื ืืึทืื ืืื ืฆืืืื ืงืึทื ืกืืจืึทืงืืขืจื ืจืืกืคึผืขืงืืืืืื, ืืื ืืืื ืืจืขืคื ืึธืืขืจ 0x12abcd34
, ื ืึธื ืืืึธืก ืืืจ ืืึทืจืคึฟื ืฆื ืืืืขื ืขื ื ืึธื 4 ืืืืขืก int
ืึธืืขืจ 0x6789cdef
, ื ืึธื ืืืึธืก ืขืก ืืืขื ืืืื ืืึธืจื ืืฉื. ืขืคึผืขืก ืึทื ืืขืจืฉ - ืืืจ ืืึทืจืคึฟื ืฆื ืืืึทืจืคื ืึท ืืืกื ืขื. ืืื ืงืืื ืคืึทื, ื ืึธื ืืขื ืืืจ ืฆืืจืืงืงืืืขื ืฆื ืืืืขื ืขื 4 ืืืืขืก int
ืคืขืืืขืจ field_c
ะฒ constructorTwo
ืืื ืืืืฃ ืืขื ืขื ืืืงื ืืืจ ืืืืขื ืขื ืืื ืืืขืจ PolymorType
.
ืฆืื ืกืืฃ, ืืืื ืืขืืืคื 0xdeadcrc
ืคืึทืจ constructorThree
, ืืขืืึธืื ืื ืืืื ืืืขืจื ืืขืจ ืงืึธืืคึผืืืฆืืจื. ืืื ืืืขืจ ืขืจืฉืืขืจ ืคืขืื bit_flags_of_what_really_present
ืืื ืืืคึผ #
- ืืื ืคืึทืงื, ืืึธืก ืืื ื ืึธืจ ืึทื ืึทืืืึทืก ืคึฟืึทืจ ืืขื ืืืคึผ nat
ืืืึทืืฉ "ื ืึทืืืจืืขื ื ืืืขืจ". ืึทื ืืื, ืืื ืคืึทืงื, ืึทื ืกืืื ื ืืื ื ืืื ืืขืจ ืืืืื ืคืึทื, ืืืจื ืืขื ืืืขื, ืืืขื ืึทื ืกืืื ื ื ืืืขืจื ืืขื ืขื ืืขืคืื ืขื ืืื ืคืึทืงืืืฉ ืกืขืจืงืึทืฅ. ืืขืจ ืืืืึทืืขืจ ืืื ืึท ืงืึทื ืกืืจืึทืงืฉืึทื ืืื ืึท ืงืฉืื ืฆืืืื, ืืืึทืืฉ ืึทื ืืึธืก ืืื ืื ืคืขืื - ืขืก ืืืขื ืืืื ืคืึธืจืฉืืขืื ืืืืฃ ืื ืืจืึธื ืืืืื ืืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืืกื ืืื ืืึทืฉืืืื ืืื ืื ืคืขืื ืจืขืคืขืจืขื ืกื (ืืขืขืจืขื ืืื ืึท ืืขืจื ืขืจื ืึธืคึผืขืจืึทืืึธืจ). ืึทืืื, ืจืขืื ืึทื ืืึธืก ืืืกื ืืื ืืขืืืขื ืืืืฃ, ืืขืืึธืื ืืืจ ืืึทืจืคึฟื ืฆื ืืืืขื ืขื ืึท ืคืขืื ืืื Type
, ืืืึธืก ืืื ืืื ืืืขืจ ืืืึทืฉืคึผืื ืืื 2 ืงืึทื ืกืืจืึทืงืืขืจื. ืืืื ืขืจ ืืื ืืืืืืง (ืืืฉืืืื ืืืืื ืคืื ืึท ืืืขื ืืืคืืขืจ), ืื ืื ืืขืจืข ืืื ืึท ืคืขืื ids
ืืื ืืืคึผ ids:Vector<long>
.
ืืืจ ืงืขื ืืจืึทืืื ืึทื ืืืืืข ืืขืืคึผืืึทืืขืก ืืื ืืืฉืึทื ืขืจืืงืก ืืขื ืขื ืืื ืึธืืขืจ ืืืฉืึทืืืึท. ืืืขืจ ื ืืื. ืึผืืขื. ืืืก ืืขืจ ืืืืื ืคืึทื ืคืื ืืืื ืงื ืืจืึทืงืึทืฅ ืืื ืคืึทืงืืืฉ ืกืขืจืงืึทืฅ, ืืื ืขืก ืืื ืืืืื ืืขื ืืฆื ืคึฟืึทืจ ืืืขืงืืึธืจ. ืืื ืึท ืืืื ืืืึทื, ืืึธืก ืืืขื ืืืื 4 CRC32 ืืืืขืก ืคึฟืึทืจ ืื ืืืขืงืืึธืจ ืืืคึผ ืืื, ืฉืืขื ืืืง ืื ืืขืืืข, ืืขืืึธืื 4 ืืืืขืก - ืื ื ืืืขืจ ืคืื ืืขื ืืข ืขืืขืืขื ืื, ืืื ืื ืขืืขืืขื ืื ืืื.
ืืืื ืฆื ืืขื ืืขื ืคืึทืงื ืึทื ืกืืจืืึทืืืืืืฉืึทื ืฉืืขื ืืืง ืึทืงืขืจื ืืื ืืืขืจืืขืจ ืคืื 4 ืืืืขืก, ืึทืืข ืืืืคึผืก ืืขื ืขื ืืึทืืืึทืคึผืึทืื ืคืื ืขืก - ืืขืืืื-ืืื ืืืืคึผืก ืืขื ืขื ืืืื ืืืกืงืจืืืื bytes
ะธ string
ืืื ืืึทื ืืึทื ืกืืจืืึทืืืืืืฉืึทื ืคืื ืื ืืขื ื ืืื ืืขื ืึทืืืื ืืึทื ื ืืืจื 4 - ื ื, ืขืก ืืืื ื ืฆื ืืขืืื ื ื ืึธืจืืึทื ืืื ืืคืืื ืืขืคืืขืจืขื ืขืคืขืงืืืื? ืืึธืืฉ TL ืืื ืงืืืืื ืฆื ืืืื ืขืคืขืงืืืื ืืืื ืขืจื ืกืืจืืึทืืืืืืฉืึทื, ืึธืืขืจ ืฆื ืืขื ืขื ืืื ืืื, ืืื ืื ืืงืกืคึผืึทื ืฉืึทื ืคืื ืขืคึผืขืก, ืืคืืื ืืืืืึทื ืืืึทืืืขืก ืืื ืืืื-ืืึทืจืึทืงืืขืจ ืกืืจืื ืืก ืึทืจืืืฃ ืฆื 4 ืืืืขืก, ืืืขื JSON ื ืึธื ืืืื ืคืื ืืืงืขืจ? ืงืืง, ืืคืืื ืืื ืืืืืง ืคืขืืืขืจ ืงืขื ืขื ืืืื ืกืงืืคึผื ืืืจื ืืืกื ืคืืึทืืก, ืึทืืฅ ืืื ืคึผืื ืงื ืคืืึทื, ืืื ืืคืืื ืขืงืกืืขื ืกืืืืข ืคึฟืึทืจ ืืขืจ ืฆืืงืื ืคึฟื, ืืึธื ืืืจ ืฆืืืขืืืืื ื ืืึท ืึทืคึผืฉืึทื ืึทื ืคืขืืืขืจ ืฆื ืื ืงืึธื ืกืืจืืงืืึธืจ ืฉืคึผืขืืขืจ? ..
ืึธืืขืจ ื ืื, ืืืื ืืืจ ืืืืขื ืขื ื ืืฉื ืืืื ืงืืจืฅ ืืึทืฉืจืืึทืืื ื, ืึธืืขืจ ืื ืคืื ืืึทืงืืืืขื ืืืืฉืึทื, ืืื ืืจืึทืืื ืืืขืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื. ืคืืจืกืืื, ืื CRC32 ืคืื ืื ืงืึธื ืกืืจืืงืืึธืจ ืืื ืงืึทืืงืืึทืืืืืื ืืืจื ืื ื ืึธืจืืึทืืืืื ืกืืฉืขืืึท ืืขืงืกื ืืึทืฉืจืืึทืืื ื ืฉืืจืืงื (ืึทืจืึธืคึผื ืขืืขื ืขืงืกืืจืข ืืืืืืกืคึผืืืก, ืืื"ื ื) - ืึทืืื ืืืื ืึท ื ืืึท ืคืขืื ืืื ืืืกืืฃ, ืื ืืืคึผ ืืึทืฉืจืืึทืืื ื ืฉืืจืืงื ืืืขื ืืืืฉื, ืืื ืืขืจืคืืจ ืืืื CRC32 ืืื, ืืขืจืืืขืจ, ืกืืจืืึทืืืืืืฉืึทื. ืืื ืืืึธืก ืืืึธืื ืืขืจ ืึทืื ืงืืืขื ื ืืึธื ืืืื ืขืจ ืืืงืืืขื ืึท ืคืขืื ืืื ื ืืึท ืคืืึทืืก ืฉืืขืื, ืึธืืขืจ ืขืจ ืืื ื ืืฉื ืืืืกื ืืืึธืก ืฆื ืืึธื ืืื ืืื ืืืืึทืืขืจ? ..
ืฆืืืืืื ืก, ืืึธืืืจ ืืขืืขื ืงืขื CRC32, ืืืืก ืืืขืจื ืื ืืขื ืืฆื ืืขืฆื ืืื ืืึทืฉ ืคืึทื ืืงืฉืึทื ื ืฆื ืืื ืืงืื ืืึทืฉืืืืขื ืืืึธืก ืืืคึผ ืืื ืืืึทืขื ืืืง (ืืข) ืกืขืจืืึทืืืืขื. ืืึธ ืืืจ ืืขื ืขื ืคืืืกื ืืื ืื ืคึผืจืึธืืืขื ืคืื ืงืึทืืืืฉืึทื ื - ืืื ื ืื, ืื ืืึทืฉืืึธืขืก ืืื ื ืืฉื ืืืื ืขืจ ืืื 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?
ืืึธืก ืืื ืืืื ื ืืฉื ืึท ืืืืืืง ืืขืึธืจืขืืืฉ ืงืฉืื - ืืืึทืืืฉืึทื ืืืจ ืืึทืงืืืขื ืึท ืจืฉืืื ืคืื ืืจืืคึผืข ืืืืขืจื, ืืขืืขืจ ืคืื ืืืึธืก ืืื ืึท ืฉืืึทื, ืขืจืฉืืขืจ ื ืึธืืขื, ืืขืฆืืข ื ืึธืืขื - ืื ืืืืืง ืืื ืื ืกืืืข ืคืื โโโโืืึทืื ืืจืึทื ืกืคืขืจื ืืืืขืจ ืึท ืจืืจืขืืืืืง ืคึฟืึทืจืืื ืืื ื ืงืขื ืขื ืืืื ืืึทืืืืืืง. ืขืก ืืื ืื ืืคืขืงืืืืื ืึทืก ืคืื ืืขืืขืืจืึทื ืกืืจืืึทืืืืืืฉืึทื ืืืึธืก ืืื ืึทืืืืขืจืืืืื ืฆื ืืื ืื.
ืึทืืื ...
ืืืขืงืืึธืจ, ืืืึธืก ืงืขื ื ืืฉื ืืืื ืืืืืกื
ืืืื ืืืจ ืคึผืจืึผืืื ืฆื ืืืจืืืืื ืื ืืึทืฉืจืืึทืืื ื ืืืขืืขืจ ืคืื ืงืึธืืืื ืึทืืึธืจืก ืืื ืืืขืื, ืืืจ ืืืขื ืืขื ืึทื ืึท ืืืขืงืืึธืจ (ืืื ืืคืืื ืึท ืืึทืืจืืฅ) ืืื ืคืึธืจืืึทืื ืืจืืื ื ืฆื ืึทืจืืืกืคืืจื ืขืืืขืืข ืฉืืฅ ืืืจื ืืืคึผืืขืก. ืืืขืจ ืฆืื ืขื ืืข ืืืขืจื ืืื ืืขืืืคื, ืืขื ืคืืจืฉืคืืจื ืืขื ืืขืฆืื ืฉืจืื, ืืื ืืขื ืืื ืคืฉืื ืื ืืขืคืื ืืฆืืข ืคืื โโื ืืืขืงืืึธืจ, ืืืืก ืืื ืืืื ื ืืฉื ืืขืืื ืื ืฆื ื ืืืค. ืืืืก ืืื ืื ืืขืฉื ืื? ืืื ืฉืคืจืืื ืคึผืจืึธืืจืึทืืืื ื, ืกืคึผืขืฆืืขื ืคืึทื ืืงืฉืึทื ืึทื ืึธื ืขืก, ืขืก ืืื ืืึทื ืฅ ืืืคึผืืฉ ืฆื ืืึทืฉืจืืึทืื ืื ืกืืจืืงืืืจ ืจืขืงืืจืกืืืืื - ืืขืจ ืงืึทืืคึผืืืืขืจ ืืื ืืืึทื ืคืืื ืืคืฉืืฆืื ื ืืืขื ืคึฟืึทืจืฉืืืื ืึทืืฅ ืืื ืืึธื ืขืก. ืืื ืืฉืื ืืึทืื ืกืืจืืึทืืืืืืฉืึทื ืึธืืขืจ ืขืคืืงืึทืกื ืืื ืืืจืฃ: ืขืก ืืื ืืขื ืื ืฆื ืคืฉืื ืืึทืฉืจืืึทืื ืจืขืฉืืืข, ื.ื. ืึท ืกืืจืืงืืืจ ืคืื ืฆืืืื ืขืืขืืขื ืื - ืืขืจ ืขืจืฉืืขืจ ืืื ืึท ืืึทืื ืขืืขืืขื ื, ืื ืจืืข ืืื ืื ืืขืืืข ืกืืจืืงืืืจ ืืื ืึธืืขืจ ืึท ืืืืืืง ืคึผืืึทืฅ ืคึฟืึทืจ ืื ืขืง (ืคึผืึทืง (cons)
ืืื ืืืกืคึผ). ืืืขืจ ืืืก ืืืขื ืืึธื ืืึทืจืคื ืืขืืขืจ ืขืืขืืขื ื ืึทืืืฉื ืึทืื ืคืึทืจืืจืขื ืืขื 4 ืืืืขืก (CRC32 ืืื ืื ืคืึทื ืคืื TL) ืฆื ืืึทืฉืจืืึทืื ืืืึทื ืืืคึผ. ืขืก ืืื ืืจืื ื ืฆื ืืึทืฉืจืืึทืื ืึท ืืขื ืืข ืคืึทืจืคืขืกืืืงื ืืจืืืก, ืึธืืขืจ ืืื ืืขื ืคืึทื ืคืื ืึท ืืขื ืืข ืคืื โโืึท ืคืจืืขืจ ืืืืืึทืงืึทื ื ืืขื ื, ืืืจ ืืจืขืื ืึทืืืขืง.
ืึทืืื ืืื ื TL ืงืขื ื ืืฉื ืืึธืื ืืืจ ืึทืจืืืกืคืืจื ืึท ืืืขืงืืึธืจ, ืขืก ืืื ืฆื ืืืื ืืืกืืฃ ืืืืฃ ืื ืืืึทื. ืืขืกืึธืฃ ืื ืืึทืงืืืืขื ืืืืฉืึทื ืืืื:
ืกืืจืืึทืืืืึทืืืึธื ื ืืฆื ืฉืืขื ืืืง ืืขืจ ืืขืืืืงืขืจ ืงืึทื ืกืืจืึทืงืืขืจ "ืืืขืงืืึธืจ" (const 0x1cb5c415 = crc32 ("ืืืขืงืืึธืจ t: ืืืคึผ # [ t] = ืืืขืงืืึธืจ ื") ืืืึธืก ืืื ื ืืฉื ืึธืคืขื ืืืง ืืืืฃ ืื ืกืคึผืขืฆืืคืืฉ ืืืขืจื ืคืื ืื ืืืึทืืขืืืืืง ืคืื ืืืคึผ t.
ืื ืืืขืจื ืคืื ืื ืึทืคึผืฉืึทื ืึทื ืคึผืึทืจืึทืืขืืขืจ t ืืื ื ืืฉื ืื ืืืึทืืืื ืืื ืื ืกืืจืืึทืืืืืืฉืึทื ืืื ื ืขืก ืืื ืืขืจืืืืื ืคืื ืื ืจืขืืืืืึทื ืืืคึผ (ืฉืืขื ืืืง ืืืงืื ื ืืืืืขืจ ืืขืกืขืจืืึทืืืืืืฉืึทื).
ื ืขืืขื ืึท ื ืขืขื ืืขืจ ืงืืง: vector {t:Type} # [ t ] = Vector t
- ืึธืืขืจ ืื ืขืจืืขืฆ ื ืื ืื ืืขืคึฟืื ืืฆืืข ืึทืืืื ืืื ื ืืฉื ืืึธืื ืึทื ืืขืจ ืขืจืฉืืขืจ ื ืืืขืจ ืืืื ืืืื ืืืืึทื ืฆื ืื ืืขื ื ืคืื ืื ืืืขืงืืึธืจ! ืืื ืขืก ืืืื ื ืืฉื ืคืื ืขืจืืขืฅ. ืืึธืก ืืื ืึท ืืขืืขืื ืึทื ืืืจ ืืึทืจืคึฟื ืฆื ืืึทืืื ืืื ืืื ืขื ืืื ืื ืกืืจืืืขื ื ืืื ืืืื ืืขื ื. ืื ืืขืจืฉ, ืื ืืึทืงืืืืขื ืืืืฉืึทื ืืคืืื ืืึธื ืขืกืืื ืืขืจืืื ื ืึทื ืืขืจ ืืืคึผ ืืื ืฉืืืื ืื:
ืื ืืืขืงืืึธืจ t ืคึผืึธืืืืึธืจืคืืง ืคึผืกืขืืืืึธืืืคึผืข ืืื ืึท "ืืืคึผ" ืืืขืืขื ืก ืืืขืจื ืืื ืึท ืกืืงืืืึทื ืก ืคืื ืืืึทืืืขืก ืคืื ืงืืื ืืืคึผ ื, ืึธืืขืจ ืืึทืงืกื ืึธืืขืจ ื ืึทืงืขื.
... ืึธืืขืจ ืืื ื ืืฉื ืคืึธืงืืก ืืืืฃ ืขืก. ืืืขื ืืืจ, ืืื ืคืื ืืืึทืืื ื ืืืจื ืื ืกืืจืขืืฉืื ื ืคืื ืืืืขืืืืืง (ืืคึฟืฉืจ ืืคืืื ืืืงืื ื ืฆื ืืืจ ืคืื ืึท ืืื ืืืืขืจืกืืืขื ืงืืจืก), ืืึทืฉืืืกื ืฆื ืืขืืฉืื ืืื ืืขื ืืื ืืืจ ืืึทืงืข ืึทืจืืขื ืืื ืืื ืืื ืคืืจ, ืืขืจ ืจืืฉื ืืืืืื ืืื ืืืื ืงืึธืคึผ: ืืึธ ืืื ืขืจื ืกื ืืึทืืืขืืึทืืืงืก ืืืืืจื ืืืืฃ , ืืึธื ืงืื ืืขื ืืฉื (ืฆืืืื ืืืืขืืืืืงืขืจ - ืืขืืืื ืขืจ ืคืื ืื ืึทืงื), ืืื ื ืื ื ืึธืจ ืืืขืจ ืขืก ืื. ืืขืจ ืฆืื - ืฆื ืฉืคึผืึทืืื - ืืื ืืขืจืืจืืืื.
ืืืจื ืืขื ืืืขื, ืืืขืื ืื ื ืืืขืจ. ืฆืืจืืงืจืืคื
#
ืขืก ืืื ืึท ืกืื ืึธื ืืnat
, ื ืึทืืืจืืขื ื ืืืขืจ:ืขืก ืืขื ืขื ืืืคึผ ืืืืกืืจืืงื (ืืืคึผืขืงืกืคึผืจ) ืืื ื ืืืขืจืืง ืืืืกืืจืืงื (nat-expr). ืึธืืขืจ, ืืื ืืขื ืขื ืืืคืืื ื ืื ืืขืืืข ืืืขื.
type-expr ::= expr nat-expr ::= expr
ืึธืืขืจ ืืื ืืงืืืง ืืขื ืขื ืืื ืืึทืฉืจืืื ืืืืฃ ืื ืืขืืืข ืืืขื, ื.ื. ืืขื ืืืืืง ืืืืืขืจ ืืืื ืืืื ืืขืจืืื ื ืืื ืฉืืขืื ืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืืืจื ืืึทื ื.
ื ื, ืืึธ, ืืืกืืขืจ ืืืืคึผืก (vector<int>
, vector<User>
) ืืึธืื ืึท ืคึผืจืึธืกื ืืืขื ืืืคืืขืจ (#1cb5c415
), ื.ื. ืืืื ืืืจ ืืืืกื ืื ืจืืคื ืืื ืืขืจืงืืขืจื ืืื
users.getUsers#d91a548 id:Vector<InputUser> = Vector<User>;
ืืขืืึธืื ืืืจ ืืืืจืื ืคึฟืึทืจ ื ืื ืืืืื ืึท ืืืขืงืืึธืจ, ืึธืืขืจ ืึท ืืืขืงืืึธืจ ืคืื ื ืืฆืขืจืก. ืืขืจ ืืขื ืื, ืืึธื ืืืึทืจืื - ืืื ืคืึทืงืืืฉ ืงืึธื, ืืขืืขืจ ืขืืขืืขื ื, ืืืื ื ืืฉื ืึท ื ืึทืงืขื ืืืคึผ, ืืืขื ืืึธืื ืึท ืงืึทื ืกืืจืึทืงืืขืจ, ืืื ืืื ืึท ืืื ืืืขื ืืื ืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืขืก ืืืึธืื ืืืื ื ืืืืืง ืฆื ืงืึธื ืืจืึธืืืจื - ืืื ืืืจ ืืขื ืขื ืืขืฉืืงื ืคึผืื ืงื ืืื ืืขืืขืจ ืขืืขืืขื ื ืคืื ืืขื ืืืขืงืืึธืจ ืึทื ืืืคึผ? ืืื ืืืื ืขืก ืืื ืืขืืืขื ืึท ืืื ืคืื PHP, ืืื ืืืึธืก ืื ืืขื ืืข ืงืขื ืขื ืึทื ืืืึทืืื ืคืึทืจืฉืืืขื ืข ืืืืคึผืก ืืื ืคืึทืจืฉืืืขื ืข ืขืืขืืขื ืื?
ืืื ืืขื ืคืื ื, ืืืจ ืึธื ืืืืื ืฆื ืืืื ืืขืจ - ืืื ืึทืืึท ืึท TL ืืืจืฃ? ืืคึฟืฉืจ ืคึฟืึทืจ ืื ืืืึธืื ืขืก ืืืึธืื ืืืื ืืขืืืขื ืฆื ื ืืฆื ืื ืืขื ืืฉืืขื ืกืืจืืึทืืืืขืจ, ืื ืืขืืืข ืคึผืจืึธืืึธืืืฃ ืืืึธืก ืฉืืื ืืขืืืขื ืืขืืึธืื? ืขืก ืืื ืืขืืืขื ืืขืึธืจืืข, ืืึธืืืจ ืงืืงื ืืื ืคืืจ.
ืืืืืกืืื ื TL ืืืคึผืืึทืืึทื ืฅ ืืื ืงืึธื
TL ืืื ืืขืืืืจื ืืื ืื ืืขืืขืจืขื ืคืื ืืืงืึธื ืืึทืงืืข ืืคืืื ืืืืืขืจ ืื ืืขืืื ื-ืืืงืื ื ืืขืฉืขืขื ืืฉื ืืื ืืขื ืคืึทืจืงืืืฃ ืคืื ืืืจืึธืื ืก ืืืืื ืืื (ืืืกืืึธืืข), ืืคืืื ืืืืืขืจ ืื ืึทื ืืืืืงืืื ื ืคืื ืืขืืขืืจืึทื. ืืื ืืื ืึธืคึฟื ืืงืืจ
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>;
ืืึธืก ืืื ืื ืืขืคึฟืื ืืฆืืข ืคืื โโืื hashmap ืืืกืืขืจ ืืืคึผ, ืืื ืึท ืืืขืงืืึธืจ ืคืื ืื ื - ืืืคึผ ืคึผืขืจื. ืืื C ++ ืขืก ืืืึธืื ืงืืงื ืขืคึผืขืก ืืื ืืึธืก:
template <T> class IntHash {
vector<pair<int,T>> _map;
}
ืืืื, alpha
- ืงืืืืขืจื! ืืืขืจ ื ืืจ ืืื C++ ืงืขื ืืขื ืฉืจืืืื T, ืืืขืจ ืืขื ืืืจืฃ ืฉืจืืืื ืืืคื, ืืืชื... ืืืขืจ ื ืืฉื ืืขืจ ืืื 8 ืคึผืึทืจืึทืืขืืขืจืก, ืืื ืืื ืื ืคืื ืืืืืข ืืขืขื ืืืื ืืืืฃ ืืขืื. ืึทืืื ืขืก ืืืื ื ืึทื ืึทืืึธื ืืื ืคืขืืขืจืืืจื ืขืก ืืขื ืขื ืืขืืืขื ืืขืขืจืขื ืึทืืึท ืืืึทืืึธืื:
-- ะะฐะดะพ ัะดะตะปะฐัั ะฒ TL ัะฐะฑะปะพะฝั
-- ะะป... ะั ะฟัััั ะฟะฐัะฐะผะตััั ะทะพะฒัั ะฐะปััะฐ, ะฑะตัะฐ,... ะะฐะบะธะต ัะฐะผ ะตัั ะฑัะบะฒั ะตััั... ะ, ัััะฐ!
-- ะัะฐะผะผะฐัะธะบะฐ? ะั ะฟะพัะพะผ ะฝะฐะฟะธัะตะผ
-- ะกะผะพััะธัะต, ะบะฐะบะพะน ั ัะธะฝัะฐะบัะธั ะฟัะธะดัะผะฐะป ะดะปั ัะฐะฑะปะพะฝะพะฒ ะธ ะฒะตะบัะพัะฐ!
-- ะขั ะดะพะปะฑะฐะฝัะปัั, ะบะฐะบ ะผั ััะพ ะฟะฐััะธัั ะฑัะดะตะผ?
-- ะะฐ ะฝะต ััััะต, ะพะฝ ัะฐะผ ะพะดะธะฝ ะฒ ัั
ะตะผะต, ะทะฐั
ะฐัะบะพะดะธัั -- ะธ ะพะบ
ืืืขืจ ืขืก ืืื ืืขืืืขื ืืืขืื ืืขืจ ืขืจืฉืืขืจ ืืขืืืืื ืืืคึผืืึทืืขื ืืืืฉืึทื ืคืื TL "ืืืื". ืืึธืืืจ ืืืื ืฆื ืื ืืึทืืจืึทืืืื ื ืคืื ืืืคึผืืึทืืึทื ืฅ ืืื ืื ืคืึทืงืืืฉ ืืขืืขืืจืึทื ืงืืืืึทื ืฅ.
ืืึทืกืื ืก ืืืึธืจื:
ืืืึทืกืืื, [09.10.18 17:07] ืจืืึฟ ืคืื ืึทืืข, ืืขืจ ืืึธืืขืก ืืื ืืืืก ืคืื ืื ืคืึทืงื ืึทื ืืื ืกืงืจืื ืึทืจืืืฃ ืึท ืืื ืื ืคืื ืึทืืกืืจืึทืงืฆืืขืก, ืืื ืืึทื ืืื ืืึทืืขืจื ืึท ืจืืื ืืืืฃ ืืื, ืืื ืึธืืืืขืจืืืื ืื ืงืึธืืขืืขืืขืจืึทืืึธืจ ืืื ืงืจืึทืืฉืื
ืืื ืึท ืจืขืืืืืึทื, ืขืจืฉืืขืจ ืคืื ืื ืืึทืงืก ืื pilot.jpg
ืืขืจื ืึธื ืคึฟืื ืื jekichan.webp ืงืึธื
ืืึธื, ืคึฟืื ืืขื ืืฉื ืืืึธืก ืืขื ืขื ืืึทืงืึทื ื ืืื ืึทืืืขืจืืืึทืื ืืื ืืืืขืืืืืง, ืืืจ ืงืขื ืขื ืืขืจืืืึทืจืื ืึทื ืืื ืืึธืื ืืืืขื ืขื Aho, Ullman, ืืื ืืขื ืขื ืืึทืงืึทื ื ืืื ืื ืืข ืคืึทืงืืึธ ืื ืืึทืกืืจื ืกืืึทื ืืึทืจื ืืืฉืืจืื ืคึฟืึทืจ ืฉืจืืืื ืืืืขืจ ืืกื ืงืึทืืคึผืืืืขืจื ืืืืขืจ ืื ืืึธืจืฆืขื ืืืื ื, ืจืขืื? ..
ืืืืจ
16.12 04:18 ืืืึทืกืืื: ืืื ืืืื ืืืื ืื ื, ืขืืขืฆืขืจ ืืื ื ืืฉื ืืึทืกืืขืจื ืืขืงืก + ืืึทืง
16.12 04:18 ืืืึทืกืืื: ืึทื ืืขืจืฉ ืืื ืงืขื ื ืืฉื ืืขืจืงืืขืจื ืขืก
16.12 04:18 ืืืึทืกืืื: ื ื, ืึธืืขืจ ืืื ืืขื ืขื ืืึทืฆืึธืื ืคึฟืึทืจ ืื ื ืืืขืจ ืคืื ืฉืืจืืช ืืื ืืืง
16.12 04:19 ืืืึทืกืืื: 3 ืง+ ืฉืืจืืช ืคืื ืื ืืขืจืข<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] ืืื ืืึธ ืืึธืื ืืืจ ืืจืึทืืื ืฆื ืืขื ืืึทืจืฃ ืึทืืึท ืชึผื.
ืืืื ืืื ืืขืืืืื ืฆื ืืึทืืึทืืึทื ืืื ืึธืืืขืจื ืึทืืืื ืืืคึผืืึทืืึทื ืฅ, ืืื ืืืึธืื ืึธื ืืืืื ืื ืกืขืจืืื ื ืฉืืจื ืืจืืืงืก, ืืึทืื ืคืื ืื ืคึผืึทืจืกืขืจืก ืืืขื ืืจืขืื ืืืืฃ ืืึทืืื-ืฉืืจื ืืื
tdesktop, ืึธืืขืจ, ืืืื
ืืขืืขื ืงื ืื ืคืื ื ืืืขืื ืืืื-ืืืื ืขืจื, ืืืจ ืืืขืื ืฆืืจืืงืงืืืขื ืฆื ืืื ืึท ืืืกื ืฉืคึผืขืืขืจ.
ืึธืืงืื, ืืขืืขืืจืึทื-ืงืื ืืื ืึทื ืึทืคืืฉืึทื, ืืขืืขืืจืึทื ืืขืกืงืืึธืคึผ ืืื ืืึทืึทืืืขืจ, ืึธืืขืจ ืืืึธืก ืืืขืื ืื ืื ืืขืจืข? ืืื ืืืขืจ ืืืืืกื?.. ืืื ืื ืึทื ืืจืืื ืงืืืขื ื ืงืึธื, ืขืก ืืื ืืขืืืขื ืงืืื ืกืืฉืขืืึท ืคึผืึทืจืกืขืจ ืืืึท ืึทืืข (ืืืึธืก ืจืืืืื ืคึฟืจืืื ืืืขืื ืึธืคึฟื ืืงืืจ, ืึธืืขืจ ืืึธืก ืืื ืคึฟืึทืจ ืื ืจืืข ืืืื), ืึธืืขืจ ืขืก ืืขื ืขื ืืขืืืขื ืขืืืขืืข ืื ืืขืจืข ืืึธืื ืข ืฉืืืง ืคืื ืงืึธื, ืึธืืขืจ ืืืขืื ืืื ืืื ืื ืกืึทืืกืขืงืฆืืข ืืื ืื.
ืืืึธืก ืื ืืขืจืข ืคืจืืืขืก ืจืืืืึทื ืกืืจืืึทืืืืืืฉืึทื ืืื ืคืืจ? ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื ืกืงืจืื ืึทืจืืืฃ, ืคืื ืงืืจืก, ืืื ืืืกื ืคืขืืืขืจ ืืื ืงืึทื ืืืฉืึทื ืึทื ืคืขืืืขืจ:
ืืืึทืกืืื:
flags.0? true
ืืืื ืื ืคืขืื ืืื ืคืึธืจืฉืืขืื ืืื ืืืช ืืืื ืื ืคืึธื ืืื ืืึทืฉืืืืืืืึทืกืืื:
flags.1? int
ืืืื ืื ืคืขืื ืืื ืคืึธืจืฉืืขืื ืืื ืืึทืจืฃ ืืืื ืืขืกืขืจืืึทืืืืขืืืืึทืกืืื: ืืึธืืขืก, ืืจืขื ืขื ื ืืฉื, ืืืึธืก ืืึธื ืืืจ ืืึธื!
Vasily: ืขืจืืขืฅ ืืื ืื ืืึธืง ืขืก ืืื ืึท ืืขืจืืึธื ืขื ืึทื ืืืช ืืื ืึท ื ืึทืงืขื ืืืคึผ ืคืื ื ืื ืืขื ื, ืึธืืขืจ ืขืก ืืื ืึทื ืจืืืืกืืืง ืฆื ืืึทืืืขื ืขืคึผืขืก ืคืื ืืืืขืจ ืืึธืงืก
ืืืึทืกืืื: ืขืก ืืื ื ืื ืึทืืึท ืืึทื ืืื ืึธืคึฟื ืืืคึผืืึทืืึทื ืฅ ืึธืืขืจ, ืึธืืขืจ ืขืก ืืขื ืขื ืึท ืคึผืืึทืฅ ืคืื ืงืจืึทืืฉืื ืืื ืคึผืจืึทืคึผืก
ืืื ืืืขืื ืึท ืืขืืขืืึธื? ืงืืงื ืคืึธืจืืืก ืืืืฃ ืื ืืขืืข ืคืื โโMTProto, ืึท ืืืึทืฉืคึผืื - ืขืก ืืขื ืขื ืึทืืึท ืืจืขืงืืขื ืืื ืื ืืึทืงืืืืขื ืืืืฉืึทื, ืึธืืขืจ ืืขืจ ืฆืืืื %
ืขืก ืืืขืจื ืืืืื ืืึทืฉืจืืื ืืื "ืงืึธืจืึทืกืคึผืึทื ืืื ื ืฆื ืื ืืขืืขืื ื ืึทืงืขื-ืืืคึผ", ื.ื. ืืื ืื ืืืืฉืคืืื ืืื ืื, ืึธืืขืจ ืึท ืืขืืช ืึธืืขืจ ืขืคึผืขืก ืึทื ืืึทืงืืึทืืขื ืื:
ืืืึทืกืืื, [22.06.18/18/38 XNUMX:XNUMX] ืืื ืืืื ืึธืจื:
msg_container#73f1f8dc messages:vector message = MessageContainer;
ืืื ืึท ืึทื ืืขืจืฉ ืืืขื:
msg_container#73f1f8dc messages:vector<%Message> = MessageContainer;
ืืื ืืึธืก ืืขื ืขื ืฆืืืื ืืจืืืก ืืืคืขืจืึทื ืกืื, ืืื ืคืึทืงืืืฉ ืืขืื ืงืืื ืึท ืืื ืคืื ื ืึทืงืขื ืืืขืงืืึธืจ
ืืื ืืื ื ืืฉื ืืขืืขื ื ืึทืงืขื ืืืขืงืืึธืจ ืืขืคึฟืื ืืฆืืขืก ืืื ืืื ืืื ื ืืฉื ืืขืคึฟืื ืขื ืขืก
ืึทื ืึทืืืกืืก ืืขืฉืจืืื ืืื ืืขืืขืืึธื ืืืจื ืืึทื ื
ืืืื ืกืืขืืข ืงืึทืืขื ืืึทื ืืืืก ืื ืืขืคึฟืื ืืฆืืข
msg_container
ืืืืืขืจ, ืื ืงืฉืื ืืืืืื ืืืขืื%. ืขืก ืืื ื ืืฉื ืืืกืงืจืืืื.
ืืืึทืืื ืืึธื ืืฉืึทืจืึธืื, [22.06.18/19/22 XNUMX:XNUMX] ืืื ืืื tdesktop?
ืืืึทืกืืื, [22.06.18/19/23 XNUMX:XNUMX] ืืืขืจ ืืืืขืจ TL ืคึผืึทืจืกืขืจ ืืืืฃ ืื ืจืขืืืืึทืืึธืจืก ืืืขื ืืืกืืึธืืข ืืืื ื ืืฉื ืขืกื ืขืก
// parsed manually
TL ืืื ืึท ืฉืืื ืึทืืกืืจืึทืงืฆืืข, ืงืืื ืืืื ืขืจ ืืืคึผืืึทืืึทื ืฅ ืขืก ืืึธืจ
ืืื ืขืก ืืื ืงืืื % ืืื ืืืืขืจ ืืืขืจืกืืข ืคืื โโืื ืกืืขืืข
ืืืขืจ ืืึธ ืื ืืึทืงืืืืขื ืืืืฉืึทื ืงืึทื ืืจืึทืืืงืฅ ืืื, ืึทืืื xs
ืขืก ืืื ืืขืคืื ืขื ืืื ืืจืึทืืึทืืืง, ืืื ืงืขื ื ืึธืจ ืคืึทืจืืขืกื ืฆื ืืึทืฉืจืืึทืื ืื ืกืขืืึทื ืืืง
ื ื, ืืืกื ืืขืืขืื ืืขื ืืืง ืืืืฃ ืช"ื, ืืขื ืงืขื ืขืก ื ืืฉื ืืืืกืจืขืืขื ืขื ืื ื ืืืืื ืืืืขืจ
"ื ื, ืืึธืืืจ ืืึธืื," ืืืขื ืื ืื ืืขืจ ืืืืขื ืขืจ ืืึธืื, "ืืืจ ืงืจืืืืงืืจื ืึทืืฅ, ืึทืืื ืืืืึทืื ืขืก ืืื ืขืก ืืึธื."
ืืืึทืกืืื ืขื ืืคืขืจื: "ืืื ืคึฟืึทืจ ืื ืคึผืึทืจืกืขืจ, ืืื ืืึทืจืคึฟื ืืืื ืืื
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 ) ืืื ืื ืคืืืืขื ืืข ืื ืึธืื ืืืื ืืืื ืืืืขืื ื:
part_size % 1024 = 0
(ืืืืืืืึทืืึทื ืืืจื 1KB)524288 % part_size = 0
(512KB ืืืื ืืืื ืืืืึทื ืื ืืืืืืืึทืืึทื ืืืจื ืืืื_ืืจืืืก)ืื ืืขืฆืืข ืืืื ืืึทืจืฃ ื ืืฉื ืืึทืคืจืืืืงื ืื ืืืืื ืืื ืืขื, ืืืื ืื ืืจืืืก ืืื ืืืืื ืืงืขืจ ืืื ืืืื_ืกืืื.
ืืขืืขืจ ืืืื ืืึธื ืืึธืื ืึท ืกืืงืืืึทื ืก ื ืืืขืจ, file_part, ืืื ืึท ืืืขืจื ืจืืื ืืืฉืื ื ืคืื 0 ืฆื 2,999.
ื ืึธื ืื ืคึผืึทืจืืืฉืึทื ื ืคืื ืื ืืขืงืข ืืืจ ืืึทืจืคึฟื ืฆื ืงืืืึทืื ืึท ืืืคึฟื ืคึฟืึทืจ ืฉืคึผืึธืจื ืขืก ืืืืฃ ืื ืกืขืจืืืขืจ. ื ืืฆื
upload.saveBigFilePart ืืื ืคืึทื ืื ืคืื ืืจืืืก ืคืื ืืขืจ ืืขืงืข ืืื ืืขืจ ืืื 10 ืื ืืืupload.saveFilePart ืคึฟืึทืจ ืงืืขื ืขืจืขืจ ืืขืงืขืก.
[...] ืืืื ืขืจ ืคืื ืื ืคืืืืขื ืืข ืืึทืื ืึทืจืืึทื ืฉืจืืึทื ืขืจืจืึธืจืก ืงืขื ืืืื ืืืืืขืงืขืจื:
- FILE_PARTS_INVALID - ืืืืืืืืืง ื ืืืขืจ ืคืื ืคึผืึทืจืฅ. ืื ืืืขืจื ืืื ื ืืฉื ืฆืืืืฉื
1..3000
ืืขื ืขื ืงืืื ืคืื ืื ืคืึธืจืฉืืขืื ืืื ืื ืกืืขืืข? ืืื ืขืก ืขืคืขืก ืืืืกืืจืืงืืื ืืืจื ืช"ื? ื ืืื. ืึธืืขืจ ืึทื ืืฉืืืืืงื, ืึทืคึฟืืื ืืขืจ ืึทืืืืึธืืืฉ ืืืจืืึธ ืคึผืึทืกืงืึทื ืืื ืืืืืืช ืฆื ืืึทืฉืจืืึทืื ืื ืืืืคึผืก ืืขืืขืื ืืืจื ืจืืื ืืืฉืึทื. ืืื ืขืจ ืงืขื ืืึธื ื ืึธื ืืืื ืืึทื, ืืืฆื ืืขืกืขืจ ืืืงืื ื ืืื enum
- ืึท ืืืคึผ ืืืึธืก ืืืฉืืืื ืคืื ืึท ืื ืืืขืจืืืฉืึทื ืคืื ืึท ืคืึทืจืคืขืกืืืงื (ืงืืืื) ื ืืืขืจ ืคืื ืืืึทืืืขืก. ืืื ืฉืคืจืืื ืืื C - ื ืืืขืจืืง, ืืืจ ืืึธืื ืืืืื ืืขืจืขืื ืืืขืื ืืืืคึผืก ืืื ืืืฆื. ื ืืืขืจื. ืืืขืจ ืขืก ืืขื ืขื ืืืื ืขืจืืื, ืกืืจืื ืืก ... ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืขืก ืืืึธืื ืืืื ืคืืึทื ืฆื ืืึทืฉืจืืึทืื ืึทื ืืขืจ ืฉืืจืืงื ืงืขื ืขื ืืืืื ืึทื ืืืึทืืื ืึท ืืขืืขืคืึธื ื ืืืขืจ, ืจืขืื?
ืงืืื ืขืจ ืคืื ืืขื ืืื ืืื TL. ืึธืืขืจ ืขืก ืืื, ืืืฉื, ืืื JSON ืกืืฉืขืืึท. ืืื ืืืื ืขืืขืฆืขืจ ืึทื ืืขืจืฉ ืงืขื ืขื ืึทืืืืฉืขืงืฅ ืืืขืื ืื ืืืืืืืึทืืืืืื ืคืื 512 ืงื ืึทื ืืึธืก ื ืึธื ืืึทืจืฃ ืืืื ืึธืคึผืืขืฉืืขืื ืืื ืื ืงืึธื, ืืึทืื ืืืืขืจ ืึทื ืืขืจ ืงืืืขื ื ืคืฉืื ืงืขื ื ืืฉื ืฉืืงื ื ืืืขืจ ืืืืก ืคืื ืงืืื 1..3000
(ืืื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืขืืช ืงืขื ื ืืฉื ืืึธืื ืืืืคืืขืฉืืื ืขื) ืขืก ืืืึธืื ืืืื ืืขืืืขื, ืจืขืื? ..
ืืืจื ืืขื ืืืขื, ืืืขืื ืขืจืจืึธืจืก ืืื ืฆืืจืืงืงืืืขื ืืืึทืืืขืก. ืื ืืืื ืืื ืคืืจืฉืืขืจื ืืคืืื ืคืืจ ืื ืืืืก ืืืื ืืขืืจืืขื ืืื ืช"ื - ืขืก ืืื ืืื ื ื ืืฉื ืืืืื ืืืืคืืขืืืคื ืืขืืข ืืืื ืข ืึท ืคึฟืื ืงืฆืืข ืืื TL ืงืขื ืขื ืึทืงืฉืื ืฆืืจืืงืงืืืขื ื ืื ืืืืื ืื ืืืกืงืจืืืื ืฆืืจืืงืงืืืขื ืืืคึผ, ืึธืืขืจ ืืืื ืึท ืืขืืช. ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืืืืืกืึทืืึทื ืืืจื ืื ืช"ื ืืื. ืคืื ืงืืจืก, ืขืก ืืื ืคืึทืจืฉืืืืืง ืกืืึท ืืื ืกืืึท ืืื ื ืึทืคืื ืืื ื ืื ื ืืืืืง ืืื ืคืืจ (ืืึธืืฉ ืืื ืคืึทืงื, RPC ืงืขื ืขื ืืืื ืืขืืื ืืื ืคืึทืจืฉืืืขื ืข ืืืขืื, ืืืจ ืืืขืื ืฆืืจืืงืงืืืขื ืฆื ืืขื) - ืึธืืขืจ ืืืึธืก ืืืขืื ืื ืจืืื ืงืืึทื ืคืื ืื ืงืึทื ืกืขืคึผืก ืคืื ืืืืขืืืืืง ืคืื ืึทืืกืืจืึทืงื ืืืืคึผืก ืคืื ืื ืืืืืืฉืข ืืืขืื?.. ืืขืืืคื ืื ืฉืืขืคึผ - ืึทืืื ืืืืึทืื.
ืืื ืืขืกืึธืฃ, ืืืึธืก ืืืขืื ืืืืขื ืขื? ื ื, ืืึธืจื, ืืื ืึทืืืขืืืื, ืืื ืืืึธืื ืืื ืืึทืฉืจืืึทืืื ื ืืึธืื ืขืก ืจืขืื ืืื ืื ืกืืฉืขืืึท (ืืืืืขืจ, ืขืก ืืื ืืื ืื JSON ืกืืฉืขืืึท), ืึธืืขืจ ืืืื ืขืก ืืื ืฉืืื ืกืืจืืื ื ืืื ืขืก, ืืืึธืก ืืืขืื ืื ืคึผืจืึทืงืืืฉ ืืืึทื - ืืื ืืื ืืกืืขืจ ืขืก ืืื ืคึผืฉืื ืฆื ืืืื ืืืคืขืจืึทื ืกืื ืืขืฉืึทืก ืืขืจืืืึทื ืืืงืื ืืขื? ืืขื ืคึฟืึทืจ ืืื ืืื
-channelFull#76af5481 flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int = ChatFull;
+channelFull#1c87a71a flags:# can_view_participants:flags.3?true can_set_username:flags.6?true can_set_stickers:flags.7?true hidden_prehistory:flags.10?true can_view_stats:flags.12?true id:int about:string participants_count:flags.0?int admins_count:flags.1?int kicked_count:flags.2?int banned_count:flags.2?int online_count:flags.13?int read_inbox_max_id:int read_outbox_max_id:int unread_count:int chat_photo:Photo notify_settings:PeerNotifySettings exported_invite:ExportedChatInvite bot_info:Vector<BotInfo> migrated_from_chat_id:flags.4?int migrated_from_max_id:flags.4?int pinned_msg_id:flags.5?int stickerset:flags.8?StickerSet available_min_id:flags.9?int = ChatFull;
ืึธืืขืจ
-message#44f9b43d flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true id:int from_id:flags.8?int to_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long = Message;
+message#44f9b43d flags:# out:flags.1?true mentioned:flags.4?true media_unread:flags.5?true silent:flags.13?true post:flags.14?true from_scheduled:flags.18?true id:int from_id:flags.8?int to_id:Peer fwd_from:flags.2?MessageFwdHeader via_bot_id:flags.11?int reply_to_msg_id:flags.3?int date:int message:string media:flags.9?MessageMedia reply_markup:flags.6?ReplyMarkup entities:flags.7?Vector<MessageEntity> views:flags.10?int edit_date:flags.15?int post_author:flags.16?string grouped_id:flags.17?long = Message;
ืขืืขืฆืขืจ ืืื ืขืก, ืึธืืขืจ GitHub, ืืืฉื, ืืืื ืฆื ืืืืืคึผืื ืงื ืขื ืืขืจืื ืืขื ืืื ืึทืืึท ืืึทื ื ืฉืืจืืช. ืื ืฉืคึผืื "ืืขืคืื ืขื 10 ืืืคืขืจืึทื ืกืื", ืืื ืืืึธืก ืืขืจ ืืึทืจื ืืืืื ืืขื ืืื ืึทื ืื ืึธื ืืืื ืืื ืขื ืืก ืืขื ืขื ืื ืืขืืืข ืืื ืืืืืข ืืืืฉืคืืื, ืืืจ ืืึทืจืคึฟื ืฆื ืืืืืึทืกืื ืืืืขื ืขื ืขืจืืขืฅ ืืื ืื ืืืื ... ืืื ืืืื ืืืื ืื ื, ืืึธืก ืืื ื ืืฉื ื ืึธืจ ืืื ืืขืึธืจืืข, ืึธืืขืจ ืจืืื ืืืืืฉืืืึทืื ืงืืงื ืฉืืืฆืืง ืืื ืืืืงืขืืคื.
ืืื, ืืืขืื ืื ืจืืื ืงืืื ืคืื ืืขืืจืืข. ืคืืจืืืืก ืืขื ืขื ืืืกื ืคืขืืืขืจ ืืืจืฃ? ืืื ืืืืืกื ื ืืฉื ืฉืืขืงื ืฉืืขืื ืคืื ืื ืคืื ื ืคืื ืืืื ืื ื ืคืื ืืืคึผ ืืขืึธืจืืข? ืึท ืืขืจืงืืขืจืื ื ืงืขื ืขื ืืืื ืืขืืขื ืืื ืคืจืืขืจ ืืืขืจืกืืขืก ืคืื ืื ืกืืฉืขืืึท. ืืื ืขืจืฉืืขืจ, ืืึธ, ืขืก ืืื ืืขืืืขื ืึทืืื, ืึท ื ืืึท ืืืคึผ ืืื ืืืฉืืคื ืคึฟืึทืจ ืืขืืขืจ ื ืืกื. ืื ืจืืืืืขื ืฅ ืืขื ืขื ื ืึธื ืืึธืจื ืืื ืืขื ืคืึธืจืขื, ืคึฟืึทืจ ืืืึทืฉืคึผืื:
storage.fileUnknown#aa963b05 = storage.FileType;
storage.filePartial#40bc6f52 = storage.FileType;
storage.fileJpeg#7efe0e = storage.FileType;
storage.fileGif#cae1aadf = storage.FileType;
storage.filePng#a4f63c0 = storage.FileType;
storage.filePdf#ae1e508d = storage.FileType;
storage.fileMp3#528a0677 = storage.FileType;
storage.fileMov#4b09ebbc = storage.FileType;
storage.fileMp4#b3cea0e4 = storage.FileType;
storage.fileWebp#1081464c = storage.FileType;
ืึธืืขืจ ืืืฆื ืืืึทืืืฉืึทื ืืืื ืืืจ ืืึธืื 5 ืึทืคึผืฉืึทื ืึทื ืคืขืืืขืจ ืืื ืืืื ืกืืจืืงืืืจ, ืืืจ ืืึทืจืคึฟื 32 ืืืืคึผืก ืคึฟืึทืจ ืึทืืข ืืขืืืขื ืึธืคึผืฆืืขืก. ืงืึธืืืื ืึทืืึธืจืืึทื ืืงืกืคึผืืึธืืืฉืึทื. ืึทืืื ืื ืงืจืืกืืึทื ืจืืื ืงืืึทื ืคืื ืื TL ืืขืึธืจืืข ืืืืืขืจ ืงืจืึทืฉื ืงืขืื ืื ืืขืฉืืึทืื-ืืืึทืื ืืึธืืขืก ืคืื ืื ืืึทืจื ืคืึทืงื ืคืื ืกืืจืืึทืืืืืืฉืึทื.
ืืื ืืขืจืฆื, ืืื ืขืจืืขืจ ืื ืืืื ืืื ืึธื ืจืืจื ืืืืขืจ ืืืืคึผืื ื. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืื 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;
ืืื ืคืืจ, ืืึธืก ืืืื ืึทื ืืืืืขืจ ืืขืืขืจ ืึทืคึผื ืจืืคื, ืึทื ืื ื ืืื ืื ืืืขืจื
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 XNUMX:XNUMX PM] ืืืืฃ ืคืจืืืืื ืืื ืืขืืึทื ืง:
ืื ืืขืืขืกืขืจืืืขืจ ืกืขื ืื ืืขืฉืขืขื ืืฉื ืึธื ืึท ืืงืฉื. ืจืืงืืืขืก ืืึทืจืคึฟื ืฆื ืืืื ืืื ืืขืืืืงืื ืืื InvokeWithLayer. ืืขืจ ืกืขืจืืืขืจ ืืื ื ืืฉื ืืึทื ืืืืงืืขื ืืขืจืืืึทื ืืืงืื ืืขื, ืขืก ืืื ืงืืื ืกืืจืืงืืืจ ืคึฟืึทืจ ืจืึทืคึผืื ื ืจืขืกืคึผืึธื ืกืขืก ืืื ืืขืจืืืึทื ืืืงืื ืืขื.ืืขื ืข. ืืขืจ ืงืืืขื ื ืงืขื ื ืืฉื ืกืคึผืขืฆืืคืืฆืืจื ืื ืฉืืืืข ืืื ืืืึธืก ืขืจ ืืืื ืืขืจืืืึทื ืืืงืื ืืขื
ืืืึทืืื ืืึธื ืืฉืึทืจืึธืื, [16.07.18/14/02 XNUMX:XNUMX] ืืื ื ืืฉื InvokeWithLayer ืึท ืงืจืึทืืฉ ืืื ืคึผืจืื ืฆืืคึผ?
ืืืึทืกืืื, [16.07.18/14/02 XNUMX:XNUMX] ืืึธืก ืืื ืืขืจ ืืืืื ืืืขื
Vadim Goncharov, [16.07.18/14/02 XNUMX:XNUMX] ืืืึธืก ืืื ืขืกืึทื ืก ืืึธื ืืืื ืขื ืืืืขืจืื ื ืืื ืื ืึธื ืืืื ืคืื ืื ืกืขืกืืข
ืืืจื ืืขื ืืืขื, ืขืก ืืืื ืคืื ืืขื ืึทื ืึท ืงืืืขื ื ืืึทืื ืืจืืื ืืื ื ืืฉื ืฆืืืขืฉืืขืื
ืืขืจืืืึทื ืืืงืื ืืขื, ื.ื. ืืืคึผ Updates
ืืื ืืขื ืกืืขืืข, ืืึธืก ืืื ืืืึธืก ืืขืจ ืกืขืจืืืขืจ ืกืขื ืื ืฆื ืืขื ืงืืืขื ื ื ืื ืืื ืขื ืืคืขืจ ืฆื ืึทื ืึทืคึผื ืืขืื, ืึธืืขืจ ืึทืืืื ืืืขื ืึท ืืขืฉืขืขื ืืฉ ืึทืงืขืจื. ืืึธืก ืืื ืึท ืงืึธืืคึผืืขืงืก ืืขืืข ืืืึธืก ืืืขื ืืืื ืืืกืงืึทืกื ืืื ืื ืื ืืขืจ ืคึผืึธืกืื, ืึธืืขืจ ืืืฆื ืขืก ืืื ืืืืืืืง ืฆื ืืืืกื ืึทื ืืขืจ ืกืขืจืืืขืจ ืึทืงืืืืืึทืืืืฅ ืืขืจืืืึทื ืืืงืื ืืขื ืืคืืื ืืืขื ืืขืจ ืงืืืขื ื ืืื ืึธืคืคืืื ืข.
ืืืื, ืืืขื ืจืืคืืืืื ื ืฆื ืืึทื ืืืืงืืขื ืืขืืขืจ ืคึผืขืงื ืฆื ืึธื ืืืืึทืื ืืืึทื ืืืขืจืกืืข, ืืขืจืคืืจ ืื ืคืืืืขื ืืข ืืขืืืขื ืคึผืจืึธืืืขืืก ืฉืืืืขื ืืึทืืืฉืืงืื:
- ืืขืจ ืกืขืจืืืืจืขืจ ืกืขื ืื ืืขืจืืืึทื ืืืงืื ืืขื ืฆื ืืขื ืงืืืขื ื ืืืืืขืจ ืืขืจ ืงืืืขื ื ืืื ืืขืจืฆืืืื ืืืึธืก ืืืขืจืกืืข ืขืก ืฉืืืฆื
- ืืืึธืก ืืึธื ืืืื ืืขืืื ื ืึธื ืึทืคึผืืจืืืืื ื ืืขื ืงืืืขื ื?
- ืืืขืจ ืืขืจืึทื ืืืืึทื ืื ืืืื ืื ื ืคืื ืื ืกืขืจืืืขืจ ืืืขืื ืื ืฉืืืืข ื ืืืขืจ ืืืขื ื ืืฉื ืืืืฉื ืืื ืืขื ืคึผืจืึธืฆืขืก?
ืฆื ืืืจ ืืจืึทืืื ืืึธืก ืืื ืจืืื ืืขืึธืจืขืืืฉ ืืจืืืื, ืืื ืืื ืคืืจ ืืึธืก ืงืขื ื ืืฉื ืคึผืึทืกืืจื, ืืืืึทื ืื ืกืขืจืืืขืจ ืืื ืืขืฉืจืืื ืจืืืืืง (ืืื ืงืืื ืคืึทื, ืขืก ืืื ืืขืกืืขื ืืขืืื ื)? ืื! ื ืืฉื ืงืืื ืืืืืง ืืื ืืืื!
ืืึธืก ืืื ืคึผืื ืงื ืืืึธืก ืืืจ ืืขืืืคื ืืื ืืืืืืกื. ืืืืฃ 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 Unexpected type id #b5223b0f ืืืืขื ืขื ืืื MTPMessageMedia ...
Google ืืึธื ืืขืืืืื ืึทื ืึท ืขื ืืขื ืคึผืจืึธืืืขื ืืื ืฉืืื ืืขืฉืขื ืฆื ืืืื ืขืจ ืคืื ืื ืึทื ืึทืคืืฉืึทื ืงืืืืึทื ืฅ, ืึธืืขืจ ืืขืืึธืื ืื ืืืขืจืกืืข ื ืืืขืจื ืืื, ืึทืงืึธืจืืื ืืื, ืื ืึทืกืึทืืคึผืฉืึทื ื ืืขื ืขื ืึทื ืืขืจืฉ ...
ืึทืืื ืืืึธืก ืฆื ืืึธื? ืืืึทืกืืื ืืื ืืื ืฉืคึผืึทืืื ืืื: ืขืจ ืืขืคืจืืืื ืฆื ืืขืจืืืึทื ืืืงื ืื ืกืืขืืข ืฆื 91, ืืื ืืึทืฉืืึธืกื ืฆื ืืืึทืจืื ืึท ืืืกื ืืขื ืืื ืคึผืจืืืืจื ืฆื 73. ืืืืืข ืืขืืืึธืืก ืืขืืจืืขื, ืึธืืขืจ ืืื ื ืืื ืืขื ืขื ืขืืคึผืืจืืงืึทื, ืขืก ืืื ืงืืื ืคืืจืฉืืื ื ืคืื ืืื ืคืืืข ืืืขืจืกืืขืก ืืืจ ืืึทืจืคึฟื ืฆื ืฉืคึผืจืื ืืขื ืึทืจืืืฃ ืึธืืขืจ ืึทืจืึธืคึผ, ืืืขืจ ืืื ืืึทื ื ืืืจ ืืึธืื ืฆื ืืืึทืจืื.
ืฉืคึผืขืืขืจ, ืืื ืืขืจืืื ืฆื ืจืขืคึผืจืึธืืืฆืืจื ืื ืกืืืืึทืฆืืข: ืืืจ ืึธื ืืืืื ืืขื ืงืืืขื ื, ืงืขืจ ืขืก ืึทืืืขืง, ืจืืงืึธืืคึผืืื ืื ืกืืขืืข ืฆื ืื ืื ืืขืจ ืฉืืืืข, ืจืืกืืึทืจื, ืืึทืคึผื ืืขื ืคึผืจืึธืืืขื ืืืืืขืจ, ืฆืืจืืงืงืืืขื ืฆื ืื ืคืจืืขืจืืืงืข - ืึธืึธืคึผืก, ืงืืื ืกืืืืืฉืื ื ืื ืกืืขืืข ืืื ืจืืกืืึทืจืืื ื ืืขื ืงืืืขื ื ืคึฟืึทืจ ืขืืืขืืข ืืื ืื ืืืขื ืืขืืคื. ืืืจ ืืืขื ืืึทืงืืืขื ืึท ืืืฉื ืคืื ืืึทืื ืกืืจืึทืงืืฉืขืจื ืคืื ืคืึทืจืฉืืืขื ืข ืืืึทืขืจืก.
ืืขืจืงืืขืจืื ื? ืืื ืืืจ ืงืขื ืขื ืืจืขืคื ืื ืคืึทืจืฉืืื ืืืืืจืขืงื ืกืืืคึผืืึธืืก, ืืขืจ ืกืขืจืืืขืจ ืืืฉืืืื ืคืื ืคืืืข ืคืึทืจืฉืืืขื ืข ืืืืคึผืก ืคืื ืคึผืจืึทืกืขืกืึทื ืืืืฃ ืคืึทืจืฉืืืขื ืข ืืืฉืื ืขื. ืจืืึฟ ืืกืชึผืื, ืืขืจ ืืืื ืขืจ ืคืื ืื ืกืขืจืืืขืจืก ืืืึธืก ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ "ืืึทืคืขืจืื ื" ืฉืืขืื ืืื ืื ืจืื ืืืึธืก ืื ืืขืืขืจ ืืึธืื ืขืก ืืขืืขืื, ืืื ืืื ืืขืืขืื ืขืก ืืื ืื ืกืืขืืข ืืืึธืก ืืื ืืขืืืขื ืืื ืื ืฆืืื ืคืื ืืืจ. ืืื ืืื ืื ืจืื ืืื ืืขืืืขื "ืคืึทืจืคืืืื", ืืึธืจื ืืฉื ืงืขื ืืืื ืืขืืื ืืืขืื ืืื.
ืกืฒึทืื... ืึธืืขืจ ืืึธืก ืืื ืึท ืฉืจืขืงืืขืืขืจ ืงืจืึทื?!.. ื ืฒื, ืืฒืืขืจ ืืขื ืืจืึทืื ืฐืขืื ืืฉืืืขื ืข ืืขืืึทื ืงืขื, ืืึธืืืจ ืึท ืงืืง ืืึธื ืืื ืืขื ืงืึธื ืคึฟืื ืึธืคึฟืืฆืืขืืข ืงืืืขื ืื. ืืื ืื ืึทื ืืจืืื ืืืขืจืกืืข ืืืจ ืืขืคึฟืื ืขื ืงืืื TL ืคึผืึทืจืกืขืจ, ืึธืืขืจ ืืืจ ืืขืคึฟืื ืขื ืึท ืืขืคืื ืืขืงืข (ืืืืืื ืืืื ืฆื ืงืึธืืืจื ืขืก) ืืื (ืืข) ืกืืจืืึทืืืืืืฉืึทื. ืืึธ ืืขื ืขื ืื ืงืึธื ืกื ืืคึผืคึผืขืฅ:
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;
ืืขืจ "ืืึทื ืืืึทืื ืืืฉืืคื" ืืึทืืขืจืงืื ื ืืึธ ืกืึทืืืืฉืขืกืฅ ืึทื ืืืืื ืืืื ืคืื ืืขื ืืขืงืข ืืื ืืขืฉืจืืื ืืืจื ืืึทื ื (ืงืขื ืขื ืืืจ ืืืึทืืืฉืึทื ืื ืืืฉืึทืื ื ืืืืืขืจ?), ืืื ืื ืื ืืื ืืื ืืึทืฉืื ืืืฉืขื ืขืจืืืืึทื. ืึธืืขืจ, ื ืึธื ืึท ืงืฉืื ืขืจืืืืึทื - ืึทื ืื ืืงืืจืื ืืขื ืขื ืื ืืืฆื ื ืื ืืึธืจ (ืึท ืืึท ืืืึทืื ืืื ืืขืจ ืื GPL ืืื ืื ืืื ืืงืก ืงืขืจื), ืึธืืขืจ ืืึธืก ืืื ืฉืืื ืึท ืืขืืข ืคึฟืึทืจ ืื ืจืืข ืืืื.
ืืืขืจ ืืขื ืื. ืืึธืืืจ ืืืื ืฆื ืืขื ืคึผืจืึธืืึธืงืึธื ืืืืฃ ืฉืคึผืืฅ ืคืื ืืืึธืก ืึทืืข ืื ืกืืจืืึทืืืืืืฉืึทื ืืื ืืฉืืืกืื ื.
ืืืคึผืจืึธืืึธ
ืึทืืื ืืึธืื ืก ืขืคืขื ืขื
ืคึฟืึทืจ ืืืึทืฉืคึผืื, "ืึธื ืืึธื" (ืึธื ืืึธื) ืืื "ืกืขืกืืข" (ืกืขืกืืข) - ืืึธ ืืื ืืืื ืขื ืขืคึผืขืก ืึทื ืืขืจืฉ ืืื ืืื ืื ืืขืืืืื ืืืขื ืฆืืืื ื ืคืื ืื ืืขืืขืืจืึทื ืงืืืขื ื. ื ื, ืึทืืฅ ืืื ืงืืึธืจ ืืื ืืขื ืึธื ืืึธื, ืขืก ืงืขื ืืืื ืื ืืขืจืคึผืจืึทืืึทื ืืื ืืขืจืืื ืขื ืคืื OOP, ืึธืืขืจ ืคืฉืื ืืขืจืืคื ืื ืืืึธืจื "ืคึผืขืงื" - ืืึธืก ืืื ืึท ื ืืืขืจืืง ืึทืจืืืขืจืคืืจื ืืืจืื, ืขืก ืืขื ืขื ื ืืฉื ืื ืืขืืืข ืึทืจืืืงืืขื ืืื ืืื ืื ืฆืืืื ื, ืขืก ืืขื ืขื ืคืืืข. ืคืื ืืื ืกื ืึธื ืขืก. ืืืขืจ ืื ืกืขืกืืข ... ืึธืืขืจ ืขืจืฉืืขืจ ืืืื ืขืจืฉืืขืจ.
ืึทืจืืืขืจืคืืจื ืฉืืืืข
ืืขืจ ืขืจืฉืืขืจ ืืึทื ืืื ืึทืจืืืขืจืคืืจื. ืืืจ ืืืขืื ืืึธืื ืืืขืื 5 ืึธืคึผืฆืืขืก:
- ืืงืคึผ
- ืืืขืืกืึธืงืงืขื
- ืืืขืืกืึธืงืงืขื ืืืืขืจ ืืืืคึผืก
- ืืืืคึผ
- ืืืืคึผืก
Vasily, [15.06.18/15/04 XNUMX:XNUMX PM] ืืื ืขืก ืืื ืืืื ืืืคึผ ืึทืจืืืขืจืคืืจื, ืึธืืขืจ ืขืก ืืื ื ืืฉื ืืึทืงืืืืขื ืืึทื
ืืื ืืงืคึผ ืืื ืืจืื ืืืขืจืืึทื ืฅ
ืืขืจ ืขืจืฉืืขืจ ืืื ืขื ืืขื ืฆื UDP ืืืืขืจ TCP, ืืขืืขืจ ืคึผืึทืงืึทื ืืืื ืึท ืกืืงืืืึทื ืก ื ืืืขืจ ืืื ืึท ืงืจืง
ืคืืจืืืืก ืืื ืขืก ืึทืืื ืืืืืืืงืืืง ืฆื ืืืืขื ืขื ืืึธืงืก ืืืืฃ ืึท ืืืึธืื?
ื ื ืืึธืจื ืืืฆื
- ืึทืืจืืืืฉื
- ืื ืืขืจืืืืืื
- ืคึผืึทืืื ืื ืืขืจืืืืืื
- ืคืื
ืืื, ืคึผืึทืืืขื ืื ืืขืจืืืืืื ืคึฟืึทืจ MTProxy, ืืึธืก ืืื ืฉืคึผืขืืขืจ ืฆืืืขืืขืื ืจืขืื ืฆื ืืึทืืืืกื ืืขืฉืขืขื ืืฉื. ืึธืืขืจ ืืืึธืก ื ืึธื ืฆืืืื ืืืขืจืกืืขืก (ืืจืืึท ืืกื ืืื), ืืืขื ืืขื ืงืขื ืืึธื? ืึทืืข ืคืืจ ืืกืขื ืฉืึทืื ืึทื ืืขืจืฉ ืืืืื ืืื ืืื ืฆื ืฉืืขืื ืื ืืขื ื ืืื ืคึผืืืืึธืื ืคืื ืื ืืืืคึผื MTProto ืืื, ืืืึธืก ืืืขื ืืืื ืืืกืงืึทืกื ืืืืึทืืขืจ:
- ืืื ืึทืืจืืืืขื ืขืก ืืื 1 ืึธืืขืจ 4 ืืืืขืก ืึธืืขืจ ื ืืฉื 0xef ืืขืืึธืื ืืืฃ
- ืืื ืื ืืขืจืืืืืื ืืึธืก ืืื 4 ืืืืขืก ืคืื ืืขื ื ืืื ืึท ืคืขืื, ืืื ืืขืจ ืขืจืฉืืขืจ ืืึธื ืืขืจ ืงืืืขื ื ืืืื ืฉืืงื
0xeeeeeeee
ืฆื ืึธื ืืืืึทืื ืึทื ืขืก ืืื ืื ืืขืจืืืืืื - ืืื ืืึทื ืฅ, ืื ืืขืจืกื ืึทืืืงืืืื, ืคึฟืื ืื ืคืื ื ืคืื ืืืื ืื ื ืคืื ืึท ื ืขืืืืึธืจืงืขืจ: ืืขื ื, ืกืืงืืืึทื ืก ื ืืืขืจ, ืืื ื ืืฉื ืืขืจ ืืืื ืขืจ ืืืึธืก ืืื ืืืืกืืงืื MTProto, ืืืฃ, CRC32. ืืึธ, ืึทืืข ืืขื ืืืืขืจ TCP. ืืืึธืก ืืื ืืื ืื ืคืึทืจืืึธืืืขื ืึทืจืืืขืจืคืืจื ืืื ืื ืคืึธืจืขื ืคืื ืึท ืกืืจืืึทื ืืืึทื ืคืื ืืืืขืก, ืงืืื ืกืืงืืืึทื ืกืื ืืขื ืขื ืืืจืฃ, ืกืคึผืขืฆืืขื ืืฉืขืงืกืึทืื. ืึธืืงืื, ืืืฆื ืืื ืืืขื ืืืื ืึทืืืืฉืขืงืืึทื ืึทื TCP ืืื ืึท 16-ืืืกื ืืฉืขืงืงืกืื, ืึทืืื ืืึทืื ืงืึธืจืืคึผืฆืืข ืืึทืคึผืึทื ื. ืืจืืืก, ืึทืืืฅ ืึทื ืืืจ ืึทืงืฉืื ืืึธืื ืึท ืงืจืืคึผืืึธืืจืึทืคืืง ืคึผืจืึธืืึธืงืึธื ืืื ืืึทืฉืขืก ืืขืจ ืืื 16 ืืืืขืก, ืึทืืข ืื ืขืจืจืึธืจืก - ืืื ืืคืืื ืืขืจ - ืืืขื ืืืื ืืขืืืคื ืืืืฃ ืึท SHA ืืืกืืึทืืฉ ืืืืฃ ืึท ืืขืืขืจ ืืืจืื. ืขืก ืืื ืงืืื ืคืื ื ืืื CRC32 ืืืืขืจ ืืขื.
ืืึธืืืจ ืคืึทืจืืืืึทืื ืึทืืจืืืืขื, ืืื ืืืื ืืืื ืืขื ื ืืื ืืขืืืขื, ืืื ืื ืืขืจืืืืืื, ืืืึธืก ืืืฉืึทืกืืึทืคืืื "ืืื ืคืึทื 4-ืืืืข ืืึทืื ืึทืืืื ืืึทื ื ืืื ืืืจืฃ", ืืืึธืก ืืื ืฉืืื ืืืืื. ืืืึธืก, ืขืก ืืื ืืขืืืืืื ืึทื ืืขืืขืืจืึทื ืคึผืจืึธืืืจืึทืืขืจื ืืขื ืขื ืึทืืื ืืขืคึผืืฉ ืึทื ืืื ืงืขื ืขื ื ืืฉื ืืืืขื ืขื ืืึทืื ืคึฟืื ืื ืืึธืืขื ืืื ืึทื ืึทืืืื ื ืืึทืคืขืจ? ืืืจ ื ืึธื ืืึธืื ืฆื ืืึธื ืืึธืก, ืืืืึทื ืืืืขื ืขื ืงืขื ืขื ืฆืืจืืงืงืืืขื ืืืจ ืงืืื ื ืืืขืจ ืคืื ืืืืขืก (ืืื ืขืก ืืขื ืขื ืืืื ืคึผืจืึทืงืกื ืกืขืจืืืขืจืก, ืคึฟืึทืจ ืืืึทืฉืคึผืื ...). ืึธืืขืจ, ืืืืฃ ืื ืื ืืขืจืข ืืึทื ื, ืืืึธืก ืึทืจื ืืื ืึทืืจืืืืฉื ืืืื ืืืจ ื ืึธื ืืึธืื ืืขืคืื ืคึผืึทืืืื ืื ืคืื 16 ืืืืขืก ืืืืฃ ืฉืคึผืืฅ - ืฉืคึผืึธืจื 3 ืืืืขืก ืืื ?
ืืืื ืขืจ ืืขืฅ ืืขื ืจืืฉื ืึทื ื ืืงืึธืืึทื ืืืจืึธืื ืืื ืืืืขืจ ืคืึทื ื ืคืื ืื ืืืขื ืืื ื ืืืืกืืงืึทืื, ืึทืจืืึทื ืืขืจืขืื ื ื ืขืฅ ืคึผืจืึธืืึธืงืึธืืก, ืึธื ืคืึทืงืืืฉ ืคึผืจืึทืงืืืฉ ื ืืื.
ืื ืืขืจืข ืึทืจืืืขืจืคืืจื ืึธืคึผืฆืืขืก, ืื ืงื. ืืืขื ืืื MTProxy, ืืืจ ืืืขืื ื ืืฉื ืืึทืืจืึทืืื ืืืฆื, ืืคึฟืฉืจ ืืื ืื ืื ืืขืจ ืคึผืึธืกืื, ืืืื ืขืก ืืื ืึท ืืงืฉื. ืืืจ ืืืขืื ืืืืื ืฆืืจืืงืจืืคื ืืืขืื ืืขื ืืืืขืจ MTProxy ืึทื ืืึทืื ื ืึธื ืืืื ืืขืืืื ื ืืื 2018, ืคึผืจืึทืืืืืืขืจื ืืขืฉืืืื ื ืืขืืขืจื ื ืฆื ืคืึทืจืฉืคึผืึทืจื ืคึผืื ืงื ืขืก, ืืืขื ืคึฟืึทืจ ืคืึทืจืฉืคึผืึทืจื ืืืืคึผืึทืกืืืจื ืคึผืึทืงืึทื ืืจืืืก! ืืื ืืืื ืืขืจ ืคืึทืงื ืึทื ืื MTProxy ืกืขืจืืืขืจ ืืขืฉืจืืื (ืืืืืขืจ ืืืจื ืืืึทืืืืึทื) ืืื C ืืื ืึทื ื ืขืกืึทืกืขืจืึทืื ืืืื ืฆื ืืื ืืงืก ืกืคึผืขืกืืคืืงืก, ืืึธืืฉ ืขืก ืืื ื ืืฉื ืคืืจืืื ืื ืืื ืึทืืข (Phil Kulin ืืืขื ืืึทืฉืืขืืืงื), ืืื ืึทื ืึท ืขื ืืขื ืกืขืจืืืขืจ ืึธืืขืจ ืืืืฃ Go ืึธืืขืจ ืืืืฃ Node.js ืคึผืึทืกืืง ืืืืื ืืงืขืจ ืืื ืึท ืืื ืืขืจื ืฉืืจืืช.
ืึธืืขืจ ืืืจ ืืืขืื ืฆืืขื ืืืืกืคืืจื ืืืขืื ืื ืืขืื ืืฉ ืืืืขืจืึทืกื ืคืื ืื ืืขื ืืฉื ืืื ืื ืกืืฃ ืคืื ืื ืึธืคึผืืืืืื ื, ื ืึธื ืืึทืืจืึทืืื ืื ืืขืจืข ืืฉืื. ืืืฆื, ืืึธืื ืืื ืื ืืืื ืฆื ืื 5th OSI ืฉืืืืข, ืกืขืกืืข - ืืืืฃ ืืืึธืก ืืื ืฉืืขืื ืื MTProto ืกืขืกืืข.
ืฉืืืกืืขื, ืึทืจืืืงืืขื, ืกืขืฉืึทื ื, ืืืคื-ืืขืืืึทื
ืืื ืฉืืขืื ืขืก ืืึธืจื ื ืืฉื ืืขืืึทืืจืข ืจืืืืืง ... ื ืกืขืกืืข ืืื ื ืืฉื ืื ืืขืืืข ืกืขืกืืข ืืืึธืก ืืื ืงืขื ืืืง ืืื ืื ืฆืืืื ื ืืื ืืขืจ ืึทืงืืืื ืกืขืฉืึทื ื. ืืืขืจ ืืื ืกืืจ.
ืืึธ ืืืจ ืืึธืื ืืืงืืืขื ืึท ืฉืืจืืงื ืคืื ืืืืขืก ืคืื ืืืงืื ื ืืขื ื ืคืื ืื ืึทืจืืืขืจืคืืจื ืฉืืืืข. ืืึธืก ืืื ืึธืืขืจ ืึท ืื ืงืจืืคึผืืื ืึธื ืืึธื ืึธืืขืจ ืึท ืงืืึธืจ ืืขืงืกื - ืืืื ืืืจ ืืขื ืขื ื ืึธื ืืื ืื ืฉืืืกื ืคืึทืจืืึทื ืืืื ื ืืื ืข ืืื ืืึธื ืืึธืก. ืืืึธืก ืคืื ืื ืืื ืื ืคืื ืงืึทื ืกืขืคึผืก ืืขืจืืคื "ืฉืืืกื" ืืขื ืขื ืืืจ ืืขืจืขืื ืืืขืื? ืืึธืืืจ ืืขืจืงืืขืจื ืืขื ืึทืจืืืกืืขืื ืคึฟืึทืจ ืื ืืขืืขืืจืึทื ืืึทื ืฉืึทืคึฟื ืืื (ืืื ืึทื ืืฉืืืืืงื ืคึฟืึทืจ ืืืืขืจืืขืฆื ืืืื ืืืืืขื ืข ืืึทืงืืืืขื ืืืืฉืึทื ืคืื ืขื ืืืืฉ ืฆื ืึธืืขืจ ืึท ืืื ืืึทืจื ืืื 4 ืืื ืืขืจ ืืึธืจืื, ืขืืืขืืข ืคืจืึทืกืขืก ืืขื ืขื ืืจืื ืืขืจ ืฆื ืืึธืื ืืื ืืื ืืขื ืขื):
ืขืก ืืขื ืขื ืฆืืืื ืขื ืืืืื ืืขืจืืคื ืกืขืกืืข - ืืืื ืขืจ ืืื ืื ืื ืคืื ืืึทืึทืืืขืจ ืงืืืืึทื ืฅ ืืื ืืขืจ "ืงืจืึทื ื ืกืขืฉืึทื ื", ืืื ืืขืืขืจ ืกืขืกืืข ืงืึธืจืึทืกืคึผืึทื ืื ืฆื ืึท ืืึทื ืฅ ืืืื / ืึทืก.
ืกืขืงืื ืืข - MTProto ืกืขืกืืข, ืืืึธืก ืืื ืึท ืึธื ืืึธื ืกืืงืืืึทื ืก ื ืืืขืจ (ืืื ืึท ื ืืืขืจืืง-ืืืจืื ืืื ืขื) ืืื ืขืก, ืืื ืืืึธืก ืงืขื ืืืืขืจื ืฆืืืืฉื ืคืึทืจืฉืืืขื ืข TCP ืงืึทื ืขืงืฉืึทื ื. ืขืืืขืืข MTProto ืกืขืฉืึทื ื ืงืขื ืขื ืืืื ืฉืืขืื ืึทืจืืืฃ ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืืืฉื, ืฆื ืคืึทืจืืืืขืจื ืืขืงืข ืืึทืื ืืึธืืื.ืฆืฐืืฉื ืื ืฆืฐืฒ ืกืขืฉืึทื ื ืืื ืืขืจ ืืึทืืจืืฃ ืืขืจืืืืืขื ืืฉ. ืืื ืื ืืืืืฉืขื ืขืจืืืฉืึทื ืคืึทื, ืืืื ืขืจ ืงืขื ืขื ืืึธืื ืึทื UI ืกืขืกืืข ืืื ืื ืืขืืืข ืืื ืืขืจืืืืืขื ืืฉืืืขืจ ืืืื, ืขืก ืืื ืงืึธืืคึผืืืฆืืจื. ืืืจ ืงืืงื:
- ืืขืจ ืืึทื ืืฆืขืจ ืืืืฃ ืื ื ืืึทืข ืืืื ืขืจืฉืืขืจ ืืืฉืขื ืขืจืืืฅ auth_key ืืื ืืึทืืจืขื ืขืฆื ืขืก ืฆื ืืฉืืื, ืืืฉื, ืืืจื SMS - ืึทื ืก ืืืึธืก ืืขืจืืืืืขื ืืฉ
- ืขืก ืืื ืืขืฉืขื ืืื ืืขืจ ืขืจืฉืืขืจ MTProto ืกืขืกืืข, ืืืึธืก ืืื
session_id
ืืื ืืื.- ืืื ืืขื ืฉืจืื, ืื ืงืึธืืืื ืึทืฆืืข ืืขืจืืืืืขื ืืฉ ะธ
session_id
ืงืขื ืืขื ื ืขืืขื ืืืึทืฉืคึผืื - ืืึธืก ืืืึธืจื ืืื ืืขืคึฟืื ืขื ืืื ืื ืืึทืงืืืืขื ืืืืฉืึทื ืืื ืงืึธื ืคืื ืขืืืขืืข ืงืืืืึทื ืฅ- ืืขืจื ืึธื, ืืขืจ ืงืืืขื ื ืงืขื ืขื ืขืคืขื ืขื ืขืืืขืืข MTProto ืกืขืฉืึทื ื ืืื ืืขืจ ืื ืืขืืืข auth_key - ืฆื ืืขืจ ืืขืืืืงืขืจ ืืง.
- ืืขืืึธืื ืืืื ืืึธื ืืขืจ ืงืืืขื ื ืืึทืจืฃ ืฆื ืืขืื ืึท ืืขืงืข ืคืื ืื ืื ืืขืจ DC - ืืื ืคึฟืึทืจ ืืขื DC ืึท ื ืืึทืข ืืืขื ืืืื ืืืฉืขื ืขืจืืืืึทื auth_key !
- ืฆื ืืึธืื ืื ืกืืกืืขื ืึทื ืืึธืก ืืื ื ืืฉื ืึท ื ืืึทืข ืืึทื ืืฆืขืจ ืจืขืืืฉืืกืืขืจืื ื, ืึธืืขืจ ืื ืืขืืืข ืืขืจืืืืืขื ืืฉ (UI ืกืขืกืืข), ืืขืจ ืงืืืขื ื ื ืืฆื ืึทืคึผื ืงืึทืืืก
auth.exportAuthorization
ืืื ืฉืืื DCauth.importAuthorization
ืืื ืื ื ืืึทืข DC.- ืึทืืข ืื ืืขืืืข, ืขืก ืงืขื ืืืื ืขืืืขืืข ืขืคืขื ืขื MTProto ืกืขืฉืึทื ื (ืืขืืขืจ ืืื ืืืื ืืืืืขื ืข
session_id
) ืฆื ืืขื ื ืืึท DC, ืืื ืืขืจ ืืืึทื auth_key.- ืฆืื ืกืืฃ, ืืขืจ ืงืืืขื ื ืงืขื ืืืขืื ืฉืืืืืขืกืืืง ืคึฟืึธืจืืืขืจืืก ืกืขืงืจืขืกื. ืืขืืขืจ auth_key ืืื ืืขืืืขื ืฉืืขื ืืืง ืฉืืืกื - ืคึผืขืจ ืืง - ืืื ืืขืจ ืงืืืขื ื ืงืขื ืขื ืจืืคื
auth.bindTempAuthKey
ืคึฟืึทืจ ื ืืฆื ืฆืืึทืืืืืึทืืืง auth_key - ืืื ืืืืืขืจ, ืืืืื ืืืื temp_auth_key ืคึผืขืจ ืืง, ืคึผืจืึธืกื ืฆื ืึทืืข MTProto ืกืขืฉืึทื ื ืฆื ืืขื DC.ืืึทืืขืจืงืื ื ืึทื ืืึทืืฅ (ืืื ืฆืืงืื ืคึฟื ืกืึธืืฅ) ืืืื ืืืื ืขืจ ืืืืฃ auth_key ืืขื ืข. ืืขืืืืื ืฆืืืืฉื ืึทืืข MTProto ืกืขืฉืึทื ื ืฆื ืืขืจ ืืขืืืืงืขืจ ืืง.
ืืืึธืก ืืืื "ืฆืืืืฉื ืคืึทืจืฉืืืขื ืข TCP ืงืึทื ืขืงืฉืึทื ื"? ืขืก ืืืื ืึทื ืืึธืก ืขืคึผืขืก ืืื ืืขืจืืืืืขื ืืฉ ืงืืื ืืืืฃ ืึท ืืืขืืืืืื - ืขืก ืืืืึทืื (ืกืืจืืืืืืื) ืคืืืข ืืงืคึผ ืงืึทื ืขืงืฉืึทื ื ืฆื ืืขื ืกืขืจืืืขืจ, ืึธืืขืจ ืืืื ืืึธื ืขืก ืืืขื ืืืื ืฉืืขืื. ืืืืื ื ืื ืขื ืืขื HTTP, ืืื MTProto, ืืื ืืขืจ ืกืขืกืืข, ืึทืจืืืงืืขื ืืขื ืขื ืกืึทืงืืืขื ืืฉืึทืื ืืขืฆืืืื ืืื ืืืฉืืขืืืงื, ืืื ืืขื ืขื ืืจืืื ืืื ืืขื ืืื ืขื, ืื ืงืฉืจ ืืื ืฆืขืืจืืื - ื ืึธื ืืจืื ืื ืึท ื ืืึทืข ืงืฉืจ, ืืขืจ ืกืขืจืืืขืจ ืืืขื ืฉืืงื ืึทืืฅ ืืื ืืขื ืกืขืกืืข ืืืึธืก ืขืก ืืื ื ืืฉื ืืืืขืจืืขืืขืื ืืื ืื ืกืขืกืืข. ืคืจืืึทืขืจืืืง ืืงืคึผ ืงืฉืจ.
ืึธืืขืจ, ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืืื ืืื ืึท ืงืืืขืืฉ ื ืึธื ืคืืืข ืืืฉืื ืคืื ืืืืึทืืืืฉืึทื. ืืื ืืขืจ ืืขืจืืืืื, ืืขื ืขื ืืืจ ืืืคึผืืึทืืขื ืื ื ืืื ืืืขืจ ืงืืืขื ื ืคึฟืื ืงืจืึทืฆื? โ ืืึธืืืจ ืฆืืจืืงืืืื ืฆืื ืึธื ืืืื.
ืึทืืื ืืืจ ืคึผืจืึธืืืฆืืจื auth_key
ืืืืฃ
ืืืึทืกืืื, [19.06.18/20/05 1:255] ืืึทืืึท_ืืืืื_ืืึทืฉ := ืฉืึทXNUMX (ืืึทืื) + ืืึทืื + (ืงืืื ืืจืึทืค - ืืืืขืก); ืึทืืื ืึทื ืื ืืขื ื ืืื ืืืืึทื ืฆื XNUMX ืืืืขืก;
ืขื ืงืจืืคึผืืื_ืืึทืื:= RSA (ืืึทืืึท_ืืื_ืืึทืฉ, ืกืขืจืืืขืจ_ืคึผืืืืืง_ืงืื); ืึท 255-ืืืืข ืืึทื ื ื ืืืขืจ (ืืจืืืก ืขื ืืืึทื) ืืื ืืืืคืืขืฉืืื ืขื ืฆื ืื ื ืืืืืง ืืึทืื ืืืืขืจ ืื ืคืืจืืื ืื ืืึธืืืืืก, ืืื ืืขืจ ืจืขืืืืืึทื ืืื ืกืืึธืจื ืืื ืึท 256-ืืืืข ื ืืืขืจ.ืืื ืืึธืื ืึท ืืืกื ืื
ืืขื ื ืืฉื ืืืืก ืืื ื ืืขืืื ื ืืขื ืืฉ'ืก ื"ื
ืขืก ืืขื ืขื ืงืืื ืฆืืืื ืฆืืืืจ ืฉืืืกืืขื ืืื dx
ื ื, ืืื ืื ืกืืฃ, ืืืจ ืคืืืืขืจื ืขืก ืืืืก, ืึธืืขืจ ืื ืึธืคึผืืึทืฅ ืคืืจืืืืื - ืึท ืืขืจืืืืึทื ืคืื ืึทืจืืขื ืืื ืืขืืื ืืืจื ืืขืจ ืงืืืขื ื ืึทื ืขืจ ืืื ืืืืืืช ืฆื ืคืึทืงืืึธืจืืืืจื ืื ื ืืืขืจ. ืืืคึผ ืคืื ืฉืืฅ ืงืขืื ืืึธืก ืื ืคืืื. ืืื ืืขืจ RSA ืฉืืืกื ืืื ืืืืื ืืขื ืืฆื ืึทืืึธื ืืื ืืืื ืจืืืืื ื, ืืกืขื ืฉืึทืื ืคึฟืึทืจ ืขื ืงืจืืคึผืฉืึทื new_nonce
. ืึธืืขืจ ืืฉืขืช ืืขื ืคึผืึธื ืขื ืคึผืฉืื ืึธืคึผืขืจืึทืฆืืข ืืื ืืขืจืึธืื, ืืืึธืก ืืืขื ืืืจ ืืึธืื ืฆื ืคึผื ืื?
ืืืึทืกืืื, [20.06.18/00/26 XNUMX:XNUMX] ืืื ืืื ื ืึธื ื ืืฉื ืืขืจืืจืืืื ืื ืึทืคึผืื ืืงืฉื
ืืื ืืื ืืขืฉืืงื ื ืืงืฉื ืฆื ื.ื
ืืื ืืื ืื ืืึธืง ืืืืฃ ืื ืึทืจืืืขืจืคืืจื ืขืก ืืื ืืขืฉืจืืื ืึทื ืขืก ืงืขื ืขื ืขื ืืคึฟืขืจื ืืื 4 ืืืืขืก ืคืื ืื ืืขืืช ืงืึธื. ืืื ืึทื ืก ืขืก
ื ื, ืขืจ ืืึธื ืืืจ ืืขืืึธืื -404, ืึทืืื ืืืึธืก?
ืืึธ ืืื ืืื ืฆื ืืื: "ืืึทืคึผื ืืืื ืขืคืืื ืึท ืื ืงืจืืคึผืืื ืืื ืื ืกืขืจืืืขืจ ืฉืืืกื ืืื ืึท ืคืื ืืขืจืคึผืจืื ื ืคืื ืึทืืึท ืืื ืึทืืึท, ืืื ืืืืื DH", ืืื ืขืก ืจืืกืคึผืึทื ืื ื ืึทืจืืฉ 404
ืืืึธืก ืืืึธืื ืืืจ ืืจืึทืืื ืคืื ืึทืืึท ืึท ืกืขืจืืืขืจ ืขื ืืคืขืจ? ืืืึธืก ืฆื ืืึธื? ืขืก ืืื ืงืืื ืืืื ืขืจ ืฆื ืคืจืขืื (ืึธืืขืจ ืืขืจ ืืืืฃ ืืขื ืืื ืื ืฆืืืืืืข ืืืื).
ืืึธ ืึทืืข ืื ืืื ืืขืจืขืก ืืื ืื ืืึธืง ืืื ืฆื ืืึธื
ืืื ืืื ืืืจื ืืฉื ืื ืืขืจืฉ ืฆื ืืื, ืืื ืืื ื ืืจ ืืขืืืืื ืคืื ืคืืจืืืื ืืืขื ื ืืืขืจื ืืืื ืืื ืฆืืจืืง
ืฆืืืื 32 ืืืกื ื ืืืขืจื. ืืื ืืึธื ืืื ืืขืคึผืึทืงื ืืื ืึทืืข ืึทื ืืขืจืข
ืึธืืขืจ ื ืื, ืขืก ืืื ืื ืฆืืืื ืึทื ืืืจ ืืึทืจืคึฟื ืขืจืฉืืขืจ ืืื ืึท ืฉืืจื ืืื BE
ืืืึทืืื ืืึธื ืืฉืึทืจืึธืื, [20.06.18/15/49 404:XNUMX] ืืื ืฆืืืื ืืขื XNUMX?
ืืืึทืกืืื, [20.06.18/15/49 XNUMX:XNUMX] ืืึธ!
ืืืึทืืื ืืึธื ืืฉืึทืจืึธืื, [20.06.18/15/50 XNUMX:XNUMX] ืึทืืื ืืื ืืึธื ื ืื ืคึฟืึทืจืฉืืืื ืืืึธืก ืขืจ ืงืขื "ื ืื ืืขืคึฟืื ืขื"
ืืืึทืกืืื, [20.06.18 15:50] ืืขืขืจืขื
ืืื ืืึธื ื ืื ืืขืคึฟืื ืขื ืึทืืึท ืึท ืืืงืึทืืคึผืึธืืืืฉืึทื ืืื ืคึผืฉืื ืืืืืืืืขืจื.
ืืคืืื ืืขืืช ืจืืคึผืึธืจืืื ื ืืื ื ืืฉื ืืึทืกืืขืจื
ืืืึทืกืืื, [20.06.18/20/18 5:XNUMX] ืึธื, ืขืก ืืื ืืืื MDXNUMX. ืฉืืื ืืจืื ืคืึทืจืฉืืืขื ืข ืืึทืฉืขืก
ืืขืจ ืฉืืืกื ืคืื ืืขืจืคึผืจืื ื ืืื ืงืึทืืคึผืืืืึทื ืืื ืืืื:
digest = md5(key + iv) fingerprint = substr(digest, 0, 4) XOR substr(digest, 4, 4)
SHA1 ืืื Sha2
ืึทืืื ืืึธืื ืก ืฉืืขืื auth_key
2048 ืืืื ืืื ืืจืืืก ืืืจ ืืึทื ืืืื ืืืคื-ืืขืืืึทื. ืืืืก ืืื ื ืขืงืกื? ืืขืจื ืึธื ืืืจ ืืขืคึฟืื ืขื ืืื ืึทื ืื ื ืืืขืจืืงืขืจ 1024 ืืืื ืคืื ืืขื ืฉืืืกื ืืขื ืขื ื ืืฉื ืืขื ืืฆื ืืื ืงืืื ืืืขื ... ืึธืืขืจ ืืึธืื ืืื ืื ืืจืึทืืื ืืืขืื ืืขื ืคึฟืึทืจ ืืืฆื. ืืื ืืขื ืฉืจืื, ืืืจ ืืึธืื ืึท ืฉืขืจื ืกืื ืืื ืื ืกืขืจืืืขืจ. ืึทื ืึทื ืึทืืึธื ืคืื ืึท TLS ืกืขืกืืข ืืื ืืขืืจืื ืืขื, ืึท ืืืืขืจ ืืืึทืขืจ ืคึผืจืึธืฆืขืืืจ. ืึธืืขืจ ืืขืจ ืกืขืจืืืขืจ ืืืืืกื ื ืึธื ืืึธืจื ืืฉื ืืืขืื ืืืขืจ ืืืจ ืืขื ืขื! ื ืื ื ืึธื, ืคืืงืืืฉ ืืขืจืืืืืขื ืืฉ. ืืขื ืข. ืืืื ืืืจ ืืขืืึทื ืง ืืื ืืขืจืืื ืขื ืคืื "ืืึธืืื-ืฉืคึผืจืืืืืึธืจื", ืืื ืขืก ืืื ืืขืืืขื ืืื ICQ, ืึธืืขืจ ืืคึผืืืช "ืืึธืืื-ืฉืืืกื", ืืื ืืื SSH (ืืืฉื, ืืืืฃ ืขืืืขืืข ืืืืืึทื / ืืืืืื). ืืืจ ืืขื ืขื ืืขืืืขื ืึทื ืึธื ืืืข. ืืื ืืืื ืืขืจ ืกืขืจืืืขืจ ืขื ืืคืขืจื ืืื ืื "ืื ืืขืืขืคืึธื ื ืืืขืจื ืืขื ืขื ืกืขืจืืืืจื ืืืจื ืื ืื ืืขืจ DC"? ืึธืืขืจ ืืคืืื "ืืืื ืืขืืขืคืึธื ื ืืืขืจ ืืื ืืึทื ื"? ืืขืจ ืืขืกืืขืจ ืืึทื ืืืึธืก ืืืจ ืงืขื ืขื ืืึธื ืืื ืจืึทืืขืืืขื ืืขื ืฉืืืกื ืืื ืืขืจ ืืึธืคืขื ืื ื ืึทื ืขืก ืืืขื ื ืึธื ืืืื ื ืืฆืืง ืืื ื ืืฉื ืคึผืึทืกืงืืื ืข ืืื ืืขืืึธืื.
ืืื, ืืืจ ืืืื ืขืก "ืืืงืืืขื" ืืื ืจืขืืขืจืืืืฆืืขืก. ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืึธื ืืืจ ืฆืืืจืื ืื ืกืขืจืืืขืจ? ืืื ืขืจ ืฉืืืื ืื? ืืืจ ืืึทืจืคึฟื ืงืจืืคึผืืึธืืจืึทืคืืง ืืฉืขืงืก:
Vasily, [21.06.18/17/53 2:XNUMX PM] ืืื ืคืึธืจืฉืืึธืื ืจืืจืขืืืืืง ืงืืืืึทื ืฅ ืฆื ืงืึธื ืืจืึธืืืจื ืึท XNUMX ืงืืื ื ืืืขืจ ืคึฟืึทืจ ืคึผืึทืฉืืขืก%)
ืืืขืจ ืขืก ืืื ื ืืฉื ืงืืึธืจ ืืื ืึทืืข, ื ืึทืคืืืืืฉืึธืึท
ืืืึทืกืืื, [21.06.18/18/02 XNUMX:XNUMX] ืืขืจ ืืึธืง ืืืื ื ืืฉื ืืืึธืก ืฆื ืืึธื ืืืื ืขืก ืืื ืืขืืืขื ื ืื ืคึผืฉืื
ื ืืฉื ืืขืืืื. ืืื ืก ืืขื ืืืึธืก ืืขืจ ืืึทืึทืืืขืจ ืงืืืขื ื ืคึฟืึทืจ ืึทื ืืจืืื ืืื ืืื ืืขื ืคืึทื? ื
278 static const char *goodPrime = "c71caeb9c6b1c9048e6c522f70f13f73980d40238e3e21c14934d037563d930f48198a0aa7c14058229493d22530f4dbfa336f6e0ac925139543aed44cce7c3720fd51f69458705ac68cd4fe6b6b13abdc9746512969328454f18faf8c595f642477fe96bb2a941d5bcd1d4ac8cc49880708fa9b378e3c4f3a9060bee67cf9a4a4a695811051907e162753b56b0f6b410dba74d8a84b2a14b3144e0ef1284754fd17ed950d5965b4b9dd46582db1178d169c6bc465b0d6ff9ca3928fef5b9ae4e418fc15e83ebea0f87fa9ff5eed70050ded2849f47bf959d956850ce929851f0d8115f635b105ee2e4e15d04b2454bf6f4fadf034b10403119cd8e3b92fcc5b";
279 if (!strcasecmp(prime, goodPrime)) {
ื ืืื, ืืึธื ืืึธืจื ืขืืืขืืข ืขืก ืืขื ืขื ืืฉืขืงืก ืคึฟืึทืจ ืื ืคึผืึทืฉืืขืก ืคืื ืึท ื ืืืขืจ, ืึธืืขืจ ืคึผืขืจืกื ืึทืื ืืื ืืึธืื ื ืื ืืขืจ ืืขื ืื ืืืืกื ืืื ืืืืขืืืืืง.
ืึธืืงืื, ืืืจ ืืึธืื ืื ืืขื ืฉืืืกื. ืฆื ืงืืึธืฅ ืืื, ื.ื. ืฉืืงื ืจืืงืืืขืก, ืขืก ืืื ื ืืืืืง ืฆื ืืืจืืคืืจื ืืืืึทืืขืจ ืขื ืงืจืืคึผืฉืึทื, ืฉืืื ื ืืฆื AES.
ืืขืจ ืึธื ืืึธื ืฉืืืกื ืืื ืืืคืืื ื ืืื ืื 128 ืืืื ืืืื ืคืื ืื SHA256 ืคืื ืื ืึธื ืืึธื ืืืฃ (ืึทืจืืึทื ืืขืจืขืื ื ืกืขืกืืข, ืึธื ืืึธื ืฉืืึทื, ืืื"ื ื), ืึทืจืืึทื ืืขืจืขืื ื ืื ืืืึทืื ืืืืขืก, ืคึผืจืืคึผืึทื ืืื ืืืจื 32 ืืืืขืก ืืขื ืืืขื ืคืื ืื ืืขืจืืืืืขื ืืฉ ืฉืืืกื.
ืืืึทืกืืื, [22.06.18/14/08 XNUMX:XNUMX PM] ืืืจืืฉื ืืืืขื ืืืืฉืื
ืืึทื
auth_key
. ืึทืืข. ืืืืืืขืจ ืืื ... ืขืก ืืื ื ืืฉื ืงืืึธืจ ืคืื ืื ืืึทืงืก. ืคืืื ืคืจืื ืฆื ืืขืจื ืขื ืื ืขืคืขื ืขื ืืงืืจ ืงืึธื.ืืึทืืขืจืงืื ื ืึทื MTProto 2.0 ืจืืงืืืืืขืจื 12-1024 ืืืืขืก ืคืื ืืืึทืื, ื ืึธื ืืื ืืขืจ ืื ืฆืืฉืืึทื ื ืึทื ืื ืจืืืึทืืืื ื ืึธื ืืึธื ืืขื ื ืืื ืืืืืืืึทืืึทื ืืื 16 ืืืืขืก.
ืึทืืื ืืื ืคืื ืืืึทืื ืฆื ืฉืืขืื ืืื?
ืืื ืืึธ, ืืึธ ืืืื 404 ืืื ืคืึทื ืคืื ืึท ืืขืืช
ืืืื ืขืืขืฆืขืจ ืงืขืจืคืึทืื ืืขืืขืจื ื ืื ืืืึทืืจืึทืืข ืืื ืื ืืขืงืกื ืคืื ืื ืืึทืงืืืืขื ืืืืฉืึทื, ืขืจ ืืืืขืจืงื ืึทื ืขืก ืืื ืงืืื MAC ืืึธืจื. ืืื ืึทื AES ืืื ืืขื ืืฆื ืืื ืขืืืขืืข IGE ืืึธืืข ืืืึธืก ืืื ื ืืฉื ืืขื ืืฆื ืขืจืืขืฅ ืึทื ืืขืจืฉ. ืืื, ืคืื ืงืืจืก, ืฉืจืืึทืื ืืืขืื ืืื ืืื ืืืืขืจ FAQ ... ืืึธ, ืืื, ืืขืจ ืึธื ืืึธื ืฉืืืกื ืืื ืืื ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื ืื SHA ืืึทืฉ ืคืื ืื ืืขืงืจืืคึผืืื ืืึทืื ืืขื ืืฆื ืฆื ืงืึธื ืืจืึธืืืจื ืื ืึธืจื ืืืขืืงืืึทื - ืืื ืืื ืคืึทื ืคืื ืึท ืืืกืืึทืืฉ, ืื ืืึทืงืืืืขื ืืืืฉืึทื ืคึฟืึทืจ ืขืืืขืืข ืกืืื ืจืขืงืึทืืขื ืื ืืืฉืืืงืข ืืื ืึธืจืื ื ืืื (ืึธืืขืจ ืืืึธืก ืืืขืื ืืืืขืจืืืื, ืคึผืืืฆืืื ื ืืจืขืื ืืื ืื?).
ืืื ืืื ื ืืฉื ืึท ืงืจืืคึผืืึธืืจืึทืคืขืจ, ืืคึฟืฉืจ ืืื ืืขื ืืึธืืข ืืื ืืขื ืคืึทื ืขืก ืืื ืืึธืจื ืืฉื ืคืึทืืฉ ืคึฟืื ืึท ืืขืึธืจืขืืืฉ ืคืื ื ืคืื ืืืื ืื ื. ืึธืืขืจ ืืื ืงืขื ืขื ืืืฉืืืื ื ืึธืืขื ืึท ืคึผืจืึทืงืืืฉ ืคึผืจืึธืืืขื ืืื ืืขื ืืืึทืฉืคึผืื ืคืื ืืขืืขืืจืึทื ืืขืกืงืืึธืคึผ. ืขืก ืื ืงืจืืคึผื ืื ืืืืข ืงืึทืฉ (ืึทืืข ืื D877F783D5D3EF8C) ืืื ืื ืืขืืืข ืืืขื ืืื ืึทืจืืืงืืขื ืืื MTProto (ืืืืื ืืื ืืขื ืคืึทื, ืืืขืจืกืืข 1.0), ื.ื. ืขืจืฉืืขืจ ืื ืึธื ืืึธื ืฉืืืกื, ืืขืจื ืึธื ืื ืืึทืื ืืื (ืืื ืขืจืืขืฅ ืืึทืืื ืืขืจ ืื ืืืืคึผื ืืจืืืก auth_key
256 ืืืืขืก, ืึธื ืืืึธืก msg_key
ืึทืจืืืกืืขืืืึธืจืคื). ืึทืืื, ืื ืคึผืจืึธืืืขื ืืืขืจื ืืืืขืจืงื ืืืืฃ ืืจืืืก ืืขืงืขืก. ื ืืืืื, ืืืจ ืืึทืจืคึฟื ืฆื ืืึทืืื ืฆืืืื ืงืืคืืขืก ืคืื ืื ืืึทืื - ืื ืงืจืืคึผืืื ืืื ืืขืงืจืืคึผืืื. ืืื ืืืื ืขืก ืืขื ืขื ืืขืืึทืืืืขืก, ืึธืืขืจ ืกืืจืืืื ื ืืืืืขื, ืคึฟืึทืจ ืืืึทืฉืคึผืื? .. ืงืืึทืกืืฉ ืกืงืืื ืืื ืืขืง ื ืึธื ืื ืกืืคืขืจืืขืงืกื ืึทืืึทืื ืืืจ ืฆื ืืืืขื ืขื ืขืก ืกืืจืืืื ื, ืืืืื ืืจืึทื ืกืคืขืจืื ื ืขืก. ืืื ืืื MTProto ืืืจ ืืึธืื ืฆื ืืื ืขืจืฉืืขืจ ืขื ืงืจืืคึผื ืึธืืขืจ ืืขืงืจืืคึผื ืื ืืื ืฆืข ืึธื ืืึธื, ื ืึธืจ ืืขืืึธืื ืึทืจืืืขืจืคืืจื ืขืก ืฆื ืื ื ืขืฅ ืึธืืขืจ ืฆื ืืืกืง. ืืขืจืืืขืจ, ืืื ืื ืืขืฆืืข ืืืขืจืกืืขืก ืคืื ืืขืืขืืจืึทื ืืขืกืงืืึธืคึผ ืืื ืื ืงืึทืฉ ืืื user_data
ืื ืื ืืขืจ ืคึฟืึธืจืืึทื ืืื ืฉืืื ืืขื ืืฆื - ืืื AES ืืื CTR ืืึธืืข.
Vasily, [21.06.18/01/27 20:XNUMX AM] ืึธื, ืืื ืืขืคืื ืขื ืืืืก ืืืึธืก IGE ืืื: IGE ืืื ืืขืืืขื ืืขืจ ืขืจืฉืืขืจ ืคึผืจืืืื ืฆื ืึท "ืึธืืขื ืืึทืงืืืืื ื ืขื ืงืจืืคึผืฉืึทื ืืึธืืข," ืขืจืืืืฉื ืึทืื ืคึฟืึทืจ ืงืขืจืืขืจืึธืก. ืขืก ืืื ืืขืืืขื ืึท ื ืื ืึทื ืืขืจืฉ ืคึผืจืืืื (ืขืก ืืื ื ืืฉื ืฆืืฉืืขืื ืึธืจื ืืืขืืงืืึทื ืฉืืฅ), ืืื ืืื ืฆื ืืืื ืึทืืืขืงืืขื ืืืขื. ืืึธืก ืืื ืืขืืืขื ืืขืจ ืึธื ืืืื ืคืื ืึท XNUMX ืืึธืจ ืืืื ืคึฟืึทืจ ืึทื ืึธืืขื ืืึทืงืืืืื ื ืขื ืงืจืืคึผืฉืึทื ืืึธืืข ืืืึธืก ืึทืจืืขื, ืืืึธืก ืืขืฆืื ืก ืงืึทืืืึทื ืืืืื ืืื ืืึธืืขืก ืืื OCB ืืื GCM.
ืืื ืืืฆื ืื ืืขื ืืช ืคืื ืื ืืืึธืื ืืืึทื:
ืื ืืึทื ืฉืึทืคึฟื ืืื ืืขืจ ืืขืืขืืจืึทื, ืืขืคืืจื ืืืจื ื ืืงืึธืืึทื ืืืจืึธืื, ืืืฉืืืื ืคืื ืืขืงืก ืึทืงื ืืฉืึทืืคึผืืึธื ืก, ืืึทืื ืคืื ืืื Ph.Ds ืืื ืืึทื. ืขืก ืืึธื ืืขืืืืขืจื ืืืขืื ืฆืืืื ืืึธืจ ืฆื ืจืึธืืื ืื ืงืจืึทื ื ืืืขืจืกืืข ืคืื โโMTProto.
ืืืึธืก ืก ืืึธืื ืข. ืฆืืืื ืืืจ ืฆื ืืขืจ ื ืืืขืจืืงืขืจ ืืืจืื
ืึธืืขืจ ืืืจ ืงืขื ื ืึธืจ ื ืขืืขื ืืืก
ืึธืืงืื, ืืึธืื ืก ืืึธืื ืืืจ ืืึธืื ืืืจืืืขืงืึธืื ืขื ืงืจืืคึผืฉืึทื ืืื ืื ืืขืจืข ื ืืึทื ืกืื. ืงืขื ืขื ืืืจ ืืขืกืึธืฃ ืฉืืงื TL-ืกืขืจืืึทืืืืขื ืจืืงืืืขืก ืืื ืืขืกืขืจืืึทืืืืืจื ืจืขืกืคึผืึธื ืกืขืก? ืึทืืื ืืืึธืก ืืึธื ืืืื ืืขืฉืืงื ืืื ืืื? ืืึธ ืืื ืืขืจ ืืืคึฟื
Vasily, [25.06.18/18/46 XNUMX:XNUMX PM] ืื ืืืืึทืืืืขืก ืงืฉืจ ืืื ืฉืคึผืึธืจื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืืฃ ืื ืืึทื ืืฆืขืจ 'ืก ืืืื ืืื ืึทืคึผืืึทืงืืืฉืึทื.
ืขืก ืึทืงืกืขืคึผืฅ app_id, device_model, system_version, app_version ืืื lang_code.
ืืื ืขืืืขืืข ืคึฟืจืืื
ืืึทืงืืืืขื ืืืืฉืึทื ืืื ืฉืืขื ืืืง. ืคืืื ืคืจืื ืฆื ืืขืจื ืขื ืื ืขืคืขื ืขื ืืงืืจ
ืืืื ืึทืืฅ ืืื ืืขืืืขื ืืขืขืจืขื ืงืืึธืจ ืืื ืื ืืืึธืืงืขืืืืืืืืึทืขืจ, ืืืึธืก ืืื ืขืก? ืขืก ืืืจื ืก ืืืืก ืึทื ืจืขืื ืืืจ ืืึธืื - ืืขืจ ืงืืืขื ื ืืื ืฉืืื ืขืคึผืขืก ืฆื ืคืจืขืื ืืขื ืกืขืจืืืขืจ ืืืขืื - ืขืก ืืื ืึท ืืงืฉื ืืืึธืก ืืืจ ืืขืืืืื ืฆื ืฉืืงื:
ืืืึทืกืืื, [25.06.18/19/13 XNUMX:XNUMX] ืืืื ืืฉืคืื ืืืื ืื ืงืึธื, ืืขืจ ืขืจืฉืืขืจ ืจืืคื ืืื ืืื ืืขืืืืงืื ืืื ืืขื ืืืกื, ืืื ืื ืืืกื ืืื ืืื ืืื ืื ืืืึธืืงืข ืืื ืฉืืืืข
ืคืืจืืืืก ืงืขื initConnection ื ืืฉื ืืืื ืึท ืืึทืืื ืืขืจ ืจืืคื, ืึธืืขืจ ืืืื ืืืื ืึท ืจืึทืคึผืขืจ? ืื, ืืื ืขืก ืคืืจืงืขืจื ืืืืก, ืขืก ืืืื ืืืื ืืขืืื ืืขืืขืจ ืืึธื ืืื ืื ืึธื ืืืื ืคืื ืืขืืขืจ ืกืขืกืืข, ืืื ื ืืฉื ืืืื ืืึธื, ืืื ืืื ืื ืืืืคึผื ืฉืืืกื. ืึธืืขืจ! ืขืก ืงืขื ื ืืฉื ืืืื ืืขืจืืคื ืืืจื ืึท ืึทื ืึธืืขืจืืืื ืืึทื ืืฆืขืจ! ืืึธ ืืืจ ืืึธืื ืจืืืฉื ืื ืืื ืข ืืื ืืืึธืก ืขืก ืืื ืึธื ืืืขื ืืืขื
ืืืืื ืึท ืงืืืื ืืืื ืคืื ืื ืึทืคึผื ืืขืืืึธืืก ืืขื ืขื ืืืจืขืืืืื ืคึฟืึทืจ ืึทื ืึธืืขืจืืืื ื ืืฆืขืจืก:
- auth.sendCode
- auth.resendCode
- account.getPassword
- auth.checkPassword
- aut.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
, ืืื ืขืก ืืื ืึทื ืืจืขืืฉืขืจื ืขืจืฉืืขืจ ืืขืื ืืื ืืืึธืก ืืืจ ืืืขืื ืฉืืงื ืึทืคึผื_ืื ืืื ืึทืคึผื_ืืึทืฉ, ืืื ื ืึธื ืืืึธืก ืืืจ ืืึทืงืืืขื ืึท SMS ืืื ืึท ืงืึธื. ืืื ืืืื ืืืจ ืืึทืงืืืขื ืฆื ืืขื ืืืืจืขืื ืืง (ืืืฉื, ืื ืืขืืขืคืึธื ื ืืืขืจื ืคืื ืืขื ืืึทื ื ืืขื ืขื ืกืขืจืืืืจื ืืืจื ืื ืืขืจื), ืืืจ ืืืขืื ืืึทืงืืืขื ืึท ืืขืืช ืืื ืื ื ืืืขืจ ืคืื ืื ืืขืืขืื ืืง. ืฆื ืืขืคึฟืื ืขื ืืืืก ืืืึธืก IP ืึทืืจืขืก ืืืจ ืืึทืจืคึฟื ืฆื ืคืึทืจืืื ืื ืืืจื ืื DC ื ืืืขืจ, ืืืจ ืืืขืื ืืืื ืืขืืึธืืคึฟื ืืืจื help.getConfig
. ืึทืืึธื ืขืก ืืขื ืขื ืืขืืืขื ืืืืื 5 ืืืื ืกื, ืึธืืขืจ ื ืึธื ืื ืืึทืืืืกื ืืขืฉืขืขื ืืฉื ืคืื 2018, ืื ื ืืืขืจ ืืื ืืืืืืืืง ืืขืืืืงืกื.
ืืืฆื ืืึธืื ืืื ืื ืืขืืขื ืงืขื ืึทื ืืืจ ืืึทื ืืื ืืขื ืืื ืข ืืืืฃ ืื ืึทื ืึธื ืืืข ืืึทื ืืฆืขืจืก ืกืขืจืืืขืจ. ืืื ืขืก ื ืืฉื ืฆื ืืืึทืขืจ ืฆื ืืึทืงืืืขื ืึทื IP ืึทืืจืขืก? ืคืืจืืืืก ืืึธื ื ืื ืืึธื ืืึธืก, ืืื ืื ืืขืจืข ืึทืคึผืขืจืืืฉืึทื ื, ืืื ืื ืื ืขื ืงืจืืคึผืืื ืืืื ืคืื MTProto? ืืื ืืขืจ ื ืืชื ืืืืช: "ืืื ืงืขื ืกืื ืืืืขืจ ืืืื ืื ืขืก ืืื ื ืืฉื ืืขืจ ืจืงื ืืืืก ืืืขื ืจืขืืืืจื ืืื ืคืืืฉืข ืืืจืขืกื?". ืฆื ืืขื ืืืจ ืฆืืจืืงืจืืคื ืึทื, ืืื ืคืึทืงื, ืืื ืืึทืึทืืืขืจ ืงืืืืึทื ืฅ ืขืืืขืืื RSA ืฉืืืกืืขื, ื.ื. ืืืจ ืงืขื ืขื ื ืึธืจ ืฆื ืฆืืืื ืืขื ืืื ืคึฟืึธืจืืึทืฆืืข. ืึทืงืืืึทืืื, ืืึธืก ืืื ืฉืืื ืืขืืื ืคึฟืึทืจ ืืื ืคึฟืึธืจืืึทืฆืืข ืืืขืื ืืืืคึผืึทืกืื ื ืืึทืงืก ืึทื ืงืืืืึทื ืฅ ืืึทืงืืืขื ืืืจื ืื ืืขืจืข ืืฉืึทื ืึทืื (ืขืก ืืื ืืึทืืืฉืืงืึทื ืึทื ืืึธืก ืงืขื ื ืืฉื ืืืื ืืขืืื ืืื MTProto ืืื, ืืืืึทื ืืืจ ื ืึธื ืืึทืจืคึฟื ืฆื ืืืืกื ืืื ืฆื ืคืึทืจืืื ืื).
ืืงืขื. ืืื ืืขื ืืื ืข ืคืื โโืงืืืขื ื ืืขืจืืืืืขื ืืฉ, ืืืจ ืืขื ืขื ื ืึธื ื ืืฉื ืึธืืขืจืืืื ืืื ืืึธืื ื ืืฉื ืจืขืืืกืืจืืจื ืืื ืืืขืจ ืึทืคึผืืึทืงืืืฉืึทื. ืืืจ ื ืึธืจ ืืืืื ืฆื ืืขื ืคึฟืึทืจ ืืืฆื ืืืึธืก ืื ืกืขืจืืืขืจ ืจืืกืคึผืึทื ืื ืฆื ืื ืืขืืืึธืืก ืื ืืืฆื ืฆื ืึท ืึทื ืึธืืขืจืืืื ืืึทื ืืฆืขืจ. ืืื ืืึธ ...
ืืืึทืกืืื, [10.07.18 14:45]
https://core.telegram.org/method/help.getConfig config#7dae33e0 [...] = Config; help.getConfig#c4f9186b = Config;
https://core.telegram.org/api/datacenter config#232d5905 [...] = Config; help.getConfig#c4f9186b = Config;
ืืื ืืขืจ ืกืืขืืข ืงืืื ืืขืจ ืขืจืฉืืขืจ, ืืขืจ ืฆืืืืืืขืจ
ืืื ืื tdesktop ืกืืขืืข, ืื ืืจืื ืืืขืจื ืืื
ืืึธ, ืืื ื ืืขืืึธืื, ืคืื ืงืืจืก, ืื ืืึทืงืืืืขื ืืืืฉืึทื ืืื ืืขืจืืืึทื ืืืงื. ืืึธืืฉ ืืึทืื ืขืก ืงืขื ืืืืืขืจ ืืืขืจื ืืจืขืืึทืืืึทื ื. ืืื ืืื ืืึธื ืึท ืึธื ืืืืืขืจ ืืขืืืขืืึธืคึผืขืจ ืืืืกื? ืืคึฟืฉืจ ืืืื ืืืจ ืคืึทืจืฉืจืืึทืื ืืืื ืึทืคึผืืึทืงืืืฉืึทื, ืืื ืืืขืื ืืืืืืืื ืืืจ? ืืืึทืกืืื ืืื ืืึธืก, ืึธืืขืจ ืืืื, ืืึธืจื ืืฉื ืืื ืืขืฉืืงื ืฆื ืืื (ืืืืืขืจ, ืืืจ ืืืขืื ืจืขืื ืืืขืื ืืขื ืืื ืื ืจืืข ืืืื).
... ืืืจ ืืืืขืจืงื ืึทื ืืืจ ืืึธืื ืฉืืื ืขืคืขืก ืืจืืืขืจืืขืคืืจื ืฆื ืื API, ื.ื. ืฆื ืืขืจ ืืืืึทืืขืจ ืืืจืื ืืื ืืืกื ืขืคึผืขืก ืืื ืื MTProto ืืขืืข? ืืึธืจื ืืฉื ืืืืืฉ:
ืืืึทืกืืื, [28.06.18/02/04 2:XNUMX AM] ืื, ืืื ืจืืื ืืืจื ืขืืืขืืข ืคืื โโืื ืึทืืืขืจืืืึทืื ืืืืฃ eXNUMXe
Mtproto ืืืคืืื ื ืขื ืงืจืืคึผืฉืึทื ืึทืืืขืจืืืึทืื ืืื ืฉืืืกืืขื ืคึฟืึทืจ ืืืืืข ืืึธืืืืื ื, ืืื ืืขืืื ื ืืื ืึท ืืืกื ืคืื ืึท ืจืึทืคึผืขืจ ืกืืจืืงืืืจ
ืึธืืขืจ ืืื ืืขื ืขื ืงืขืกืืืืขืจ ืืืงืกืื ื ืคืึทืจืฉืืืขื ืข ืึธื ืืืืื ืืขืืืขืืก, ืึทืืื ืขืก ืืื ื ืื ืฉืืขื ืืืง ืงืืึธืจ ืืื ืืืคึผืจืึธืืึธ ืืขืขื ืืืงื ืืื ืืขืจ ืืืืึทืืขืจ ืืืจืื ืื ืืขืืืืื.
ืืื ืืขื ืขื ืืื ืืขืืืฉื? ื ื, ืืึธ ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืึทืืืืืึทืืืง ืฉืืืกื ืคึฟืึทืจ PFS, ืคึฟืึทืจ ืืืึทืฉืคึผืื (ืืื, ืืขืืขืืจืึทื ืืขืกืงืืึธืคึผ ืืื ื ืืฉื ืืืืกื ืืื ืฆื ืืึธื ืืึธืก). ืขืก ืืื ืขืงืกืึทืงืืืืึทื ืืืจื ืึท ืึทืคึผื ืืขืื auth.bindTempAuthKey
, ื.ื. ืคืื ืื ืฉืคึผืืฅ ืืืจืื. ืึธืืขืจ ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืขืก ืื ืขืจืคืืจื ืขื ืงืจืืคึผืฉืึทื ืืื ืืขืจ ื ืืืขืจืืงืขืจ ืืืจืื - ื ืึธื ืขืก, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืจ ืืึทืจืคึฟื ืฆื ืืึธื ืืึธืก ืืืืืขืจ initConnection
ืืื', ืืืก ืืื ื ืืฉื ื ืึธืจ ื ืึธืจืืึทื ืืขืื. ืกืขืคึผืขืจืึทืืื, ืขืก ืืืื ืืืืืืืขืจื ืึทื ืืืจ ืงืขื ืขื ืืึธืื ืืืืื ืืืื ืฆืืึทืืืืืึทืืืง ืฉืืืกื ืืืืฃ ืื ืืง, ืืึธืืฉ ืื ืคืขืื auth_key_id
ืืื ืืขืืขืจ ืึธื ืืึธื ืึทืืึทืื ืืืจ ืฆื ืืืืฉื ืืขื ืฉืืืกื ืืื ืืื ืืกืืขืจ ืืขืืขืจ ืึธื ืืึธื, ืืื ืึทื ืืขืจ ืกืขืจืืืขืจ ืืื ืื ืจืขืื ืฆื "ืคืึทืจืืขืกื" ืื ืฆืืึทืืืืืึทืืืง ืฉืืืกื ืืื ืงืืื ืฆืืื - ืืืึธืก ืฆื ืืึธื ืืื ืืขื ืคืึทื, ืื ืืึทืงืืืืขื ืืืืฉืึทื ืืื ื ืืฉื ืืึธืื ... ื ื, ืืืึธืก ืขืก ืืืึธืื ื ืื ืืืื ืืขืืืขื ืฆื ืืึธืื ืขืืืขืืข ืฉืืืกืืขื, ืืื ืืื ืึท ืืึทื ื ืคืื ืฆืืงืื ืคึฟื ืกืึธืืฅ, ืึธืืขืจ ?..
ืขืก ืืขื ืขื ืขืืืขืืข ืื ืืขืจืข ืืื ืื ืืืึธืก ืืขื ืขื ืืืขืจื ืืืืขืจืงื ืืื ืื MTProto ืืขืืข.
ืึธื ืืึธื ืึทืจืืืงืืขื, msg_id, msg_seqno, ืืขืจืงืขื ืืขื ืืฉื, ืคึผืื ืืก ืืื ืื ืืืืจืขืื ืจืืืืื ื ืืื ืื ืืขืจืข ืืืืืึทืกืื ื
ืคืืจืืืืก ืืึธื ืืืจ ืืึทืจืคึฟื ืฆื ืืืืกื ืืืขืื ืืื? ืืืืึทื ืืื "ืจืื ืขื" ืืืื ืฉืืึทืคึผื ืืขืืขืจ, ืืื ืืืจ ืืึทืจืคึฟื ืฆื ืืืืกื ืืืขืื ืืื ืืืขื ืืืจ ืึทืจืืขื ืืื ืื ืึทืคึผื. ืจืขืื ืืืจ ืืขื ืขื ื ืืฉื ืืื ืืขืจืขืกืืจื ืืื msg_key, ืืขืจ ื ืืืขืจืืงืขืจ ืืืจืื ืืขืงืจืืคึผืืขื ืึทืืฅ ืคึฟืึทืจ ืืื ืื. ืึธืืขืจ ืืื ืื ืืขืงืจืืคึผืืื ืืึทืื, ืืืจ ืืึธืื ืื ืคืืืืขื ืืข ืคืขืืืขืจ (ืืืื ืื ืืขื ื ืคืื ืื ืืึทืื ืฆื ืืืืกื ืืื ืื ืืืึทืื ืืื, ืึธืืขืจ ืืึธืก ืืื ื ืืฉื ืืืืืืืง):
- salt-int64
- session_id - int64
- message_id - int64
- seq_no-int32
ืฆืืจืืงืจืืคื ืึทื ืืึทืืฅ ืืื ืืืื ืขืจ ืคึฟืึทืจ ืื ืืื ืฆืข ืืง. ืคืืจืืืืก ืืืืกื ืืืขืื ืืืจ? ื ืื ื ืึธืจ ืืืืึทื ืขืก ืืื ืึท ืืงืฉื get_future_salts
, ืืืึธืก ืืขืจืฆืืืื ืืืึธืก ืื ืืขืจืืืึทืื ืืืขื ืืืื ืืืืืืง, ืึธืืขืจ ืืืื ืืืืึทื ืืืื ืืืื ืืึทืืฅ ืืื "ืคืึทืจืคืืืื", ืืขืจ ืึธื ืืึธื (ืืขืื) ืืืขื ืคืฉืื ืืืื ืคืึทืจืคืึทืื. ืืขืจ ืกืขืจืืืขืจ ืืืขื ืคืื ืงืืจืก ืืึทืจืืื ืื ื ืืึท ืืึทืืฅ ืืืจื ืึทืจืืืกืืขืื new_session_created
- ืึธืืขืจ ืืื ืื ืึทืื ืืืื ืขืจ ืืืจ ืืืขื ืืึธืื ืฆื ืขืคืขืก ืืืืืขืจ ืฉืืงื, ืคึฟืึทืจ ืืืึทืฉืคึผืื. ืืื ืืขื ืงืฉืื ืึทืคืขืงืฅ ืื ืึทืจืงืึทืืขืงืืฉืขืจ ืคืื ืื ืึทืคึผืืึทืงืืืฉืึทื.
ืืขืจ ืกืขืจืืืขืจ ืืื ืขืจืืืืื ืฆื ืคืึทืื ืกืขืฉืึทื ื ืืขืกืึทืืึทืงื ืืื ืจืืกืคึผืึทื ื ืืื ืืขื ืืืขื ืคึฟืึทืจ ืคืืืข ืกืืืืช. ืึทืงืืืึทืืื, ืืืึธืก ืืื ืึท MTProto ืกืขืกืืข ืคึฟืื ืืขืจ ืงืืืขื ื ืืืึทื? ืืืก ืืขื ืขื ืฆืืืื ื ืืืขืจื session_id
ะธ seq_no
ืึทืจืืืงืืขื ืืื ืืขื ืกืขืกืืข. ื ื, ืืื ืื ืึทื ืืขืจืืืืื ื ืืงืคึผ ืงืฉืจ, ืคืื ืงืืจืก. ืืื ืก ืืึธืื ืืื ืืืขืจ ืงืืืขื ื ื ืึธื ืืื ื ืืฉื ืืืืกื ืืื ืฆื ืืึธื ืึท ืคึผืืึทืฅ ืคืื ืืืื, ืืืกืงืึทื ืขืงืืื, ืจืืงืึทื ืขืงืืื. ืืืื ืืึธืก ืืื ืืขืฉืขื ืืขืฉืืืื ื - ืื ืึทืื ืกืขืกืืข ืคืืจืืืืื ืืื ืื ื ืืึทืข ืืงืคึผ ืงืฉืจ, ืคืึทืจืืจืขืกืขืจื seq_no
ืืืืืืขืจ. ืืืื ืขืก ื ืขืื ืึท ืืึทื ื ืฆืืึทื, ืืขืจ ืกืขืจืืืขืจ ืงืขื ืืืกืืขืงื ืขืก, ืืืืึทื ืืืืฃ ืืืึทื ืืืึทื ืขืก ืืื ืืืื ืึท ืจืื, ืืื ืืืจ ืืขืคืื ืขื.
ืืืึธืก ืืึธื ืืืื seq_no
? ืืึทืงืข, ืืึธืก ืืื ืึท ืฉืืืขืจ ืงืฉืื. ืคึผืจืึผืืื ืฆื ืืึธื ืขืกืืื ืคึฟืึทืจืฉืืืื ืืืึธืก ืืื ืืขื ื:
ืืื ืืึทืื ืฉืืึทืืืช ืึธื ืืึธื
ื ืึธื ืืึธื ืจืืงืืืืืจืื ื ืึท ืืงืกืคึผืืืกืึทื ืืขืจืงืขื ืืขื ืืฉ. ืื ืึทืจืืึทื ื ืขืืขื ืึทืืข ืื ืืึทื ืืฆืขืจ ืืื ืคืืืข ืกืขืจืืืืก ืึทืจืืืงืืขื, ืึผืืขื ืึทืืข ืืื ืึท ืืืกื ืขื ืคืื ืงืึทื ืืืื ืขืจื ืืื ืึทืงื ืึทืืืืืฉืืึทื ืฅ.
ืึธื ืืึธื ืกืืงืืืึทื ืก ื ืืืขืจ (msg_seqno)
ื 32-ืืืกื ื ืืืขืจ ืืืืื ืฆื ืฆืืืื ืืึธื ืื ื ืืืขืจ ืคืื "ืืื ืืึทืื-ืคึฟืึทืจืืื ืืขื ืข" ืึทืจืืืงืืขื (ืื ืจืืงืืืืืจืื ื ืืขืจืงืขื ืืขื ืืฉ, ืืื ืกืคึผืขืฆืืขื ืื ืืืึธืก ืืขื ืขื ื ืืฉื ืงืึทื ืืืื ืขืจื) โโืืืฉืืคื ืืืจื ืื ืกืขื ืืขืจ ืืืืืขืจ ืืขื ืึธื ืืึธื ืืื ืืขืจื ืึธื ืื ืงืจืึทืืขื ืืื ืืืจื ืืืื ืขืจ ืืืื ืื ืงืจืึทื ื ืึธื ืืึธื ืืื ืึท ืืื ืืึทืื ืฉืืึทืืืช ืึธื ืืึธื. ื ืงืึทื ืืืื ืขืจ ืืื ืฉืืขื ืืืง ืืืฉืขื ืขืจืืืืึทื ื ืึธื ืืืึทื ืืึทื ืฅ ืืื ืืึทืื; ืืขืจืืืขืจ, ืืืึทื ืกืืงืืืึทื ืก ื ืืืขืจ ืืื ืืจืขืกืขืจ ืืื ืึธืืขืจ ืืืืึทื ืฆื ืื ืกืืงืืืึทื ืก ื ืืืขืจื ืคืื ืื ืึทืจืืืงืืขื ืงืึทื ืืืื ื ืืื ืขืก.
ืืืึธืก ืืื ืคืื ืฆืืจืง ืืื ืืึธืก ืืื ืึท ืื ืงืจืึทืืึทื ื ืคืื 1, ืืื ื ืึธื 2? .. ืืื ืืึธืฉืขื ืึทื ืืขืจ ืึธืจืืืื ืขื ืืืึทืืฉ ืืื ืืขืืืขื "ื ืืืขืจืืง ืืืกื ืคึฟืึทืจ ACK, ืื ืื ืืื ืืื ืึท ื ืืืขืจ", ืึธืืขืจ ืืขืจ ืจืขืืืืืึทื ืืื ื ืืฉื ืืึทื ืฅ ืจืขืื - ืกืคึผืขืฆืืขื, ืขืก ืงืืื ืืืืก ืื ืืขื ืงืขื ืขืก ืฉืืงื ืขืืืขืืข ืงืึทื ืคืขืจืืืืฉืึทื ื ืืืึธืก ืืึธืื ืื ืืขืืืข seq_no
! ืืื? ื ื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืขืจ ืกืขืจืืืขืจ ืกืขื ืื ืืื ืื ืขืคึผืขืก, ืกืขื ืื, ืืื ืืืจ ืืื ืืขื ืขื ืฉืืื, ืืืจ ื ืึธืจ ืขื ืืคึฟืขืจื ืืื ืกืขืจืืืืก ืืึทืฉืืขืืืงืื ื ืึทืจืืืงืืขื ืืืขืื ืจืืกืืืืื ื ืืืื ืึทืจืืืงืืขื. ืืื ืืขื ืคืึทื, ืืื ืืืขืจ ืึทืืืืึธืืื ื ืงืึทื ืคืขืจืืืืฉืึทื ื ืืืขื ืืึธืื ืื ืืขืืืข ืึทืืืืึธืืื ื ื ืืืขืจ. ืืืื ืืืจ ืืขื ื ืืึทืงืึทื ื ืืื ืืงืคึผ ืืื ืืขืืึทื ืง ืึทื ืืึธืก ืกืึธืื ืืก ืืื ืคืื ืืฉืืืข, ืึธืืขืจ ืขืก ืืืื ื ืฆื ืืืื ื ืืฉื ืืืืขืจ ืืืืื, ืืืืึทื ืืื ืืงืคึผ seq_no
ืืื ื ืืฉื ืืืืฉื, ืืื ืืึทืฉืืขืืืงืื ื ืืืื ืฆื seq_no
ื ื ืื ืืขืจ ืข ืืฒื ื โ ืืขืืื ื ืื ื ืื ื ืืืฒ ื ืฆ ื ืืขืจืฉืจืืงื . ืงืึทื ืคืขืจืืืืฉืึทื ื ืงืืืขื ืฆื MTProto ื ืืฉื ืืืืฃ seq_no
, ืืื ืืื ืืงืคึผ, ืึธืืขืจ 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;
ืึธ, ืขืืขืฆืขืจ ืืืขื ืืืืกืจืืคื, ืืึธ ืืื ืึท ืืขืจ ืืขื ืืฉ ืคึฟืึธืจืืึทื - ืขืก ืืื ืึท ืฉืืจื! ื ืขื ืืืื ืฆืืื. ืืึธ FLOOD_WAIT_3600
ืืืขื ืืืื ืขื ืึทื ืืืจ ืืึธืื ืฆื ืืืึทืจืื ืึท ืฉืขื, ืืื PHONE_MIGRATE_5
ืึทื ืืขืจ ืืขืืขืคืึธื ื ืืืขืจ ืืื ืืขื ืคึผืจืขืคืืงืก ืืึธื ืืืื ืจืขืืืกืืจืืจื ืืื ืื 5 ืืง. ืืืจ ืืึธืื ืึท ืืืคึผ ืฉืคึผืจืึทื, ืจืขืื? ืืืจ ืืึธื ื ืื ืืึทืจืคึฟื ืึท ืึทืจืืืืขื ื ืคืื ืื ืฉืืจืืงื, ืจืขืืืืขืจ ืืืืกืืจืืงื ืืืขื ืืึธื, cho.
ืืืืืขืจ, ืืึธืก ืืื ื ืืฉื ืืืืฃ ืื ืกืขืจืืืืก ืึทืจืืืงืืขื ืืืึทื, ืึธืืขืจ, ืืื ืขืก ืืื ืฉืืื ืืขืืืืื ืืืขื ืืื ืืขื ืคึผืจืืืขืงื, ืืื ืคึฟืึธืจืืึทืฆืืข ืงืขื ืขื ืืืื ืืขืคึฟืื ืขื ืืืืฃ ืื ืื ืืขืจ ืืึทืงืืืืขื ืืืืฉืึทื ืืืึทื. ืึธืืขืจ ืืืขืงื ืืฉื. ืขืจืฉืืขืจ, ืงืืง, ืืืืขื ืคืื ืืืืคึผืื ื / ืืืึทืขืจืก - RpcError
ืงืขื ืขื ืืืื ืื ืืืขืกืืึทื ืืื RpcResult
. ืคืึทืจืืืึธืก ื ืืฉื ืึทืจืืืก? ืืืึธืก ืืึธืื ืืืจ ื ืื ืืขื ืืืขื ืืื ืืฉืืื?.. ืึทืงืึธืจืืื ืืื, ืืื ืืื ืื ืืึทืจืึทื ืืืจื ืึทื RpcError
ืืขื ืืขื ื ืืฉื ืืื ืืืขืกืืืจื ืืื RpcResult
, ืึธืืขืจ ืืืื ืืืืึทื ืึธืืขืจ ื ืขืกืืขื ืืื ืื ืื ืืขืจ ืืืคึผ? ืขืก ืคืขืื ืขืก req_msg_id
? ..
ืึธืืขืจ ืืึธืื ืืื ืื ืคืึธืจืืขืฆื ืืืขืื ืกืขืจืืืืก ืึทืจืืืงืืขื. ืืขืจ ืงืืืขื ื ืงืขื ืืึทืืจืึทืืื ืึทื ืืขืจ ืกืขืจืืืืจืขืจ ืืื ืืจืืืื ืคึฟืึทืจ ืึท ืืึทื ื ืฆืืึทื, ืืื ืืึทืื ืึทืืึท ืึท ืืืื ืืขืจืืขื ืืขืื:
rpc_drop_answer#58e4a740 req_msg_id:long = RpcDropAnswer;
ืขืก ืืขื ืขื ืืจืื ืืขืืืขื ืขื ืืคึฟืขืจืก ืฆื ืขืก, ืืืืืขืจ ืื ืืขืจืกืขืงืืื ื ืืื ืื ืืึทืฉืืขืืืงืื ื ืืขืงืึทื ืืืึทื, ืฆื ืคึผืจืืืืจื ืฆื ืคึฟืึทืจืฉืืืื ืืืึธืก ืืื ืืึธื ืืืื (ืืื ืืืึธืก ืืื ืื ืจืฉืืื ืคืื ืืืืคึผืก ืืืึธืก ืืึธื ื ืื ืืึทืจืคื ืืึทืฉืืขืืืงืื ื ืืื ืึทืืืขืืืื), ืืขืจ ืืืืขื ืขืจ ืืื ืืื ืงืก ืืื ืืขืงืฆืืขืก (ืืึทืืขืจืงืื ื: ืื ืืื ืคึฟืึธืจืืึทืฆืืข ืืื ืื ืืขืืขืืจืึทื ืืขืกืงืืึธืคึผ ืงืืืืื ืืื ื ืืฉื ืืึทื ืฅ).
ืึทืืืงืฉืึทื: ืึธื ืืึธื ืคึผืึธืกืื ืกืืึทืืืกืขืก
ืืื ืึทืืืขืืืื, ืคืืืข ืขืจืืขืจ ืืื TL, MTProto ืืื Telegram ืืื ืึทืืืขืืืื ืืึธืื ืึท ืืขืคืื ืคืื ืขืงืฉื ืืช, ืึธืืขืจ ืคึฟืื ืืขืคืืขืืงืืึทื, ืืึทืงื ืืื ืื ืืขืจืข ืืืืื ืกืงืืื ืืืจ ืืึธืื ืืขืคืืขื ืืขืฉืืืืื ืืขืจืืืขืื, ืืื ืื ืืจืึธืืงืืื ืืื ืื ืืืึทืืึธืื ืืขื ืขื ืฆืขื ืืืจืืจื ืืขืืืึธืจื. ืึธืืขืจ, ืืขื ืึธืจืะืจืืึฟ ืคืื ืื ืืืึทื ืืืขืื
ืขืก ืกืืึทืจืฅ ืืืฉืขืืืขื, ืืื ืงืึทื ืคืขืจืืืืฉืึทื ื. ืืืืึทืืขืจ, ืืืจ ืืขื ืขื ืืขืจืฆืืืื ืืืขืื
bad_msg_notification#a7eff811 bad_msg_id:long bad_msg_seqno:int error_code:int = BadMsgNotification;
bad_server_salt#edab447b bad_msg_id:long bad_msg_seqno:int error_code:int new_server_salt:long = BadMsgNotification;
ื ื, ืึทืืขืืขื ืืืึธืก ืืืืื ืฆื ืึทืจืืขืื ืืื MTProto ืืืขื ืืึธืื ืฆื ืคึผื ืื ืืื, ืืื ืื "ืงืขืจืขืงืืื - ืจืืงืึธืืคึผืืืื - ืืึธื ืืฉื" ืฆืืงื, ืืึทืงืืืขื ื ืืืขืจ ืขืจืจืึธืจืก ืึธืืขืจ ืืึทืืฅ ืืืึธืก ืืื ืคืึทืจืคืืืื ืืขืฉืึทืก ืขืืืฅ ืืื ืึท ืคึผืจืึธืกื ืืึทื. ืึธืืขืจ, ืขืก ืืขื ืขื ืฆืืืื ืคืื ืงืื ืืึธ:
- ืขืก ืืืื ืึทื ืืขืจ ืึธืจืืืื ืขื ืึธื ืืึธื ืืื ืคืึทืจืคืึทืื. ืืืจ ืืึทืจืคึฟื ืฆื ืคึผืืืื ืขืืืขืืข ืจืืืขื, ืืืจ ืืืขืื ืืึทืืจืึทืืื ืืขื ืฉืคึผืขืืขืจ.
- ืืืึธืก ืืขื ืขื ืื ืืึธืื ืข ืืขืืช ื ืืืขืจื? 16, 17, 18, 19, 20, 32, 33, 34, 35, 48, 64... ืืืื ืืขื ืขื ืื ืจืขืฉื ืคืื ืื ื ืืืขืจื, ืืึทืื?
ืื ืืึทืงืืืืขื ืืืืฉืึทื ืืืื:
ืื ืืืื ื ืืื ืึทื ืืขืืช_ืงืึธืืข ืืืึทืืืขืก ืืขื ืขื ืืจืืคึผื (ืขืจืจ_ืงืึธืืข >> 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 ืฉืืขืงื ืืืืก (ืืืจ ืืืจืฃ ืึท ืืืขืงืืึธืจ ืคืื ืืืืขืก, ืืื ืืื ืื ื ืืืขืจืืงืขืจ ืฆืืืื ืืืื ืคืื ืื ืขื ืื, ืืื ืืื ืื ืขืืืขืจืข ืืืื ืคืืึทืืก). ืื ืคืื ื ืืื ืขืคึผืขืก ืึทื ืืขืจืฉ. ืฆื ืืืขืจ ืขืก ืื ืคึฟืึทืจืฉืืืื ืืืึธืก ืึทืืข ืืขื ืืื ืืื ืคืืจ ืืื ืคืึทืงืืืฉ ืงืืืขื ื ื ืืืืืง? .. ืืื ืฉืืืขืจืืงืืื, ืึธืืขืจ ืืืจ ืงืขื ืขื ืืืึทืืืฉืึทื ืขืืืขืืข ื ืืฅ ืืืื ืึท ืืขื ืืฉ ืืื ืคืึทืจืงื ืึทืกื ืืื ืืืืึทืืื ื, ืืื ืืื ืึท ืื ืืขืจืึทืงืืืื ืืึธืืข - ืคืจืขืื ืื ืกืขืจืืืขืจ ืืืึธืก ืืื ืืื. ืืืขืจ ืจืืงืืืขืก ืืขื ืขื ืืืกืงืจืืืื ืืึธ ืืืื ืืื ืฆืืจืืง.
ืขืก ืืืื ืืขืจืคืื ืึทื ืืขืืขืจ ืืืึทื ืืืื ื ืื ืืืืื ืขื ืงืจืืคึผื ืืื ืฉืืงื ืึทืจืืืงืืขื, ืึธืืขืจ ืืืื ืงืจืึธื ืืึทืื ืืืขืื ืืื, ืืืขืื ืื ืขื ืืคึฟืขืจืก ืฆื ืืื ืืื ืคึฟืึทืจ ืึทื ืืืืืึทืงืึทื ื ืฆืืื. ืื ืืึทืงืืืืขื ืืืืฉืึทื ืืื ื ืืฉื ืืึทืฉืจืืึทืื ืื ืืืืืื ืื ืึธืืขืจ ืื ืคึผืจืึทืงืืืฉ ืึธื ืืืขื ืืืขื ืคืื ืื ืคึฟืขืึดืงืืืื. ืืื ืงืืื ืืืขื. ืืืึธืก ืืื ืืขืจืกื ืืืืืฉ ืืื ืึทื ืืื ืืขื ืขื ืคืืงืืืฉ ืืขื ืืฆื ืืื ืื ืงืึธื ืคืื ืืึทืึทืืืขืจ ืงืืืืึทื ืฅ! ืืืืืจื ืืื ืืขื ืืื ืืขืจืฆืืืื ืขืคืขืก ืืืืก ืืื ื ืืฉื ืืจืืื ืืขืจืขืื ื ืืื ืื ืืคืขื ืข ืืืงืืืขื ืืืฆืืข. ืคึฟืึทืจืฉืืืื ืคึฟืื ืื ืงืึธื why, ืืื ื ืื ืืขืจ ืืื ืคึผืฉืื ืืื ืืื ืื ืคืึทื ืคืื TL - ืืึธืก ืืื ื ืืฉื ืึท (ืงืึทืืคึผืขืจืึทืืืื) ืืึทืืืฉืืงืื ืืคืืขืืื ืืขืจื ืืืื, ืึธืืขืจ ืึท ืฉืืืง ืืืื ืฆื ืื ืึทืคึผืืึทืงืืืฉืึทื ืึทืจืงืึทืืขืงืืฉืขืจ, ื.ื. ืืืขื ืืึทืจืคื ืคืื ืืขืจ ืฆืืื ืฆื ืคึฟืึทืจืฉืืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืงืึธื.
ืคึผืื ืืก ืืื ืฆืืื. ืจืืืขื.
ืคืื ืึทืืฅ, ืืืื ืืืจ ืฆืืจืืงืจืืคื ืื ืืขืกืื ืืืขืื ืื ืกืขืจืืืขืจ ืึทืจืงืึทืืขืงืืฉืขืจ (ืคืึทืจืฉืคึผืจืืืืื ื ืคืื ืจืืงืืืขืก ืึทืจืืืขืจ ืืึทืงืขื ืื), ืขืก ืืื ืืึทื ืฅ ื ืืื ืข - ืืจืึธืฅ ืึทืืข ืื ืืขืจืึทื ืืื ืคืื ืขืงืกืคึผืจืขืก ืืื TCP (ืึธืืขืจ ืื ืืึทืื ืืขื ืขื ืืืืขืจืืขืืขืื, ืึธืืขืจ ืืืจ ืืืขื ืืืื ืื ืคืึธืจืื ืืืขืื ืืขื ืืจืขืื, ืึธืืขืจ ืื ืืึทืื ืืืขื ืืืื ืืืืขืจืืขืืขืื ืืื ืืขื ืืึธืืขื ื ืคืื ืื ืคึผืจืึธืืืขื), ืึทื ืงืึทื ืคืขืจืืืืฉืึทื ื ืืื MTProto ืืื - ืงืืื ืืขืจืึทื ืืื. ืืขืจ ืกืขืจืืืขืจ ืงืขื ืขื ืืืืื ืคืึทืจืืืจื ืึธืืขืจ ืืืึทืจืคื ืืืื ืึธื ืืึธื, ืืื ืืึธืจื ืืฉื ืงืขื ืขื ืืืื ืืขืืื ืืืขืื ืืื, ื ืึธืจ ืฆื ืคึผืืืื ืงืจืึทืืฉืื ืคืื ืคืึทืจืฉืืื ืืืืคึผืก.
ืืื ืขืจืฉืืขืจ ืคืื ืึทืืข - ืึธื ืืึธื ืงืืื. ื ื, ืคึฟืึทืจ ืืืื ืืึทื, ืึทืืฅ ืืื ืืขืืืขื ืงืืึธืจ ืืื ืืขืจ ืืึธื ืคืื ืื ืึธื ืืืื - ืึท ื ืื-ืืืฉืืืื ืึธื ืืึธื ืืืื ืืืื ืกืืึธืจื ืืื ืคืึทืจืืจืืกื. ืืื ื ืึธื ืืืึธืก ืืึธื? ืืื ืืขืจ ืืืฆืืขืจ ืงืขื ืืื. ืืึธืืขืจ ืื ืึทืืืงื ืืื ืกื ืึทืจืืืงืืขื ืขืคืขืก ืกืึธืืืืข ืืขื ืคึผืจืึธืืืขื ืืื ืงืจืึทืืฉืื, ืืึธืื, ืืื ืืขืืขืืจืึทื ืืขืกืงืืึธืคึผ ืขืก ืืขื ืขื ืืืขืื 4 ืงืืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืฆื ืืื (ืืคึฟืฉืจ ืืขืจ, ืืื ืฉืืื ืืขืจืืื ื, ืคึฟืึทืจ ืืขื ืืืจ ืืึทืจืคึฟื ืฆื ืืขืืื ืืื ืืืื ืงืึธื ืืื ืึทืจืงืึทืืขืงืืฉืขืจ ืืขืจ ืขืืขืก; ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื, ืืืจ ืืืืกื ืึทื ืขืก ืงืขื ืขื ื ืื ืืืื ืืขื ืืืขื ืืื ืึท ืืืกืืขืจ, ืึท ืืืืขืจ ื ืืืขืจ ืคืื ืืืืคึผืก ืคืื ืื MTProto ืกืืขืืข ืืขื ืขื ื ืืฉื ืืขื ืืฆื ืืื ืขืก).
ืคืืจืืืืก ืืื ืืึธืก ืืขืฉืขืขื ืืฉ? ืืืกืืึธืืข, ืื ืกืขืจืืืขืจ ืคึผืจืึธืืืจืึทืืขืจื ืงืขื ื ืืฉื ืขื ืฉืืจ ืจืืืืืึทืืืืึทืื ืืื ืืขื ืงื ืืื, ืึธืืขืจ ืืื ืืื ืืกืืขืจ ืืคืืื ืืึทืคืขืจืื ื ืืืืฃ ืื ืคืจืึธื ื ืืึทืืึทื ืกืขืจ, ืืื ืฉืืคืืื ืืขื ืคึผืจืึธืืืขื ืฆื ืืขื ืงืืืขื ื. ืคืื ืคืึทืจืฆืืืืืคืืื ื, ืืืึทืกืืื ืืขืคืจืืืื ืฆื ืื ืกืืจืืืขื ื ืึทื ืึธืืืขืจื ืึทืืืื ืึธืคึผืฆืืข, ืืื ืืืืื ืฆืืืื ืงืืื, ื ืืฆื ืึทืืืขืจืืืึทืื ืคืื TCP - ืืขืกืื RTT ืฆื ืื ืกืขืจืืืขืจ ืืื ืึทืืืฉืึทืกืืื ื ืื "ืคึฟืขื ืฆืืขืจ" ืืจืืืก (ืืื ืึทืจืืืงืืขื) ืืืคึผืขื ืืื ื ืืืืฃ ืื ื ืืืขืจ ืคืื ืึทื ืึทืงื ืึทืืืืืฉื ืจืืงืืืขืก. ืืึธืก ืืื, ืึทืืึท ืึท ืคึผืจืึธืกื ืืืืจืืกืืืง ืคึฟืึทืจ ืึธืคึผืฉืึทืฆื ืกืขืจืืืขืจ ืืึทืกืข - ืืื ืคืืืข ืคืื โโืืื ืืืขืจ ืจืืงืืืขืก ืขืก ืงืขื ืขื ืงืืึทืขื ืืื ืืขืจ ืืขืืืืงืขืจ ืฆืืื ืืื ื ืืฉื ืคืึทืจืืืจื.
ื ื, ืืึธืก ืืื, ืืืจ ืคึฟืึทืจืฉืืืื, ืจืขืื? ืืืื ืืืจ ืืึธืื ืฆื ืื ืกืืจืืืขื ื TCP ืืืืืขืจ ืืืืฃ ืฉืคึผืืฅ ืคืื ืึท ืคึผืจืึธืืึธืงืึธื ืืืึธืก ืึทืจืืขื ืืืืขืจ TCP, ืืึธืก ืื ืืืงืืืฅ ืึท ืืืืขืจ ืฉืืืึทื ืืืืืื ื ืคึผืจืึธืืึธืงืึธื.
ืืึทืงืข ืืึธ, ืืืึธืก ืืื ืืืจืฃ ืืขืจ ืืื ืืืื ืจืื, ืืื ืืื ืึทืืืขืืืื, ืืืึธืก ืืื ืืึธืก ืืืื ืขื ืคึฟืึทืจ ืึท ืืขื ืืฉ ืืืึธืก ืึทืจืืขื ืืื ืึท ืืืื-ืืืจืื API? ืงืืง, ืืืจ ืืืื ืึท ืืงืฉื, ืืืจ ืกืืจืืึทืืื ืขืก, ืึธืืขืจ ืขืก ืืื ืึธืคื ืืืืืขืืืขื ืฆื ืฉืืงื ืขืก ืืื. ืคืืจืืืืก? ืืืืึทื ืืขืจ ืขื ืืคืขืจ ืืืขื ืืืื msg_id
, ืืืึธืก ืืื ืฆืืึทืืืืืึทืืืงะฐืืื ืืื ืึท ืคืืจืืข, ืื ืึทืคึผืืื ืืืึทื ื ืคืื ืืืึธืก ืืื ืืขืกืขืจ ืฆื ืึธืคึผืืืืื ืืื ืฉืคึผืขื ืืื ืืขืืืขื - ืคึผืืืฆืืื ื ืืขืจ ืกืขืจืืืขืจ ืืืขื ืึธืคึผืืืึทืจืคื ืขืก ืืืืึทื ืคืื ืึท ืฆืืื ืืืกืืึทืืฉ ืฆืืืืฉื ืืื ืื ืืื ืขืก (ืคืื ืงืืจืก, ืืืจ ืงืขื ืขื ืืึทืื ืึท ืงืจืึทืืฉ ืืืึธืก ืฉืืคืฅ ืืื ืืืขืจ ืฆืืื ืคืื ืื ืคืึธืจืฉืืขืื ืฆื ืื ืกืขืจืืืขืจ ืฆืืื ืืืจื ืึทืืื ื ืึท ืืขืืืึท ืงืึทืืงืืึทืืืืืื ืคืื ืื ืกืขืจืืืขืจ ืจืขืกืคึผืึธื ืกืขืก - ืืึทืึทืืืขืจ ืงืืืืึทื ืฅ ืืึธื ืืึธืก, ืึธืืขืจ ืืขื ืืืคึฟื ืืื ืืจืึธื ืืื ืืืคึผืื ืงืืืขื ืจืขืื ืฆื ืืึทืคืขืจืื ื). ืึทืืื ืืืขื ืืืจ ืืึทืื ืึท ืืงืฉื ืืื ืึท ืืืืข ืคืื ืงืฆืืข ืจืืคื ืคืื ืืขืจ ืืืืืืึธืืขืง, ืืขืจ ืึธื ืืึธื ืืืื ืืืจื ืื ืคืืืืขื ืืข ืกืืึทืืขืก:
- ืืืื ืืื ืืขืจ ืืขืืืืงืขืจ ืจืื ืืื ืืื ืืืืจืื ืคึฟืึทืจ ืขื ืงืจืืคึผืฉืึทื.
- ืืืฉืืืื
msg_id
ืืื ืืขืจ ืึธื ืืึธื ืืื ืืขืืื ืืขื ืฆื ืื ืื ืืขืจ ืจืื - ืืขืืืขื ืคืึธืจืืืขืจืืื ื; ืฉืืงื ืฆื ืืึธืืขื. - ืึท) ืืขืจ ืกืขืจืืืขืจ ืืึธื ืืขืขื ืืคืขืจื MsgsAck - ืืขืจ ืึธื ืืึธื ืืื ืืืืขืจืืขืืขืื, ืืืจ ืืืกืืขืงื ืขืก ืคืื ืื "ืื ืืขืจืข ืจืื".
ื) ืืืขืจ ืคืืจืงืขืจื, ืขืคืขืก ืืื ืขืจ ื ืืฉื ืืขืคืขืื, ืืื ืขืจ ืืขืขื ืืคืขืจื ืืืืืกื - ืืืจ ืฉืืงื ืืืืืขืจ ืคืื ืื "ืื ืืขืจืข ืจืื"
ื) ืืึธืจื ืืฉื ืืื ืืืงืื ื, ืขืก ืืื ื ืืืืืง ืฆื ืฉืืงื ืื ืึธื ืืึธื ืคืื ืื ืื ืืขืจ ืจืื - ืึธืืขืจ ืขืก ืืื ื ืืฉื ืืืงืื ื ืคึผืื ืงื ืืืขื. - ืกืขืจืืืืจืขืจ ืืขืกืึธืฃ ืืขืขื ืืคืขืจื
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;
ืึทืจืืขื ืืื ืคึผืื ื. ืืื ืืขืจืฆื, ื ืึธื ืืขื ืืื ืืืงืืืขื, ืืขืจ ืกืขืจืืืขืจ ืกืืึทืจืฅ ืึท ืืืึทืืขืจ ืืืึธืก ืืืขื ืคืึทืจืืึทืื ืื ืงืจืึทื ื ืงืฉืจ disconnect_delay ืกืขืงืื ืืขืก ืฉืคึผืขืืขืจ ืกืืึทืื ืขืก ื ืขืื ืึท ื ืืึทืข ืึธื ืืึธื ืคืื ืืขืจ ืืขืืืืงืขืจ ืืืคึผ ืืืึธืก ืืืืืึธืืึทืืืฉ ืจืืกืืึทืจื ืึทืืข ืคืจืืขืจืืืงืข ืืืืืขืจื. ืืืื ืืขืจ ืงืืืขื ื ืกืขื ืื ืื ืคึผืื ืืก ืึทืืึธื ืืขืืขืจ 60 ืกืขืงืื ืืขืก, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืขืก ืงืขื ืฉืืขืื Disconnect_delay ืืืืึทื ืฆื 75 ืกืขืงืื ืืขืก.
ืืืกืื ืืจืืืก ืคืื ืืื ืขื?! ืืื 60 ืกืขืงืื ืืขืก ืืืขื ืื ืืื ืืจืืื ืืืื ืืื ืื ืกืืื ืฆืืข, ืืคืืืื ืืื ืืืืคื ืขืืขื ืคืืกืืืฉืืจื, ืืื ืืืืืขืจ ืคืืจืืืจื ืคืืจืืื ืืื ื ืืื ืขื ืืื ืขื. ืืื 120 ืกืขืงืื ืืขืก, ืืืขื ืืืจ ื ืืืึธ, ืขืจ ืืืขื ืงืืืขื ืฆื ืื ืืขืจื, ืืื ืืขืจ ืงืฉืจ ืืืขื ืจืืึฟ ืืกืชึผืื ืืจืขืื. ื ื, ืขืก ืืื ืงืืึธืจ ืืื ืื ืืขืืก ืืืึทืงืกื ืคืื - "ืืื ืืขืืขืจื ืึท ืจืื ืืื ื, ืึธืืขืจ ืืื ืืึธื ื ืื ืืืืกื ืืื ืขืก ืืื", ืขืก ืืื ืื ืึทืืืขืจืืืึทื ืคืื Nagle ืืื ืื TCP_NODELAY ืึธืคึผืฆืืข, ืืืึธืก ืืื ืืขืืืขื ืืืขื ืคึฟืึทืจ ืื ืืขืจืึทืงืืืื ืึทืจืืขื. ืึธืืขืจ, ืื ืืฉืืืืืื, ืคืึทืจืืึทืืื ืื ืคืขืืืงืืึทื ืืืขืจื - 200 ืืืืืกืขืงืื ืืขืก. ืืืื ืืืจ ืืึทืงืข ืืืืื ืฆื ืฉืืืืขืจื ืขืคึผืขืก ืขื ืืขื ืืื ืฉืคึผืึธืจื ืืืืฃ ืึท ืืขืืืขื ืคึผืึธืจ ืคืื ืคึผืึทืงืืฅ - ื ื, ืฉืืขืื ืขืก ืึทืืืขืง, ืืคึผืืืช ืคึฟืึทืจ 5 ืกืขืงืื ืืขืก, ืึธืืขืจ ืืืขืืืขืจ ืื ืืืืืึทืื ืคืื ืืขืจ ืึธื ืืึธื "ืืึทื ืืฆืขืจ ืืื ืืืืคึผืื ื ..." ืืื ืืืฆื ืืืืึทื ืฆื. ืืืขืจ ื ืื ืืขืจ.
ืืื ืืขืกืึธืฃ, ืคึผืื ืืก. ืืึธืก ืืื, ืงืึธื ืืจืึธืืืจื ืื ืืขืื ืคืื ืึท ืืงืคึผ ืงืฉืจ. ืขืก ืืื ืืึธืื ืข, ืึธืืขืจ ืืื 10 ืืึธืจ ืฆืืจืืง ืืื ืืขืฉืจืืื ืึท ืงืจืืืืฉ ืืขืงืกื ืืืขืื ืืขื ืฉืืื ืคืื ืื ืืึธืกืืขื ืคืื ืืื ืืืขืจ ืคืืืืงืืึทื - ืืึธืจื ืื ืืืืจืื ืืืื ืคึผืื ื ืื ืกืขืจืืืขืจ ืคืื ืืขื ืงืืืขื ื, ืืื ื ืืฉื ืคืึทืจืงืขืจื. ืึธืืขืจ ืืจืื ืืึธืจ ืกืืืืขื ืื ืืขื ืขื ืืืื ืืึทื, ืืื ืึทื ืืื ืืขืจื ืึทืฆืืึธื ืึทืืข ืึธืคืืก ืืื ืื ืื ืืขืจ, ืจืขืื? ..
ืขืจืฉืืขืจ, ืึท ืงืืืื ืืืืืื ืืงืจืืื ืคึผืจืึธืืจืึทื. ื TCP ืคึฟืึทืจืืื ืืื ื, ืืื ืืขืจ ืึทืืืขืง ืคืื ืคึผืึทืงืึทื ืืืขืงืกื, ืงืขื ืขื ืืขืื ืคึฟืึทืจ ืืืึธืื. ืืึธืก ืืื ืืืืืข ืืื ืืื ืฉืืขืื, ืืืคึผืขื ืืื ื ืืืืฃ ืื ืฆืื. ื ื, ืืืื ืืืจ ืืึธื ืึท SSH ืคึฟืึทืจืืื ืืื ื ืฆื ืื ืกืขืจืืืขืจ ืึธืืคึผืึทื ื, ืืืจ ืืึธื ืืื ืืืืคืืขืืืืื ืคืื ืืืื ืงืึธืืคึผืืืืขืจ, ืจืขืืึธืึธืืขื ืื ืืึทืื ืจืึทืืืขืจ, ืืื ืืืืืขืงืขืจื ืฆื ืืืื ืคึผืืึทืฅ - ืื ืกืขืกืืข ืืืจื ืืขื ืกืขืจืืืขืจ ืืื ื ืืฉื ืฆืขืืจืืื (ื ืืฉื ืืืคึผ ืขืคึผืขืก, ืขืก ืืขื ืขื ืงืืื ืคึผืึทืงืืฅ), ืืึทืงืืืขื. ืขืก ืืื ืฉืืขืื ืืืื ืขืก ืืขื ืขื ืืืืื ืืขืจ ืคืื ืงืืืืึทื ืฅ ืืืืฃ ืื ืกืขืจืืืขืจ, ืืขืืขืจ ืืืื ืขืจ ื ืขืื ืจืขืกืืจืกื (ืืขืื Postgres!), ืืื ืืขืจ ืงืืืขื ื ืืึทืืขืืึธืก ืงืขื ืืึธืื ืจืขืืึธืึธืืขื ืึท ืืึทื ื ืฆืืึทื ืฆืืจืืง - ืึธืืขืจ ืืืจ ืืืขืื ื ืืฉื ืืืืกื ืืืขืื ืืื.
ืฉืืืขืกื / ืื ืกืืกืืขืืขื ืืขืืขืจื ืฆื ืื ืจืืข ืคืึทื ืคึฟืึทืจ ืื ืื ืืขืจ, ื ืึธื ืกืืื - ืึธื ืืืื ืกืืึทืืืกืขืก. ืืืื ืืขืจ ืืึทื ืืฆืขืจ "ืืขืคืืื ืึทืืืขืง", ืขืก ืืื ื ืืืืืง ืฆื ืืืืืืืื ืืืื ืื ืืขืจืืึทืงืืึทืืขืจื ืืืขืื ืืื. ืึทื ืืขืจืฉ, ืขืก ืืืขื ืืืื ืึท ืืจืืึทื ืืืึธืก ืื ืงืจืืืืืขืจื ืคืื ืืืฉืึทืืขืจ ืืขืืืื (ืืื ืงืขืจืขืงืืึทื ืคึฟืึทืจ 20 ืืืจ) - ืืขืจ ืืึทื ืืฆืขืจ ืืืกืงืึทื ืขืงืืื, ืึธืืขืจ ืืื ืคืึธืจืืขืฆื ืฆื ืฉืจืืึทืื ืึทืจืืืงืืขื ืฆื ืืื, ืืืืืืืง ืึทื ืขืจ ืืื ืึธื ืืืื (ืืืึธืก ืืขื ืขื ืืืื ืืึธืจ ืคืึทืจืคืึทืื ืืื ืื ืืืกื ืืื ืื ืคืจืืขืจ ืื ืืจืขืื ืืื ืืืกืงืึทืืืขืจื). ื ืืื, ืื TCP_KEEPALIVE ืึธืคึผืฆืืข, ืืืึธืก ืคืืืข ืืขื ืืฉื ืืืึธืก ืืึธื ื ืื ืคึฟืึทืจืฉืืืื ืืื ืืงืคึผ ืืืืืขืจื ืึทืจืืขื, ืคึผืึธืคึผืก ืขืจืืขืฅ (ืืืจื ืืึทืฉืืขืืืงื ืืืืื ืืืึทืืืขืก ืืื ืืขื ืก ืคืื ืกืขืงืื ืืขืก), ืืืขื ื ืืฉื ืืขืืคื ืืึธ - ืืืจ ืืึทืจืคึฟื ืฆื ืืึทืื ืืืืขืจ ืึทื ื ืื ืืืืื ืื OS ืงืขืจื ืคืื ืืขืจ ืืึทื ืืฆืขืจ 'ืก ืืึทืฉืื ืืื ืืขืืขืืืง, ืึธืืขืจ ืืืื ืคืึทื ืืงืฉืึทื ื ื ืึธืจืืึทืื, ืงืขื ืขื ืฆื ืขื ืืคึฟืขืจื, ืืื ืื ืึทืคึผืืึทืงืืืฉืึทื ืืื (ืฆื ืืืจ ืืจืึทืืื ืขืก ืงืขื ื ืืฉื ืคืจืืจื? ืืขืืขืืจืึทื ืืขืกืงืืึธืคึผ ืืืืฃ ืืืื ืื 18.04 ืืื ืงืจืึทืฉื ืคึฟืึทืจ ืืืจ ืจืืคึผืืืืืื).
ืึทื ืืื ืืืึธืก ืืืจ ืืึธื ืคึผืื ื ืกืขืจืืืขืจ ืงืืืขื ื, ืืื ื ืื ืืืืฆืข ืืืขืจืกืึท - ืืืื ืืขืจ ืงืืืขื ื ืืื ืืึธืก, ืืืขื ืื ืงืฉืจ ืืื ืฆืขืืจืืื, ืื ืคึผืื ื ืืืขื ื ืืฉื ืืืื ืืืืขืจืืขืืขืื, ืืขืจ ืฆืื ืืื ื ืืฉื ืึทืืฉืืืื.
ืืื ืืืึธืก ืืึธื ืืืจ ืืขื ืืื ืืขืืขืืจืึทื? ืึทืืฅ ืืื ืคึผืื ืงื ืคืึทืจืงืขืจื! ื ื, ื.ื. ืคืึธืจืืึทืื, ืคืื ืงืืจืก, ืืืืืข ืืืืื ืงืขื ืขื ืคึผืื ื ืืขืืขืจ ืื ืืขืจืข. ืืื ืคืืจ, ืงืืืืึทื ืฅ ื ืืฆื ืึท ืงืจืึทืืฉ ping_delay_disconnect
, ืืืึธืก ืงืึธืงืก ืึท ืืืึทืืขืจ ืืืืฃ ืื ืกืขืจืืืขืจ. ื ื, ืื ืืฉืืืืืื, ืขืก ืืื ื ืืฉื ืืขืจ ืงืืืขื ื 'ืก ืืขืฉืขืคื ืฆื ืืึทืฉืืืกื ืืื ืืึทื ื ืขืจ ืืืื ืฆื ืืขืื ืืึธืจื ืึธื ืคึผืื ื. ืืขืจ ืกืขืจืืืขืจ, ืืืืืจื ืืืืฃ ืืืื ืืึทืกืข, ืืืืืกื ืืขืกืขืจ. ืึธืืขืจ, ืคืื ืงืืจืก, ืืืื ืืืจ ืืึธื ื ืื ืคืืื ื ืขืืขืืืืง ืคึฟืึทืจ ืื ืจืขืกืืจืกื, ืื ืืืื ืคึผืื ืึธืงืืฉืืึธ ืืขื ืขื ืืื, ืืื ืื ืงืจืึทืืฉ ืืืขื ืคืึทืื ืึทืจืึธืคึผ ...
ืืื ืืึธื ืขืก ืืืื ืืืืืื ื?
ืืื ืืืืืื ืึทื ืื ืืืืื Facts ืืึทื ืฅ ืงืืืจ ืึธื ืืืืึทืื ืื ื ืืฉื ืืืืขืจ ืืืื ืงืึทืืคึผืึทืืื ืก ืคืื ืื ืืขืืขืืจืึทื / ืืืงืึธื ืืึทืงืืข ืืึทื ืฉืึทืคึฟื ืืื ืื ืคืขืื ืคืื ืึทืจืืืขืจืคืืจื (ืืื ื ืืืขืจืืงืขืจ) ืืืจืื ืคืื ืงืึธืืคึผืืืืขืจ ื ืขืืืืึธืจืงืก ืืื ืืืืขืจ ื ืืืขืจืืง ืงืืืึทืืืคืืงืึทืฆืืข ืืื ืืึทืืืึทืืืง ืขื ืื ืื.
ืคืืจืืืืก ืืื ืขืก ืืขืืืขื ืึทืืื ืงืึธืืคึผืืืฆืืจื, ืืื ืืื ืงืขื ืขื ืืขืืขืืจืึทื ืึทืจืงืึทืืขืงืฅ ืคึผืจืืืืจื ืฆื ืึทืืืืฉืขืงื? ืืขืจ ืคืึทืงื ืึทื ืืื ืืขืคืจืืืื ืฆื ืืึทืื ืึท ืกืขืกืืข ืืืึธืก ืกืขืจืืืืืืื TCP ืคึฟืึทืจืืื ืืื ื ืืจืืืงืก, ืืึธืก ืืื, ืืืึธืก ืืืจ ืืึธืื ื ืืฉื ืืึทืคืจืืึทืขื ืืืฆื, ืืืจ ืืืขื ืฆืืฉืืขืื ืฉืคึผืขืืขืจ. ืืื ืืืื ืืกืชืื ืืืื ืคืจืืืืจื ืฆื ืืืื ืื"ืค ืืจืื ืกืคืืจื, ืืืืฉ ืืื ืืขื ืขื ืืขืืืคื ืืื ืฉืืืขืจืืืงืืืื ืืื ืืืก ืคืืจืืืื (ืืขืจืืืขืจ ืืื ืื ืืืงืืืขื ืืืฆืืข ืืืืืื - ืก'ืืื ื ืืฉื ืืขืืืขื ืืื ืืืืก ืฆื ืืึทืจืืืขื). ืึธืืขืจ ืจืขืื ืฆื ืึท ืคืขืื ืคืื ืคืืจืฉืืื ื ืคืื ืืื ื ืขืืืืึธืจืงืก ืืื ืึทืืืขืืืื ืืื ืืงืคึผ ืืื ืืึทืืื ืืขืจ ืึทืจืืขื, ืืื ืืืจ ืงืขื ืขื ืคืึทืจืืึธืื ืืื ืขืก, ืืื ืืื ืืืจ ืืึทืจืคึฟื ืฆื ืืึธื ืืึธืก ืืื (ืืื ืืื), ืืื ืคืจืืืื ืฆื ืคืึทืจืืื ืื ืืึธืก ืืื ืงืจืืคึผืืึธืืจืึทืคื "ืืืื ืฉืึธืก ืคืื ืฆืืืื ืคืฒืื ืืื ืืฒื ืฉืืฒืืด โ ืืื ืืื ืืจืืืืืขืฐืืื ืืื ืงืืืืฐืขืจ.
ืืื ืืึธื ืขืก ืืืื? ืืึทืืืจื ืืืืฃ ืืขื ืคืึทืงื ืึทื msg_id
ืืื ืึท ืืืืขืกืืึทืืคึผ ืืืึธืก ืืื ืงืจืืคึผืืึธืืจืึทืคืืงืึทืืื ื ืืืืืง ืฆื ืคืึทืจืืืึทืื ืจืืคึผืืื ืื ืคืืื, ืขืก ืืื ืึท ืืขืืช ืฆื ืฆืืืฉืขืคึผืขื ืึท ืืื ืฆืืง ืืืขื ืืืคืืขืจ ืคืื ืงืฆืืข ืฆื ืขืก. ืืขืจืืืขืจ, ืึธื ืืจืึทืกืืืงืื ืืฉืึทื ืืื ื ืื ืงืจืึทื ื ืึทืจืงืึทืืขืงืืฉืขืจ (ืืืขื ืื ืืขืจืืืึทื ืืืงืื ืืขื ืคืึธืืขื ืืื ืืขืฉืืคื, ืืึธืก ืืื ืึท ืืืื-ืืืจืื ืึทืคึผื ืืขืืข ืคึฟืึทืจ ืื ืื ืืขืจ ืืืื ืคืื ืื ืกืขืจืืข ืคืื โโืึทืจืืืงืืขื), ืืืจ ืืืึธืื ืืึธืื ืฆื:
- ืืขืจ ืกืขืจืืืขืจ ืืืึธืก ืืืืื ืื ืืงืคึผ ืงืฉืจ ืฆื ืืขื ืงืืืขื ื ื ืขืื ืคึฟืึทืจืึทื ืืืืึธืจืืืขืืงืืื - ืืืื ืืืจ ืกืึทืืืจืึทืงืืื ืคืื ืื ืืึธืืขื, ืืืืข ืืึทืฉืืขืืืงื, ืคึผืจืึธืฆืขืก ืึธืืขืจ ืฆืืจืืงืงืืืขื ืึท ืืขืืช, ืงืืื ืึธื ืืืขืจ. ืืขืจื ืึธื ืื ืืึทืฉืืขืืืงืื ื ืืื ื ืืฉื ืึท ืืืขืงืืึธืจ ืคืื ืฉืืึทื, ืึธืืขืจ ืคืฉืื "ืื ืืขืฆืืข ืืืงืืืขื ืกืขืง_ื ืึธ" - ื ืึธืจ ืึท ื ืืืขืจ, ืืื ืืื ืืงืคึผ (ืฆืืืื ื ืืืขืจื - ืืืื ืืืืืขื ืข ืกืขืง ืืื ืืืฉืืขืืืงื). ืืืจ ืืขื ืขื ืฉืืขื ืืืง ืืื ืกืขืกืืข, ืืื ื ืื ืืืจ?
- ืืขืจ ืืืืขืกืืึทืืคึผ ืฆื ืคืึทืจืืืึทืื ืจืืคึผืืื ืื ืคืืื ืืืขืจื ืึท ืืึทืืื ืืขืจ ืคืขืื, ืึท ืืึท ื ืึทื ืกืข. ืึธืคึผืืขืฉืืขืื, ืึธืืขืจ ืืึธืจื ืืฉื ืึทื ืืขืจืฉ ืืื ืึทืคืขืงืืึทื. ืืขื ืื ืืื
uint32
- ืืืื ืืื ืืืขืจ ืืึทืืฅ ืขื ืืขืจืื ืืขื ืืืึท ืืื ืืกืืขืจ ืืขืืขืจ ืืึทืื ืึท ืืึธื, ืืืจ ืงืขื ืขื ืฆืืืืืื 16 ืืืื ืฆื ืื ื ืืืขืจืืงืขืจ ืืืื ืคืื ืื ืืึทื ืฅ ืืืื ืคืื ืื ืงืจืึทื ื ืฆืืึทื, ืื ืื ืืื - ืฆื ืื ืคืจืึทืงืฉืึทื ืึทื ืืืื ืคืื ืึท ืจืืข (ืืื ืขืก ืืื ืืืฆื). - ืฆืืจืืงืืขืฆืืืื
msg_id
ืืืื - ืคึฟืื ืื ืคืื ื ืคืื ืืืื ืื ื ืคืื ืืืกืืื ืืืืืืฉืื ื ืจืืงืืืขืก ืืืืฃ ืื ืืึทืงืขื ืื, ืขืก ืืื, ืขืจืฉืืขืจ, ืื ืงืืืขื ื ืฉืืึทื, ืืื ืฆืืืืืื ืก, ืื ืกืขืกืืข ืฉืืึทื, ืืื ืงืึทื ืงืึทืืึทื ืืื ืืื. ืึทืงืงืึธืจืืื ืืื, ืืื ืึท ืืงืฉื ืืืขื ืืืคืืขืจ, ืืืืื ืืืื ืืื ืืขื ืืseq_no
.
ืืืื ื ืืฉื ืืขืจ ืืขืกืืขืจ ืึธืคึผืฆืืข, ืึท ืืึทื ืฅ ืืจืึทืค ืงืขื ืืื ืขื ืืื ืึท ืืืืขื ืืืืขื - ืืึธืก ืืื ืฉืืื ืืขืืื ืืื ืื ืืืื-ืืืจืื 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, ืึทืืืฅ ืืึธืืขืจ ืงืืืกื ืืขื ืขื ืึทืืึทืืฉื ืฆื ืึทืืืืฉืขืงืฅ?
ืึทืืื ืขืก ืืืจื ืก ืืืืก ... ืืืึธืก ืืื ืขืก, ืงืึทืืจืึทืื? .. ืึทืืื ืคืื ืื - ืืื ืืืจ ืคืืจืฉืืืคื ืฆื ืจื ืืื ืื ืืืขื ืคึผืจืึธืืืจืึทืืขืจื ื ืึธืจ ืกืืึทืจืืื ื?.. ืืืึธืื ื ืื ื ืึธืจ JSON ืืืืขืจ ืืืืคึผืก ืืืื ืืจืื ืืขืจ?! ืืื ืืืึธืก ืืึธืื ืืืจ ืืึทืงืืืขื ืืื ืืืขืงืกื? ืืขื ืขื ืื ืืฉืชืืืืช ืืืขืจื ืขืก?
ืืึธืืืจ ืึธืคึผืฉืึทืฆื ืืืึธืก TL + MTProto ืืื ืืื ืื ืืขืืขืื ืืื ืืืึธืก ืึทืืืขืจื ืึทืืืืืขืก ืืขื ืขื ืืขืืืขื. ื ื, ืืืืคึผ ืืขืื-ืขื ืืคืขืจ ืืื ืึท ืฉืืขืื ืคึผืึทืกืืง, ืึธืืขืจ ืืื ืืื ืืกืืขืจ ืขืคึผืขืก ืืืืฃ ืฉืคึผืืฅ ืคืื TLS?
ืกืึธืืื ืกืืจืืึทืืืืืืฉืึทื. ืืขืืขื ืืขื ืืึทืื ืกืืจืืงืืืจ, ืขื ืืขื ืฆื JSON, ืขืก ืืื ืืขืจืืื ื ืึทื ืขืก ืืขื ืขื ืืืื ืขืจื ืืืขืจืืึทื ืฅ. ืืึธืืืจ ืฆืืืื MsgPack ืืื ื ืื ืืขื ืืืืง ืขืงืกืืขื ืกืืืืข, ืึธืืขืจ ืขืก ืืื, ืืืฉื, CBOR - ืืืจื ืืขื ืืืขื, ืืขืจ ื ืึธืจืืึทื ืืืกืงืจืืืื ืืื
- 25 + 256 - ืจืืคึผืืืืกืื ื ืืืคึผืืืงืึทื ืฉืืจืืช ืืื ืึท ืฉืืจื ื ืืืขืจ ืจืขืคึฟืขืจืขื ืฅ, ืึทืืึท ืึท ืืืืืง ืงืึทืืคึผืจืขืฉืึทื ืืืคึฟื
- 26 - ืกืืจืืึทืืืืขื ืคึผืขืจื ืืืืคืขืฅ ืืื ืงืืึทืก ื ืึธืืขื ืืื ืงืึธื ืกืืจืืงืืึธืจ ืึทืจืืืืขื ืื
- 27 - ืกืืจืืึทืืืืขื ืฉืคึผืจืึทื-ืคืจืืึท ืืืืคืขืฅ ืืื ืืืคึผ ื ืึธืืขื ืืื ืงืึธื ืกืืจืืงืืึธืจ ืึทืจืืืืขื ืื
ื ื, ืืื ืืขืคืจืืืื ืฆื ืกืืจืืึทืืื ืื ืืขืืืข ืืึทืื ืืื TL ืืื CBOR ืืื ืคึผืึทืงืื ื ืคืื ืกืืจืื ืืก ืืื ืึทืืืืฉืขืงืฅ ืขื ืืืืึทืื. ืืขืจ ืจืขืืืืืึทื ืื ืืขืืืืื ืฆื ืืืื ืึทื ืืขืจืฉ ืืื ืืืืืืข ืคืื โโCBOR ืขืจืืขืฅ ืคึฟืื ืึท ืืขืืืืืื:
cborlen=1039673 tl_len=1095092
ืืืื, ืกืึธืฃ: ืขืก ืืขื ืขื ืกืึทืืกืืึทื ืฉืึทืื ืกืืืคึผืืขืจ ืคึฟืึธืจืืึทืืืจืื ืืขื ืืืึธืก ืืขื ืขื ื ืืฉื ืืื ืืขืจืืขื ืืง ืฆื ืื ืกืื ืง ืืืจืืคืึทื ืึธืืขืจ ืืืืืึทืงืึทื ื ืืืขื ืืืคืืขืจ ืคึผืจืึธืืืขื, ืืื ืคืึทืจืืืืึทืืืขื ืขืคืขืงืืืืืงืืึทื.
ืฉื ืขื ืงืฉืจ ืคืึทืจืืืืื. ืืึธืก ืืืื ื ืื RTT ื ืึธื ืจืืงืึทื ืขืงืฉืึทื (ืืืขื ืืขืจ ืฉืืืกื ืืื ืฉืืื ืืืฉืขื ืขืจืืืืึทื ืึทืืึธื) - ืึธื ืืืขื ืืืขื ืคึฟืื ืืขืจ ืขืจืฉืืขืจ MTProto ืึธื ืืึธื, ืึธืืขืจ ืืื ืขืืืขืืข ืจืขืืขืจืืืืืฉืึทื ื - ืืื ืืึทื ืืื ืืขืจ ืืขืืืืงืขืจ ืืึทืืฅ, ืื ืกืขืกืืข ืืื ื ืืฉื ืคืึทืจืคืืืื, ืขืืง. ืืืึธืก ืืื TLS ืคืึธืจืฉืืึธืื ืืื ืื ืืื ืฆืืจืืงืงืืืขื? ืคึฟืึทืจืืื ืืขื ืข ืฆืืืืจื:
ืืืขื ื ืืฆื PFS ืืื TLS, TLS ืกืขืกืืข ืืืงืึทืฅ (
ืจืคืง ืงืกื ืืืงืก ) ืฆื ื ืขืืขื ืืื ืืืืืขืจ ืื ืื ืงืจืืคึผืืื ืกืขืกืืข ืึธื ืจืขื ืึทืืึธืืฉืืืืืื ื ืื ืฉืืืกืืขื ืืื ืึธื ืกืืึธืจืื ื ืื ืฉืืืกื ืืื ืคึฟืึธืจืืึทืฆืืข ืืืืฃ ืื ืกืขืจืืืขืจ. ืืืขื ืขืคื ืืขืจ ืขืจืฉืืขืจ ืงืฉืจ ืืื ืืืฉืขื ืขืจืืืืื ื ืฉืืืกืืขื, ืืขืจ ืกืขืจืืืขืจ ืื ืงืจืืคึผื ืื ืฉืืึทื ืคืื ืื ืงืฉืจ ืืื ืกืขื ืื ืขืก ืฆื ืืขื ืงืืืขื ื (ืืื ืื ืคืึธืจืขื ืคืื ืึท ืกืขืกืืข ืืืืขื). ืึทืงืงืึธืจืืื ืืื, ืืืขื ืื ืงืฉืจ ืืื ืจืืืืื, ืืขืจ ืงืืืขื ื ืกืขื ืื ืึท ืกืขืกืืข ืืืืขื, ืึทืจืืึทื ืืขืจืขืื ื ืื ืกืขืกืืข ืฉืืืกื, ืฆืืจืืง ืฆื ืื ืกืขืจืืืขืจ. ืืขืจ ืืืืขื ืืื ืืื ืื ืงืจืืคึผืืื ืืื ืึท ืฆืืึทืืืืืึทืืืง ืฉืืืกื (ืกืขืกืืข ืืืืขื ืฉืืืกื), ืืืึธืก ืืื ืกืืึธืจื ืืืืฃ ืื ืกืขืจืืืขืจ ืืื ืืืื ืืืื ืคืื ืื ืืขืจืืขืืืืื ืฆื ืึทืืข ืคืจืึธื ืืขื ื ืกืขืจืืืขืจืก ืืืึธืก ืฉืขืคึผื ืกืกื ืืื ืงืืึทืกืืขืจื ืกืึทืืืฉืึทื ื.[10] ืืืื, ืื ืืงืืื ืคืื ืึท ืกืขืกืืข ืืืืขื ืงืขื ืขื ืึธื ืจืืจื PFS ืืืื ืฆืืึทืืืืืึทืืืง ืกืขืจืืืขืจ ืฉืืืกืืขื ืืขื ืขื ืงืึทืืคึผืจืึทืืืืื, ืคึฟืึทืจ ืืืึทืฉืคึผืื, ืืืขื ืืื ืืขื ืขื ืกืืึธืจื ืคึฟืึทืจ ืึท ืืึทื ื ืฆืืึทื (OpenSSL, nginx, Apache ืืื ืคืขืืืงืืึทื ืงืจืึธื ืืื ืคึฟืึทืจ ืื ืืื ืฆืข ืฆืืื ืื ืคึผืจืึธืืจืึทื ืืื ืคืืืกื ืืืง; ืคืึธืืงืก ืืืืืืขื ื ืืฆื ืืขื ืฉืืืกื ืคึฟืึทืจ ืขืืืขืืข ืฉืขื, ืึทืจืืืฃ ืฆื ืืขื).
ืืึธ RTT ืืื ื ืื ื ืื, ืืืจ ืืึทืจืคึฟื ืฆื ืืืึทืื ืืืึท ืืื ืืกืืขืจ ClientHello ืืื ServerHello, ื ืึธื ืืืึธืก, ืฆืืืึทืืขื ืืื ืคืึทืจืืืง, ืืขืจ ืงืืืขื ื ืงืขื ืขื ืฉืืื ืฉืืงื ืืึทืื. ืืืขืจ ืื ืืืจืฃ ืืขื ืืขืืขื ืงืขื ืื ืืืจ ืืืื ื ืืฉื ืืขื ืืืขื, ืืื ืืืื ืืื ืื ืคืื ื ืื ืืขืขืคื ืืข ืคืืจืืื ืืื ืืขื, ื ืืจ ื ืฉืืื, ืืืืก ืืขืจ ืคืืจืืื ืืื ื ืืื ืืคืืืื ืืืื ืก ืืื ืืขืจ ืืืขืจ ืืืืื ืืืขืจ ืืื ื-ืืขืืขืืื, ืืขืคืืขืจืขื ืงืืจืฆืข ืืงืฉืืช ืคืืจ ืืืขื ืืืขืืขืจ - ืืืขืก ืืื ืืืืืืคึผืืขืงืกื ืืื ืขืืืืื ืืง. ืึทื ืืื, ืขืก ืืื ืืึทื ืฅ ืคึผืึทืกืืง, ืืืื ืืืจ ืืึธืื ื ืืฉื ืงืืืขื ืึทืจืืืขืจ ืึท ืืืืขืจ ืฉืืขืื ืื ืืขืจืืึทื ืึธืคึผืืืืืื ื.
ืคึฟืึทืจืืขืกื ืขืคึผืขืก ืึทื ืืขืจืฉ? ืฉืจืืื ืืื ืื ืืึทืืขืจืงืื ืืขื.
ืฆื ืืืื ืคืืจืืขืฆื!
ืืื ืืขืจ ืฆืืืืืืขืจ ืืืื ืคืื ืืขืจ ืกืขืจืืข ืคืื โโืึทืจืืืงืืขื, ืืืจ ืืืขืื ืืึทืืจืึทืืื ืึธืจืืึทื ืึทืืืืฉืึทื ืึทื ืืฉืื ืืื ืืื ืืขืื ืืฉ ืึธื ืขืก - ืึทืคึผืจืึธืืืฉืื, ืืืขืึธืืึธืืืข, ืฆืืืื ื, ืฉืืขืืื ื ืฆื ื ืืฆืขืจืก, ืืื"ื ื. ืืืืืจื, ืึธืืขืจ, ืืืืฃ ืื ืืขืื ืืฉ ืืื ืคึฟืึธืจืืึทืฆืืข ืืืึธืก ืืื ืืขืืืขื ืืขืจืืื ืื ืืึธ.
ืืขืจ ืืจืื ืืืื ืืืขื ืคืึธืจืืขืฆื ืื ืึทื ืึทืืืกืืก ืคืื ืื ืืขืื ืืฉ ืงืึธืืคึผืึธื ืขื ื / ืึทื ืืืืืงืืื ื ืืขืจืคืึทืจืื ื. ืืืจ ืืืขื ืืขืจื ืขื ืกืคึผืขืฆืืขื:
- ืงืึทื ืืื ืืืืืฉืึทื ืคืื ืื ืคึผืึทื ืืขืืึธื ืืื ืืื ืื ืคืึทืจืฉืืืื ืงืืึทื ืคืื TL-ืืืืคึผืก
- ืืืืืึทืงืึทื ื ืืื ืื ืืืขืื ืืฉืึทื ืึทืื ืืื ืกืืคึผืขืจืืจืืคึผืก
- ืืื ืืืึทืืึธืืก ืืื ืขืจืืขืจ ืืื ืจืึทืกืืขืจ
- ืืืขืื ืึทืืกืึธืืื ืืืก ืงืึธืจืขืื ืึธื ืืึธื ืึทืืจืขืกืื ื
- ืืืึธืก ืืื ืื ืืืืืง ืฆืืืืฉื ืคืึธืืึธ ืืื ืืืื
- ืืื ืขืืึธืืืฉื ืึทืจืืึทื ืืืฉื ืืื ืืื ืืืืึทืืืืื ืืขืงืกื
ืืื ืื ืืขืจืข ืงืจืึทืืฉืขืก! ืืืื ืืืืืืขืจ ืืื!
ืืงืืจ: www.habr.com