在我的电报客户端中,我经历了看似典型的创建有效会话的过程:
initConnection
getNearestDc
sendCode
命令,导致另一次切换到。{1}}
纠正DC 在此过程的各个阶段,我从服务器收到MessageContainers
,表示状态和MsgAcks
等。这是预期的,我现在正在解码它们。其中一些消息的类型为new_session_created
,如下所示:
{'msg': {u'new_session_created': {u'first_msg_id': 6327252208304908288L, u'unique_id': -4911750325772918873L, u'server_salt': 6799011375684265530L}}, 'seqno': 1, 'msg_id': 6327252210221112321L}
我当前的server_salt与此消息中的不同。我是否需要切换到使用新盐?那对unique_id来说,是我的新session_id还是我只是忽略这些消息?
将所有这些分类后,我需要在下次客户端启动时保存哪个部分会话? session_id,auth_key,auth_key_id?
答案 0 :(得分:1)
保存并重新使用您刚收到的这种新盐,用于本次会议的下一次请求。
要进行子请求登录,只需session_id
,recent_salt
和auth_key
。
Auth_key_id
是根据auth_key
计算的,因此您可能会,也可能不会选择存储