ওয়েবসকেট এবং খাঁটি টিসিপির মধ্যে মৌলিক পার্থক্য কী?


167

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


8
তবে সমস্যা কি? তাদের টিসিপি ব্যবহার করতে দিন।
xap4o


2
"ওয়েবস্কট একটি প্রোটোকল যা একটি একক টিসিপি সংযোগের জন্য ফুল-ডুপ্লেক্স যোগাযোগের চ্যানেল সরবরাহ করে"। আপনি টিসিপি সংযোগগুলিও তৈরি করতে পারবেন যা পুরো দ্বৈত? ওয়েবসকেট সম্পর্কে এই বিশেষ কি?
অভিষেক জৈন

12
সমস্যাটি হ'ল সাধারণত ওয়েব সার্ভারগুলিতে সুরক্ষার কারণে কেবল একটি বন্দর খোলা থাকে, যথা পোর্ট 80। সংজ্ঞা অনুসারে একটি পোর্ট কেবল একটি অ্যাপ্লিকেশনটিতে সংযুক্ত করতে পারে । সুতরাং যদি কোনও ক্লায়েন্ট ওয়েব (এইচটিটিপি) ব্যতীত কোনও পরিষেবা ব্যবহার করতে চায় তবে কেবল একটি পোর্ট উপলব্ধ? ভাল খবর! WebSockets!
পিথিকোস

3
@ পিথিকোস আমাদের এই জটিলতা ওয়েবসকেটগুলির প্রয়োজন এবং ব্রাউজার-সার্ভার যোগাযোগের জন্য সরাসরি টিসিপি সকেটগুলির সাথে কেন কাজ করে না তা নিয়ে ষাঁড়টির নজরে পড়ে।
সানি

উত্তর:


260

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

ইন্টারনেটের মাধ্যমে, আপনি অন্য প্রান্তে অন্য কারও সার্ভারের সাথে যোগাযোগ করছেন। এইগুলি হল অত্যন্ত সংযোগের কোনো পুরাতন সকেট খোলা আছে অসম্ভাব্য। সাধারণত তাদের কাছে কয়েকটি স্ট্যান্ডার্ড রয়েছে যেমন HTTP এর জন্য 80 পোর্ট বা HTTPS এর জন্য 443 for সুতরাং, সার্ভারের সাথে যোগাযোগের জন্য আপনি এই বন্দরগুলির মধ্যে একটির সাথে সংযোগ স্থাপন করতে বাধ্য।

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


2
সহজ ব্যাখ্যার জন্য ধন্যবাদ, অ্যাশ।
xap4o

সুতরাং মূলত ওয়েবসকেট টিসিপি-র জন্য কেবল একটি র‍্যাপার এই অর্থে যে ইউডিপি আইপি-র জন্য কেবল একটি মোড়ক?
পেসারিয়ার

3
@ পেসারিয়র: একটি ওয়েবসকেটের চালনার জন্য কোনও প্রকারের ট্রান্সপোর্ট প্রোটোকল প্রয়োজন, তবে সেই পরিবহন স্তরটি টিসিপি হতে হবে না (যদিও এটি প্রায়শই বাস্তবে টিসিপি হতে চলেছে)। আপনি ওয়েবসকেটকে টিসিপির চারপাশে এক ধরণের মোড়ক হিসাবে ভাবতে পারেন, তবে আমি বিশ্বাস করি না যে এই দুজনের মধ্যে কোনও ব্যবস্থাপত্রের লিঙ্ক রয়েছে।
অ্যাশ

4
"ইন্টারনেটের মাধ্যমে, আপনি অন্য প্রান্তে অন্য কারও সার্ভারের সাথে যোগাযোগ করছেন" "" এইচটিটিপি বলতে সাধারণত ওয়েব সার্ভারগুলির জন্য এটি স্ট্যান্ডার্ড পোর্ট (৮০ এবং ৪৪৩), সুতরাং আপনি এইচটিটিপি প্রোটোকলের সাথে মানতে বাধ্য ged , অন্যথায় সার্ভার আপনার সাথে কথা বলবে না। " সাধারণত, আমরা যে ওয়েবসকেট সার্ভারটি অ্যাক্সেস করি তা আমাদের নিজস্ব। সুতরাং আমাদের কাছে একটি প্রোটোকল সহ একটি অ্যাপ্লিকেশন থাকতে পারে যা আমরা কোনও বন্দর শোনার সংজ্ঞা দিই। তাহলে, কেন আমাদের এইচটিটিপি হ্যান্ডশেক এবং একটি প্রোটোকল স্যুইচিংয়ের প্রয়োজন হবে? পরিবর্তে আমরা কেন সরাসরি প্রোটোকলের মতো একটি ওয়েবসকেট অনুসরণ করতে পারি না?
রাতুল

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

31

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

অন্তর্নিহীত ওয়েবসকেট হয় বিভিন্ন TCP, এটা ঠিক সরলীকরণের জন্য দূরে আনমনা হচ্ছে।


2

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


2

এটি সহজ করার জন্য, ওয়েবসকেট যোগাযোগগুলি টিসিপি পোর্ট নম্বর ৮০ (অথবা টিএলএস-এনক্রিপ্টযুক্ত সংযোগের ক্ষেত্রে 443) এর মাধ্যমে সম্পন্ন হয়, যা ফায়ারওয়াল ব্যবহার করে অ-ওয়েব ইন্টারনেট সংযোগগুলিকে ব্লক করে এমন পরিবেশগুলির পক্ষে উপকারী ।

আপনি কি বিদ্যমান টিসিপি পোর্ট ব্যবহার করতে চান বা একটি নতুন টিসিপি পোর্ট খুলতে চান যা ফায়ারওয়াল দ্বারা অবরুদ্ধ হতে পারে?

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