承认telegram.org服务器响应

问题描述:

电报documentation状态:承认telegram.org服务器响应

几乎所有的邮件收据(有一些纯粹 服务的人除外,以及在该协议 用于创建纯文本消息一个授权密钥)必须被确认。这需要 使用下列服务消息(如果不需要 确认)的:

msgs_ack#62d6b459 msg_ids:Vector long = MsgsAck; 

This thread暗指发送的ACK返回到服务器,但不是由那些ACK被发送的机制。我试图发送一个MsgsAckmsgs_ack到服务器,但他们失败,因为这些是数据类型,而不是构造函数(方法)。这导致我有两个问题:

  1. 电报客户端如何发送回到服务器? (单独和作为方法调用的一部分)
  2. 电报客户端如何区分需要ack和不需要ack的服务器响应? (看来回应,其中包括一个req_msg_id需要一个ACK,但我想确认)

简单的方式去是这样的:

1)积累,你从服务器接收的msg_ids - 那些需要被确认,如文档中表示:这些都是内容相关的消息,而不是服务消息

2)要发送新邮件到服务器的每一次,你可以包括你积累了确认消息在消息容器中以及您打算发送的消息。 3)如果您在一段时间内累积了msg_ids(例如X分钟),但没有机会通过上面的步骤2)清除它们,那么您可以简单地将确认消息发送回电报,其中包含msg_ids列表得到承认。

要发送的确认使用本:

msgs_ack#62d6b459 msg_ids:Vector<long> = MsgsAck; 
+0

这听起来很简单,但根据架构'MsgsAck'是数据_type_,不是_method_。你是说我应该将MsgsAck作为原始数据发送回服务器,而不是用某种方法包装? MessageContainer同上:它是一种类型,而不是一种方法。 @CharlesOkwuagwu –

+1

这是正确的。您目前发送消息容器,您可以同样发送MsgsAck –