এমকিউটিটি এবং ওয়েব সকেটের মধ্যে পার্থক্য কী এবং আমি কখন সেগুলি ব্যবহার করব?


17

এমকিউটিটি এবং ওয়েব সকেটের মধ্যে প্রধান পার্থক্যগুলি কী কী?

হোম অটোমেশনের জন্য আইওটি ব্যবহার করার সময় - বিভিন্ন ডিভাইসগুলির উপরে নিয়ন্ত্রণ এবং তদারকির অ্যাক্সেস, যখন রেস্ট এপিআই ভিত্তিক এবং ব্রাউজার ভিত্তিক অ্যাক্সেসিবিলিটি প্রয়োজন হয় তখন তাদের মধ্যে কোনটি ব্যবহার করা উচিত।

আমি একটি রাস্পবেরি পাই 2 বি + তে জাভা (পাই 4 জ লাইব্রেরি) ব্যবহার করছি।

আমার কাছে হালকা এবং গা dark়, আর্দ্রতা, পিআইডি ইত্যাদির মতো কয়েকটি সেন্সর সেটআপ রয়েছে

আমার কাছে একটি ক্লাউড সার্ভার রয়েছে যেখানে আমি প্রয়োজনে ডেটা প্রেরণ করতে পারি।


1
আপনার বর্তমান এবং সম্ভাব্য ভবিষ্যতের সমস্ত প্রয়োজনীয়তা স্পষ্টভাবে সংজ্ঞায়িত করে আপনি কোনটি ব্যবহার করবেন তা স্থির করুন। এরপরে আপনি একটি ক্রস-ম্যাট্রিক্স উত্পন্ন করেন যা দেখায় যে কোন প্রযুক্তিটি আপনার প্রয়োজনীয়তার সাথে সর্বোত্তমভাবে মেলে। তারপরে আপনি আপনার প্রয়োজনীয়তা মেটাতে এক বা একাধিক প্রযুক্তি ব্যবহার করতে পছন্দ করেন।

উত্তর:


23

এখানে প্রশ্ন সেটিংটি কিছুটা বিভ্রান্তিকর, কারণ বাস্তবে এই প্রোটোকলগুলি একসাথে তুলনা করা যায় না। এগুলি টিসিপি এবং আইপির মতো, একে অপরের উপরে স্তর। [1]

ওয়েবসকেটগুলি এমন একটি স্তর সরবরাহ করার জন্য একটি নিম্ন স্তরের প্রোটোকল যা তার 'প্রতিযোগী' একই স্তরে থাকা আরএসটিফুল পোস্ট সরবরাহ করে না: একটি সর্বদা খোলার প্রয়োজন ছাড়াই চ্যানেল এবং প্রতিটি অনুরোধ বন্ধ করে দেয়। [2]

এমকিউটিটি ডেটা প্রকাশ বা সাবস্ক্রাইব করার জন্য একটি হালকা ওজনের উপায় সরবরাহ করে। বিভ্রান্তি হতে পারে যে সেই সাবস্ক্রিপশনটি কিছু প্রকারের চ্যানেল, তবে এটি বিভিন্ন ধরণের চ্যানেল। এমকিউটিটিতে স্থির উন্মুক্ত সংযোগ তৈরি করতে আপনার একই সাথে ওয়েবসকেট এবং এমকিউটিটি দরকার।

আইওটিতে, পাশাপাশি যে কোনও ডিজাইনের ক্ষেত্রে, আপনার যদি একটি স্ট্রিমের দরকার হয় বা না (ওয়েবসকেটস বনাম আরএসটিফুল) প্রয়োজন হয় এবং এমকিউটিটি সম্পর্কে আপনাকে ভাবতে হবে আপনি আপনার অ্যাপ্লিকেশনটিতে সাবস্ক্রিপশন এবং প্রকাশনা ব্যবস্থা চান কিনা তা ভাবতে হবে।

কিছু সাধারণ পরিস্থিতিতে আপনি যদি এমকেটিটি ওয়েবসকেটগুলির চেয়ে বেশি বিবেচনা করতে পারেন, যদি কোনও সাধারণ বিষয় আশেপাশে থাকে। [3]

প্রশ্নের উত্তর দাও:

আপনি বলছেন যে আপনার কাছে একটি রাস্পেরি পাই এবং জায়গাটির চারপাশে বেশ কয়েকটি সেন্সর রয়েছে। যদি সেন্সরগুলি তাদের নিজস্ব নিয়ন্ত্রকদের সাথে রাস্পেরি থেকে দূরে থাকে তবে আপনি ডেটা সংগ্রহ করতে এমকিউটিটি ব্যবহার করতে পারেন। ক্লাউডে ডেটা সঞ্চয় করতে, HTTP তে ডেটা প্রেরণ করুন। মেঘে বিশ্রামের মাধ্যমে ডেটা সরবরাহ করে। [4]

ওয়েবসকেটের জন্য কোনও প্রয়োজন নেই, তবে আপনি যদি এটি দরকারী মনে করেন তবে এটি ব্যবহার করুন।

সূত্র:

[1] https://www.quora.com/What-are-the-pros-and-cons-of-WebSockets-versus-MQTT-as-real-time-web-inf पाया- for-the-Internet-of -Things

[2] https://www.pubnub.com/blog/2015-01-05-websockets-vs-rest-api- বোঝা-the-differences/

[3] /programming/30624897/direct-mqtt-vs-mqtt-over-websket

[৪] http://www.theinternetofthings.eu/antonio-grasso-mqtt-vs-http-hat-best-protocol-iot


