প্রথমে, আমি ভেবেছিলাম এটি সম্ভবত ডিভাইস বার্তাপ্রেরণের জন্য অ্যান্ড্রয়েড মেঘের উদাহরণ , তবে এটি হতে পারে না: হোয়াটসঅ্যাপ প্রয়োজনীয় অনুমতিগুলি ঘোষণা করে না এবং এটি ক্লার টু ডিভাইস মেসেজিংয়ের সময় (এক্রয়েড ২.১) কাজ করে ( এবং এর প্রতিস্থাপন, গুগল ক্লাউড মেসেজিংয়ের জন্য কমপক্ষে ফ্রয়েও (অ্যান্ড্রয়েড ২.২) প্রয়োজন।
তবে এটি বেশিরভাগ ধরণের বিজ্ঞপ্তি পরিষেবা । হোয়াটসঅ্যাপের সোর্স কোড অ্যাক্সেস না করে ঠিক কীভাবে এটি প্রয়োগ করা যায় তা বলা অসম্ভব।
এটি ব্যবহার না করা অবস্থায় বার্তা প্রাপ্ত করতে সক্ষম হওয়া অংশটি যদিও তুলনামূলকভাবে ব্যাখ্যা করা সহজ। অ্যাপ্লিকেশনটির প্রায়শই একটি পরিষেবা রয়েছে যা পর্যায়ক্রমে সার্ভারের সাথে চেক ইন করতে (বা সার্ভার পুশ, বা এটি যা কিছু করে তা গ্রহণ করে) পটভূমিতে চলে। আপনি যখন কোনও বার্তা পান, পরিষেবাটি একটি বিজ্ঞপ্তি পপ আপ করে।
সার্ভারটি কীভাবে একটি ধাক্কা দিতে পারে এমন প্রশ্নের জন্য এখানে একটি সম্ভাবনা রয়েছে (আবার, উত্স কোড ছাড়া আমি যাচাই করতে পারি না):
- হোয়াটসঅ্যাপ দুটি সকেট শুরু করে এবং খোলা: একটি শোনার জন্য এবং একটিতে সার্ভারে একটি বার্তা প্রেরণ।
- হোয়াটসঅ্যাপ প্রথম সকেটে শোনা শুরু করে।
- হোয়াটসঅ্যাপ সার্ভারে আপনার ফোন নম্বর এবং শ্রবণকারী সকেটের বন্দর সম্বলিত একটি বার্তা প্রেরণ করে এবং স্বীকৃতির জন্য অপেক্ষা করে।
- সার্ভারটি বার্তাটিতে ফোন এবং পোর্ট নম্বর এবং বার্তাটি এসেছে এমন আইপি ঠিকানা রেকর্ড করে।
- সার্ভারটি অ্যাপটিতে একটি স্বীকৃতি প্রেরণ করে।
- অ্যাপ্লিকেশনটি স্বীকৃতি গ্রহণ করে এবং বার্তা সকেটটি বন্ধ করে দেয়।
- গন্তব্যটি সার্ভারে আসার সাথে সাথে আপনার ফোন নম্বর সহ একটি বার্তা।
- সার্ভারটি আপনার ফোন নম্বরটির সাথে সম্পর্কিত আইপি ঠিকানা এবং পোর্ট নম্বর ব্যবহার করে এবং সেই তথ্যটি আপনার ফোনে বার্তাটি এগিয়ে নিতে ব্যবহার করে।
এটি কাজ করার জন্য, অ্যাপ্লিকেশনটিকে নেটওয়ার্ক সংযোগের অবস্থা পর্যবেক্ষণ করতে হবে এবং প্রয়োজনের সময় শোনার সকেটটি পুনরায় পাঠানো / নিবন্ধকরণ বার্তাটি পুনরায় পাঠাতে হবে (উদাহরণস্বরূপ আইপি ঠিকানা পরিবর্তন হলে)।