এটি প্রোটোকল যোগাযোগের মূল বিষয়গুলির মধ্যে পড়ে। অ্যান্ড্রয়েড ক্লায়েন্ট দ্বারা একটি লেনদেনের জন্য অনুরোধ করা হয়েছে, এবং সার্ভারকে লেনদেনটি সম্পাদন করতে হবে। লেনদেন যদি এর থেকে অ্যান্ড্রয়েড ক্লায়েন্টের স্বীকৃতির উপর নির্ভর করে তবে এটি কল করা হবে এসি / এনএকে যোগাযোগ।
অন্যদিকে পক্ষের একটি অনুরোধের ফলাফল বলতে এসি (স্বীকৃতি) এবং নাক (নেতিবাচক-স্বীকৃতি) ব্যবহৃত হয়।
আপনি যা সম্পর্কে জিজ্ঞাসা করছেন তা হ'ল ক্লায়েন্ট এবং সার্ভারের মধ্যে একধরণের হ্যান্ডশেকিং এক্সচেঞ্জ এবং এটি একটি বেসিক এসি / এনএকে এক্সচেঞ্জের মাধ্যমে সম্পাদন করা যেতে পারে।
এখানে অ্যান্ড্রয়েডের দুটি উপায় স্বীকৃতি সহ কোনও ফাইল আপলোড করার একটি উদাহরণ।
Android -> upload files -> Server
Android <- ACK #id <- Server
Android -> ACK #id -> Server
উপরের উদাহরণে আমি #id
লেনদেনের জন্য একটি অনন্য সনাক্তকারী যুক্ত করেছি । সার্ভারের ফাইলগুলি গ্রহণ করা উচিত, একটি লেনদেনের রেকর্ড তৈরি করা উচিত এবং এটিকে অ্যান্ড্রয়েডে প্রতিক্রিয়া হিসাবে প্রেরণ করা উচিত। তারপরে অ্যান্ড্রয়েডের সেই লেনদেনের স্বীকৃতি অনুসরণ করা উচিত (বা বিকল্পভাবে প্রত্যাখ্যানের জন্য একটি এনএকে)।
হ্যান্ডশেক করার সময় অ্যান্ড্রয়েড সংযোগ বিচ্ছিন্ন করার একটি উদাহরণ এখানে।
Android -> upload files -> Server
Android <- ACK #id <- Server
/** no ACK response **/
উপরের উদাহরণে সার্ভারটি আপলোড করা ফাইলগুলি গ্রহণ করেছে এবং একটি #id
এসকে প্রতিক্রিয়া অ্যান্ড্রয়েডে ফেরত পাঠিয়েছে , তবে অ্যান্ড্রয়েড কখনই কোনও এসকে দিয়ে সাড়া দেয় না। অ্যান্ড্রয়েড ডিভাইস হ্যান্ডশেকিং সম্পূর্ণ করতে ব্যর্থ হয়েছে। সার্ভারটি কীভাবে এটি পরিচালনা করবে এটি সিদ্ধান্ত নেওয়া আপনার পক্ষে up লেনদেনটি ধ্বংস করুন, লেনদেনটি রাখুন এবং অ্যান্ড্রয়েড ডিভাইসটি পরে ফিরে আসার জন্য অপেক্ষা করুন বা যাইহোক লেনদেন সম্পূর্ণ করুন।
সার্ভার ধরে নিতে পারে যেহেতু ডিভাইসটি ACK দিয়ে সাড়া দেয় নি। অ্যান্ড্রয়েড ডিভাইসটি আপলোডটি সফল হয়েছে তা বোঝাতে এটির অভ্যন্তরীণ অবস্থা আপডেট করে নি। আমি লেনদেনটি বাতিল করে দেব এবং ভবিষ্যতে ডিভাইসটিকে পুনরাবৃত্তি করার অনুমতি দেব।