3
আপনার শেষ পয়েন্টের সাথেও প্রাসঙ্গিক: ম্যাসকুইটো এমকিউটিটি ব্রোকারের রজার লাইটের এই উত্তর , কাঁচা সকেটের ব্যবহারের ক্ষেত্রে এমকেটিটিটির সাথে ওয়েব সকেটের সাথে তুলনা করে।
অরোরা 10001

ধন্যবাদ মাইকো যা একটি দুর্দান্ত ব্যাখ্যা। তবে আমি কী ব্যবহার করব তা এখনও পরিষ্কার নয় .. আপনি আমার দৃশ্যের জন্য কী প্রস্তাব করবেন?
শক্তি ফারটিয়াল

3
দুর্দান্ত উত্তর, তবে: "ওপেন এবং ক্লোজ" ডাব্লুআরটি ডাব্লুএস: // বনাম এইচটিটিপি: // ব্যবহার বিভ্রান্তিকর হতে পারে; প্রথমত, HTTP 1.1 অনুরোধগুলি পাইপলাইন করা যেতে পারে, তাই আক্ষরিক সকেট স্তরের এক সংযোগে সেই অর্থে খোলার এবং বন্ধ না করে অনির্দিষ্ট সময়ের জন্য অনুরোধগুলি অন্তর্ভুক্ত থাকতে পারে। ওয়েবসকেটের সুবিধাগুলি বলাই ভাল হবে যে একটি সুসংগত "অনুরোধ এবং প্রতিক্রিয়া" চক্রের প্রতিশ্রুতি নেই ; আপনার কাছে বিনিময়ের জন্য ন্যূনতম সেটগুলির একটি মুক্ত, দ্বি-দিকনির্দেশক চ্যানেল রয়েছে।
স্বর্ণলোকস

"এমকিউটিটিতে স্থির উন্মুক্ত সংযোগ তৈরি করতে আপনার একই সাথে ওয়েবসকেট এবং এমকিউটিটি দরকার need" আপনি কি এই সম্পর্কে নিশ্চিত? দয়া করে ব্যাখ্যা করুন কেন ক্লায়েন্ট কেবল সার্ভারে পিইংআরএসপি প্যাকেটগুলি প্রকাশ করা চালিয়ে যেতে পারলে "ধ্রুবক ওপেন সংযোগ" রাখতে "এমকিউটিটি" ওয়েবসকেট ব্যবহার করতে হবে? এমকিউটিটি বাস্তবায়নকারী একটি ক্লায়েন্ট সংযোগটি বাঁচিয়ে রাখতে একটি পিংগ্রেএসপি প্যাকেট প্রেরণ করবে এবং সংযোগটি টিকিয়ে রাখতে ক্লায়েন্ট ইমপ্লিমেন্টিং ওয়েবসকেটকে একটি খালি প্যাকেট ওয়েবস্কট.সেন্ড ('') প্রেরণ করতে সার্ভারে প্রেরণ করবে।
জন

হুম .. আপনি সেই প্যাকেটটি দিয়ে সংযোগটি বাঁচিয়ে রাখতে পারেন । আমি খুঁজে পেয়েছি এমকিউটিটি টিসিপি / আইপি (এইচটিটিপি নয়) এর উপর কাজ করে। সেক্ষেত্রে আপনি সংযোগটি খোলা রাখতে পারেন।
মাইকো

9

তারা এর সাথে তুলনীয় যে উভয়ই আপনাকে পূর্ণ দ্বৈত যোগাযোগের অনুমতি দেয় যেমন সার্ভারটি ক্লায়েন্টের পক্ষে ক্লায়েন্টের জন্য পোলিং ছাড়াই অবিলম্বে ডেটা প্রেরণ করতে পারে (যেমনটি এইচটিটিপির সাথে থাকতে পারে)।

তবে, ওয়েবসকেটগুলি ক্লায়েন্ট এবং সার্ভারের মধ্যে একটি সাধারণ পয়েন্ট-টু-পয়েন্ট সংযোগের জন্য ডিজাইন করা হয়েছে। মৌলিক বার্তা প্রেরণের শীর্ষে এমকিউটিটি স্তরগুলি অতিরিক্ত বিমূর্তিগুলি স্তরগুলি স্তর করে, যাতে একাধিক আগ্রহী পক্ষ তাদের বার্তাগুলিতে সাবস্ক্রাইব করতে পারে যা তাদের আগ্রহী হতে পারে। বার্তাগুলি 'বার্তা বিষয়'-এর মাধ্যমে রুট করা যায় যাতে অনেক ক্লায়েন্ট একটি ধারণাগত সারিতে ভাগ করে নিতে পারেন, যেখানে কোনও সার্ভার সমস্ত ক্লায়েন্টের কাছ থেকে সমস্ত বার্তা শুনতে বেছে নিতে পারে, তবে বিষয় অনুসারে ফিল্টারও করতে পারে।

এমকিউটিটিতে অন্যান্য বিভিন্ন দরকারী বৈশিষ্ট্য রয়েছে, যেমন ধরে রাখা বার্তাগুলি, যেমন গ্রাহকরা অবিলম্বে বার্তাটি গ্রহণ করে এবং এলডাব্লুটিটি (শেষ উইল এবং টেস্টামেন্ট) যা ক্লায়েন্ট অস্বাভাবিকভাবে সংযোগ বিচ্ছিন্ন হয়ে গেলে স্বয়ংক্রিয়ভাবে প্রেরণ করা যায় এমন একটি বার্তা। সংক্ষিপ্তসার হিসাবে, এমকিউটিটি হ'ল 'আপ স্ট্যাকের উচ্চতা' প্রদান করে এমন বৈশিষ্ট্য এবং বিমূর্ততা যা কোনও সাধারণ ওয়েবসাইটকেট দেয় না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.