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