একসাথে টিসিপি এবং ইউডিপি উভয়ই ব্যবহার করা কি বোধগম্য?


10

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

  • টিসিপি তথ্য প্রেরণের জন্য যা অবিচ্ছিন্নভাবে প্রেরণ করা হয়, তবে নির্ভরযোগ্যভাবে পৌঁছানোর নিশ্চয়তা দেওয়া উচিত।
    যেমন স্কোর আপডেট, কোনও প্লেয়ারের নাম, বা এমনকি গেমের জগতের একটি আলোর অন / অফ স্টেট।

  • অবিচ্ছিন্নভাবে আপডেট হওয়া এবং মাঝে মাঝে হারিয়ে যেতে পারে এমন তথ্য সঞ্চারের জন্য ইউডিপি, যেহেতু সর্বদা নতুন তথ্য পথে থাকে।
    যেমন অবস্থান, আবর্তন ইত্যাদি

এটি কি যুক্তিসঙ্গত ধারণা? সম্ভাব্য ত্রুটিগুলি কী কী?
এটি পরিচালনা করার আরও ভাল উপায় আছে?


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

@ টিওড্রন আপনার সন্দেহ করার দরকার নেই আমার উত্তরে যেমন বলা হয়েছে, এটি একটি সত্য।
ইঞ্জিনিয়ার

উত্তর:


8

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

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

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


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

1
@ আরাকান ইঞ্জিনিয়ার যদি ইউডিপি এবং টিসিপি সকেটগুলি বিভিন্ন বন্দরগুলিতে চলমান থাকে তবে কী হবে?
KaareZ

@ কেয়ারজেড-এ একেবারেই কোনও পার্থক্য করা উচিত নয়। যে সমীক্ষা করা হয়েছে (সম্পাদনায় লিঙ্কটি দেখুন) বৈধ হবে না যদি এটি বন্দরগুলিতে বিভক্ত হওয়ার কোনও সাধারণ বিষয় ছিল। দিনের শেষে, একটি বন্দর কেবল একটি সফ্টওয়্যার বন্দর। এটি প্রকৃতপক্ষে নেটওয়ার্ক বৈশিষ্ট্যগুলিকে প্রভাবিত করে না, যা এটি এটিকে উত্সাহিত করে।
ইঞ্জিনিয়ার 10

আপনি যা বলছেন তা বোধগম্য হয় তবে আমি সাহায্য করতে পারছি না তবে অবাক হচ্ছি যে যেখানে খুব কম টিসিপি ট্র্যাফিক রয়েছে সেখানে এটি যদি এখনও প্রয়োগ হয়। টিসিপির মাধ্যমে যদি কেবলমাত্র অল্প পরিমাণে তথ্য প্রেরণ করা হয় তবে প্রতি ~ 10 সেকেন্ডে গড়ে একবার বা দুবার বলুন, তা কি ইউডিপি ট্র্যাফিককে লক্ষণীয়ভাবে প্রভাবিত করবে?
gandalf3

2
"টিসিপি ইউডিপি প্যাকেট ক্ষতিগ্রস্ত করে" কাগজের কোনও তারিখ নেই। এর সর্বাধিক সাম্প্রতিক রেফারেন্সগুলি 1996 সালের। কাগজটি কখন থেকে? সিদ্ধান্তগুলি কি এখনও বৈধ?
Andreas

4

গ্যাফেরংগেস ডটকমের একটি মন্তব্য থেকে এখানে স্যাম জানসেনের একটি উদ্ধৃতি দেওয়া হয়েছে :

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

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

সম্পর্ক সত্যই দুজনের মধ্যে এতটা জটিল নয়: টিসিপি প্যাকেটের ক্ষতি না হওয়া পর্যন্ত কেবল তার প্রেরণের হার বাড়িয়ে তোলে (যদি প্রেরণের জন্য ডেটা থাকে তবে) আবার তার হারটি ডায়াল করে আবার হার বাড়ানো শুরু করে (এটি সময় আরও ধীরে ধীরে)। এটির হার বৃদ্ধির ফলে প্যাকেটের ক্ষতি হয়, আপনার ইউডিপি প্যাকেটগুলি সহ এটি অন্য যে কোনও ডেটা প্রবাহকে আঘাত করতে পারে।

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

আপনার প্রশ্নের উত্তর দিতে:

