ওয়েবসকেটগুলি অবশ্যই ভবিষ্যত।
এজেএক্সের মতো প্রতিটি অনুরোধের জন্য সংযোগ তৈরি রোধে লং পোলিং একটি নোংরা কাজ - তবে ওয়েবসকেটগুলির অস্তিত্ব না থাকায় দীর্ঘ পোলিং তৈরি করা হয়েছিল। এখন ওয়েবসকেটের কারণে দীর্ঘ ভোটদান চলে যাচ্ছে।
ওয়েবআরটিসি পিয়ার-টু-পিয়ার যোগাযোগের অনুমতি দেয়।
আমি ওয়েবসকেট শেখার প্রস্তাব দিই ।
তুলনা:
ওয়েবে বিভিন্ন যোগাযোগ কৌশল
আজাক্স - request
→ response
। সার্ভারের সাথে একটি সংযোগ তৈরি করে, optionচ্ছিক ডেটা সহ অনুরোধ শিরোনামগুলি প্রেরণ করে, সার্ভারের কাছ থেকে প্রতিক্রিয়া পান এবং সংযোগটি বন্ধ করে দেয়।
সমস্ত বড় ব্রাউজারে সমর্থিত।
দীর্ঘ পোল - request
→ wait
→ response
। এজেএক্সের মতো সার্ভারের সাথে সংযোগ তৈরি করে, তবে কিছু সময়ের জন্য উন্মুক্ত-সংযোগ সংযোগ বজায় রাখে (যদিও দীর্ঘ নয়)। সংযোগের সময়, মুক্ত ক্লায়েন্ট সার্ভার থেকে ডেটা পেতে পারে। সময়সীমা বা ডেটা ইওফের কারণে ক্লায়েন্টটি সংযোগ বন্ধ হওয়ার পরে পর্যায়ক্রমে পুনরায় সংযোগ করতে হবে। সার্ভারের দিক দিয়ে এটি এখনও এইচটিপি অনুরোধের মতো চিকিত্সা করা হয়, এজ্যাক্সের অনুরূপ, অনুরোধের উত্তর বাদে এখন বা ভবিষ্যতে কিছু সময় আসবে, অ্যাপ্লিকেশন যুক্তি দ্বারা সংজ্ঞায়িত।
সমর্থন চার্ট (পূর্ণ) | উইকিপিডিয়া
ওয়েবসকেট - client
↔ server
। সার্ভারের সাথে একটি টিসিপি সংযোগ তৈরি করুন এবং যতক্ষণ প্রয়োজন ততক্ষণ খোলা রাখুন। সার্ভার বা ক্লায়েন্ট সহজে সংযোগটি বন্ধ করতে পারে। ক্লায়েন্ট একটি HTTP সামঞ্জস্যপূর্ণ হ্যান্ডশেক প্রক্রিয়াটি দিয়ে যায়। যদি এটি সফল হয়, তবে সার্ভার এবং ক্লায়েন্ট যে কোনও সময় উভয় দিকের ডেটা বিনিময় করতে পারে। অ্যাপ্লিকেশনটির উভয় উপায়ে ঘন ঘন ডেটা এক্সচেঞ্জের প্রয়োজন হলে এটি কার্যকর। ওয়েবসকেটে ডেটা ফ্রেমিং থাকে যা ক্লায়েন্ট থেকে সার্ভারে প্রেরিত প্রতিটি বার্তার জন্য মাস্কিং অন্তর্ভুক্ত করে, তাই ডেটা সহজেই এনক্রিপ্ট করা হয়।
সমর্থন চার্ট (খুব ভাল) | উইকিপিডিয়া
ওয়েবআরটিসি - peer
↔ peer
। ক্লায়েন্টদের মধ্যে যোগাযোগ স্থাপনের জন্য পরিবহন এবং ট্রান্সপোর্ট-অজোনস্টিক, সুতরাং এটি ইউডিপি, টিসিপি বা আরও বিমূর্ত স্তর ব্যবহার করতে পারে। এটি সাধারণত উচ্চ ভলিউম ডেটা স্থানান্তর, যেমন ভিডিও / অডিও স্ট্রিমিংয়ের জন্য ব্যবহৃত হয়, যেখানে নির্ভরযোগ্যতা গৌণ এবং কয়েকটি ফ্রেম বা মান অগ্রগতি হ্রাস প্রতিক্রিয়া সময়ের পক্ষে এবং কমপক্ষে কিছু ডেটা স্থানান্তরের পক্ষে ত্যাগ করতে পারে। উভয় পক্ষ (সমকক্ষ) স্বাধীনভাবে একে অপরের কাছে ডেটা ঠেলাতে পারে। যদিও এটি কোনও কেন্দ্রীভূত সার্ভার থেকে সম্পূর্ণ স্বতন্ত্রভাবে ব্যবহার করা যেতে পারে, তবুও এটি এন্ডপয়েন্টস ডেটা বিনিময় করার কিছু উপায় প্রয়োজন, যেখানে বেশিরভাগ ক্ষেত্রে ডেভেলপাররা এখনও পিয়ার্সকে "লিঙ্ক" করতে সেন্ট্রালাইজড সার্ভার ব্যবহার করেন। এটি কেবলমাত্র কোনও সংযোগ স্থাপনের জন্য প্রয়োজনীয় ডেটা আদান-প্রদানের জন্য প্রয়োজনীয়, যার পরে সেন্ট্রালাইজড সার্ভারের প্রয়োজন হয় না।
সমর্থন চার্ট (মাঝারি) | উইকিপিডিয়া
সার্ভার-প্রেরিত ইভেন্ট - client
← server
। ক্লায়েন্ট সার্ভারের সাথে অবিরাম এবং দীর্ঘমেয়াদী সংযোগ স্থাপন করে। কেবল সার্ভার কোনও ক্লায়েন্টকে ডেটা প্রেরণ করতে পারে। ক্লায়েন্ট যদি সার্ভারে ডেটা প্রেরণ করতে চায় তবে এটি করার জন্য অন্য প্রযুক্তি / প্রোটোকল ব্যবহারের প্রয়োজন হবে। এই প্রোটোকলটি HTTP সামঞ্জস্যপূর্ণ এবং বেশিরভাগ সার্ভার-সাইড প্ল্যাটফর্মগুলিতে প্রয়োগ করা সহজ। এটি লং পোলিংয়ের পরিবর্তে ব্যবহার করার জন্য একটি পছন্দসই প্রোটোকল। সমর্থন চার্ট (ভাল, IE বাদে) | উইকিপিডিয়া
সুবিধাদি:
ওয়েবসকেটস সার্ভার-সাইডের প্রধান সুবিধাটি হ'ল এটি কোনও এইচটিটিপি অনুরোধ নয় (হ্যান্ডশেকের পরে), তবে একটি সঠিক বার্তা ভিত্তিক যোগাযোগ প্রোটোকল। এটি আপনাকে বিশাল কর্মক্ষমতা এবং আর্কিটেকচার সুবিধা অর্জন করতে সক্ষম করে । উদাহরণস্বরূপ, নোড.জেজে, আপনি বিভিন্ন সকেট সংযোগের জন্য একই মেমরিটি ভাগ করতে পারেন, যাতে তারা প্রতিটি ভাগ করে নেওয়া ভেরিয়েবল অ্যাক্সেস করতে পারে। অতএব, আপনাকে মাঝখানে কোনও এক্সচেঞ্জ পয়েন্ট হিসাবে একটি ডাটাবেস ব্যবহার করার দরকার নেই (যেমন পিএইচপি এর মতো ভাষার সাথে এজেএক্স বা লং পোলিংয়ের মতো)। আপনি র্যামে ডেটা সঞ্চয় করতে পারেন, বা এমনকি সরাসরি সকেটের মধ্যে পুনরায় প্রকাশ করতে পারেন।
সুরক্ষা বিবেচনা
লোকেরা প্রায়শই ওয়েবসকেটের সুরক্ষা সম্পর্কে উদ্বিগ্ন। বাস্তবতা হ'ল এটি সামান্য তাত্পর্যপূর্ণ করে তোলে বা ওয়েবসকেটকে আরও ভাল বিকল্প হিসাবে রাখে। প্রথমত, এজেএক্সের সাথে এমআইটিএমের উচ্চতর সম্ভাবনা রয়েছে , কারণ প্রতিটি অনুরোধটিই একটি নতুন টিসিপি সংযোগ যা ইন্টারনেট অবকাঠামো দিয়ে চলেছে। ওয়েবসকেটগুলির সাথে, এটি সংযুক্ত হয়ে গেলে এটি মাঝে মাঝে বাধা দেওয়া আরও চ্যালেঞ্জ, অতিরিক্ত ক্লায়েন্ট থেকে সার্ভারে ডেটা প্রবাহিত করার সাথে সাথে ফ্রেম মাস্কিংয়ের সাথে অতিরিক্ত সংকোচনের সাথে ডেটা অনুসন্ধানের জন্য আরও প্রচেষ্টা প্রয়োজন। সমস্ত আধুনিক প্রোটোকল উভয় সমর্থন করে: HTTP এবং HTTPS (এনক্রিপ্ট)।
পুনশ্চ
মনে রাখবেন যে ওয়েবসকেটগুলিতে সাধারণত নেটওয়ার্কিংয়ের জন্য যুক্তিগুলির একটি খুব আলাদা দৃষ্টিভঙ্গি থাকে , রিয়েল-টাইম গেমগুলির মতো এই সময়ের সমস্ত সময় ছিল, এবং এটি HTTP এর মতো নয়।