Ini berada di bawah dasar-dasar komunikasi protokol. Transaksi telah diminta oleh klien Android, dan Server harus melakukan transaksi. Jika transaksi tergantung pada pengakuan klien Android maka ini disebut komunikasi ACK / NAK.
ACK (pengakuan) dan NAK (negatif-pengakuan) digunakan untuk memberi tahu pihak lain hasil dari permintaan.
Apa yang Anda tanyakan adalah jenis pertukaran handshaking antara klien dan server, dan itu dapat dilakukan dengan pertukaran ACK / NAK dasar.
Berikut adalah contoh Android yang mengunggah file dengan pengakuan dua arah.
Android -> upload files -> Server
Android <- ACK #id <- Server
Android -> ACK #id -> Server
Dalam contoh di atas saya telah menambahkan #id
pengidentifikasi unik untuk transaksi. Server harus menerima file, membuat catatan transaksi dan mengirimkannya sebagai tanggapan kembali ke Android. Android kemudian harus mengikuti dengan pengakuan transaksi itu (atau sebagai alternatif NAK untuk penolakan).
Berikut adalah contoh pemutusan Android selama jabat tangan.
Android -> upload files -> Server
Android <- ACK #id <- Server
/** no ACK response **/
Dalam contoh di atas Server telah menerima file yang diunggah dan mengirim #id
respons ACK kembali ke Android, tetapi Android tidak pernah merespons dengan ACK. Perangkat Android gagal menyelesaikan handshaking. Terserah Anda untuk memutuskan bagaimana Server harus menangani ini. Hancurkan transaksi, simpan transaksi dan tunggu hingga perangkat Android kembali nanti atau selesaikan transaksi.
Server dapat berasumsi bahwa karena perangkat tidak merespons dengan ACK. Bahwa perangkat Android tidak memperbarui keadaan internal untuk menunjukkan bahwa unggahan berhasil. Saya akan membuang transaksi dan memungkinkan perangkat untuk mengulanginya di masa depan.