Minha dúvida é em relação ao protocolo de maneira geral. Se o MQTT roda sobre o TCP, porque a qualidade de serviço zero(QoS 0) não garante a entrega dos pacotes? Visto que o TCP garante entrega confiável ?
Minha dúvida é em relação ao protocolo de maneira geral. Se o MQTT roda sobre o TCP, porque a qualidade de serviço zero(QoS 0) não garante a entrega dos pacotes? Visto que o TCP garante entrega confiável ?
Oi João! Como vai ?
O MQTT ele é baseado no TCP/IP.
E quando trabalhamos com o protocolo IP, estamos trabalhando com uma rede de datagramas não confiável. Logo, não é orientado a conexão.
Nisto, entra o serviço de melhor esforço, ou seja, eu não posso garantir que o pacote vai chegar, eu consigo garantir que irei enviar(QoS 0),.
Pra garantir isso, temos que usar outros protocolos de rastreamento/garantia de entrega, e é aí onde entra o TCP, pra resolver as percas. E quando isto ocorre, possuímos outras qualidades de serviço, como a QoS 1 e QoS 2. Pegou a ideia?
Deixo aqui um artigo sobre as qualidades de serviço do MQTT.
Qualquer dúvida estou a disposição. Espero ter ajudado. Bons estudos!!!