Bu protokol iletişiminin temelleri altındadır. Android istemcisi tarafından bir işlem istendi ve Sunucunun işlemi gerçekleştirmesi gerekiyor. İşlem Android istemcisinin onayına bağlıysa, ACK / NAK iletişimini arayın.
ACK (onay) ve NAK (olumsuz onay) karşı tarafa bir isteğin sonucunu bildirmek için kullanılır.
Sorduğunuz şey, istemci ve sunucu arasında bir tür el sıkışma alışverişidir ve temel bir ACK / NAK değişimi ile gerçekleştirilebilir.
Aşağıda, iki yönlü onay içeren bir dosyayı karşıya yükleyen Android örneği verilmiştir.
Android -> upload files -> Server
Android <- ACK #id <- Server
Android -> ACK #id -> Server
Yukarıdaki örnekte #id
, işlem için benzersiz bir tanımlayıcı ekledim . Sunucu dosyaları almalı, bir işlem kaydı oluşturmalı ve bunu Android'e yanıt olarak göndermelidir. Android daha sonra söz konusu işlemin onayını (veya alternatif olarak ret için bir NAK) izlemelidir.
İşte el sıkışma sırasında Android'in bağlantısını kesmeye bir örnek.
Android -> upload files -> Server
Android <- ACK #id <- Server
/** no ACK response **/
Yukarıdaki örnekte Sunucu, yüklenen dosyaları kabul etti ve #id
Android'e bir ACK yanıtı gönderdi , ancak Android hiçbir zaman bir ACK ile yanıt vermiyor. Android cihaz el sıkışmasını tamamlayamadı. Sunucunun bunu nasıl ele alacağına karar vermek size kalmış. İşlemi yok edin, işlemi koruyun ve Android cihazının daha sonra geri dönmesini veya işlemi yine de tamamlamasını bekleyin.
Sunucu, cihaz ACK ile yanıt vermediği için bunu kabul edebilir. Android cihazının, yüklemenin başarılı olduğunu belirtmek için dahili durumunu güncellememesi. İşlemi iptal eder ve cihazın ileride tekrarlamasına izin veririm.