2016-08-18 110 views
1

我想了解向電報服務器發送方法時的事件順序。使用Telegram.org API的客戶端/服務器交互

例如,如果我送get_future_salts方法,我從服務器期待FutureSalts類型的反應,但我收到的是一個類型的MessageContainer(這我無法解析,但這是另外一個問題) 。

如果我忽略MessageContainer對象並簡單地請求來自服務器的下一個響應,我會收到預期的FutureSalts對象。

會不會有始終在MessageContainer對象爲每個方法返回的叫什麼?如果是這樣,我需要解析並處理這些對象嗎?

回答

1

不,並不總是如此。

但是,服務器通常會將多個消息打包到容器中。

我勸你解碼從服務器返回的所有數據。

然後你有一個完整的視圖/日誌的所有正被退回,那麼你可以在需要被回答什麼決定。

+0

我也收到'RpcResult'類型背在某些情況下,它由req_msg_id的':long'和'結果:Object'。但是'對象'沒有被定義爲一個特定的類型。它是否需要反序列化? –

+0

結果字段有一個頭標識它的類型 –

+1

所以,反序列化'Object'中的第一個整數以獲得類型ID?這是你的意思是'header'嗎? –