আমি ভাবছি যদি একই সাথে টিসিপি এবং ইউডিপি উভয়ই ব্যবহার করা বুদ্ধিমান হয় তবে বিভিন্ন জিনিসের জন্য [...]

হ্যাঁ, আপনি আপনার ব্যান্ডউইথের সীমাতে রয়েছেন তা ধরে নিয়ে এটি করা একটি গ্রহণযোগ্য জিনিস।

  • টিসিপি তথ্য প্রেরণের জন্য যা অবিচ্ছিন্নভাবে প্রেরণ করা হয়, তবে নির্ভরযোগ্যভাবে পৌঁছানোর নিশ্চয়তা দেওয়া উচিত। যেমন স্কোর আপডেট, কোনও প্লেয়ারের নাম, বা এমনকি গেমের জগতের একটি আলোর অন / অফ স্টেট।

টিসিপি এবং ইউডিপি উভয়ই ব্যবহার করার সময়, আপনি সর্বদা ইউডিপি-র মাধ্যমে যথাসম্ভব এবং টিসিপি-র মাধ্যমে যতটা সম্ভব প্রেরণা পছন্দ করেন।

এখন, আমি আপনাকে এটি জিজ্ঞাসা করছি: স্কোর, প্লেয়ারের নাম এবং টিসিপির উপর আলোকিত অবস্থা প্রেরণ করা কি সত্যিই প্রয়োজনীয়? যদিও এটি সত্য যে আপনাকে শেষ পর্যন্ত এই ডেটা গ্রহণ করা দরকার, এটি কি সত্য যে আপনাকে এই ডেটাটি কঠোরভাবে-ইন-অর্ডার এবং ঠিক একবারে গ্রহণ করা দরকার?

সম্ভবত না.

ইউডিপি এই ক্ষেত্রেগুলির জন্য সূক্ষ্মভাবে কাজ করে, এবং ভূমিকম্প 3 কীভাবে তার একটি ভাল উদাহরণ।

তাহলে ইউডিপির পাশাপাশি টিসিপির একটি ভাল উদাহরণ কী? ভাল, একটি গেমের চ্যাটবক্সটি মনে করুন। এই চ্যাটবক্সের আপডেটগুলি (যা পাঠ্যের নতুন লাইনগুলি) নির্ভরযোগ্যভাবে এবং কঠোরভাবে-ক্রম উভয়ই প্রেরণ করা দরকার। সুতরাং, টিসিপি একটি ভাল ফিট।


3

এটি কি যুক্তিসঙ্গত ধারণা?

  • হ্যাঁ

সম্ভাব্য ত্রুটিগুলি কী কী?

  • প্যাকেট হ্রাস, আরও কোড জটিলতা, পরিচালনার জন্য আরেকটি সংযোগ == সংযোগ বিচ্ছিন্ন হওয়ার জন্য আরও বেশি সুযোগ, সময়সীমা, ব্যতিক্রমগুলি যাই হোক না কেন ...

এটি পরিচালনা করার আরও ভাল উপায় আছে?

  • একটি বিদ্যমান নির্ভরযোগ্য ইউডিপি লাইব্রেরি ব্যবহার করুন। সর্বাধিক জনপ্রিয় দুটি হ'ল: লিডগ্রেন নেটওয়ার্ক (সি #), রাকনেট (সি ++)। অভিজ্ঞতা থেকে আমি বলতে পারি লিডগ্রেন ব্যবহার করা অত্যন্ত সহজ, দ্রুত এবং নির্ভরযোগ্য।

1

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

সীমাবদ্ধতা নেটওয়ার্ক সিস্টেমে সেটিংস দ্বারা সংজ্ঞায়িত করা হয়। অতিরিক্তভাবে প্রতিটি সংযোগ কিছু মেমরি ব্যবহার করে যা সার্ভারের কোথাও থেকে আসতে হবে।

একটি সমাধান হ'ল ডেটা স্থানান্তরিত হওয়ার সময় কেবলমাত্র একটি অস্থায়ী টিসিপি সংযোগ খোলার এবং তা অবিলম্বে এটি বন্ধ করে দেওয়া। এটি লেনদেনকে ধীর করে দেবে, একটি টিসিপি সংযোগ খোলানো একটি "ব্যয়বহুল" প্রক্রিয়া। সর্বদা হিসাবে, এগুলি সমস্ত বৃহত্তর বিকাশের জন্য শুরু থেকেই একটি শক্তিশালী সিস্টেম ডিজাইন করা about

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