একটি মাল্টিপ্লেয়ার গেমের জন্য টিসিপি বা ইউডিপি?


18

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

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

আমার সাধারণ বোঝাপড়া কি এখানে ভুল? কেউ কি আমার জন্য এটি পরিষ্কার করতে পারেন?


7
internet is now pretty fast and reliableনা এইটা না. ব্যান্ডউইথ নাটকীয়ভাবে বৃদ্ধি পেয়েছে, হ্যাঁ, কিন্তু লেটেন্সি এখনও বেশ উচ্চ। খাঁটি টিসিপি দিয়ে আপনার প্যাকেট স্কোচিং না করা সর্বাধিক সাশ্রয়ী মূল্যের তুলনায় বেশি হওয়ার জন্য সার্ভারের টিক সময় দরকার - যা ইউডিপির মাধ্যমে ক্লায়েন্টে সর্বোত্তমভাবে করা হয়। সমস্যাটি হ'ল গেমের কিছু তথ্য নির্ভরযোগ্য হওয়া দরকার, অন্যদিকে দ্রুত হওয়া দরকার। ইউডিপি-র শীর্ষে কাস্টম প্রোটোকলগুলি পাশাপাশি সেইসাথে মালিকানাধীন একটি গোছা যা আপনাকে একটি সুন্দর প্যাকেজে আপনার প্রয়োজনীয় সমস্ত কিছু দেয়।

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

@ আরদৌস আমি মনে করি এটি আমার প্রশ্নের উত্তর দেয় :) ধন্যবাদ
ফ্লোলেবিত

4
এছাড়াও সচেতন থাকুন যে ইউডিপি আইপি স্পুফিংয়ের ঝুঁকিতে রয়েছে যা যদি আপনার উদ্বেগের বিষয় থাকে তবে আপনার সার্ভারটি ডিডিওএস আক্রমণে উন্মুক্ত করতে পারে। আপনি "নিয়ন্ত্রণ" টিসিপি সংযোগ থাকা যা ক্লায়েন্টের আইপি ঠিকানা এবং অন্যান্য বিশদটি সার্ভারে প্রেরণ করে যা পরে "প্রমাণীকৃত" ঠিকানা থেকে ইউডিপি প্যাকেট গ্রহণ করে তা এড়াতে পারবেন। এছাড়াও ইউডিপি-র উপরে কোনও উন্মুক্ত মান না থাকায় আপনাকে নিজের এনক্রিপশন স্তরটি প্রয়োগ করতে হতে পারে।
আরউ

@ সেখানে blownie55 ভাল পয়েন্ট
নরেশ কুমার

উত্তর:


12

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

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

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


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

1
বিষয়গুলি এখন পরিবর্তিত হতে পারে যে কুইক ( এন.ইউইকিপিডিয়া.আর / উইকি / কিউআইএসি ) HTTP / 3 এর অংশ হবে যা ইউডিপি ব্যবহার করে এবং ডিফল্টরূপে টিএলএস ব্যবহার করে এনক্রিপ্ট করা হয়। এটি ব্যাপকভাবে উপলভ্য হতে কিছু সময় লাগবে এবং এটি প্রত্যাশিত। কিছু বিষয় যা এখানে হ্যান্ডেল করা দরকার সে সম্পর্কে আরও বিশদ: blog.cloudflare.com/the-road-to-quic
এআরউ

3

@ অর্ডৌস উল্লেখ করেছেন যে "ইন্টারনেট এখন বেশ দ্রুত এবং নির্ভরযোগ্য" বলা একটি ধারণা হবে এবং এটি একটি বিপজ্জনকও।

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

ইউডিপি ডিফল্টরূপে বারবার তাদের ধাক্কা দিতে সময় নষ্ট করে না।

এবং, অনেকগুলি গেমস ঘটনাক্রমে মনে হয় "কখনও কখনও হারাতে ঠিক হয়" প্যাকেটগুলি "সর্বদা ব্যর্থ না হয়ে সরবরাহ করা প্রয়োজন" প্যাকেটের চেয়ে বেশি থাকে। অতএব এই কাজের জন্য একটি প্রাকৃতিক ফিট করা।

ইউডিপিতে যা দরকার ছিল তা হ'ল একটি কাস্টম প্রোটোকল ব্যবহার করা যা কেবল "ব্যর্থতা ছাড়াই সরবরাহ করা দরকার" প্যাকেটগুলি সঠিকভাবে সরবরাহ করতে সহায়তা করে, বাকি গেমের ডেটা নেটওয়ার্ক সংযোগের করুণায় ফেলে।

কোন ধরণের ট্র্যাফিক আপনার বেশিরভাগ ডেটা জুড়ে প্রেরণ করতে হবে তা সিদ্ধান্ত নেওয়া আপনাকে আরও ভাল সিদ্ধান্ত নিতে সহায়তা করবে।

টিসিপির বিরুদ্ধে কথাটি হ'ল পুনরায় চেষ্টা করার জন্য এখনই প্যাকেটগুলি প্রেরণে ব্যয় করা যেতে পারে।

ট্রান্সমিশনের সময় যদি কোনও সমস্যা হয়, টিসিপি ব্যবহারকারীর জন্য আরও ভাঙ্গা গেম-প্লে দৃশ্যে কাসকেড করতে পারে, ইউডিপি + কাস্টম স্ট্যাকের তুলনায় তাদের অভিজ্ঞতা নষ্ট করে (এই শেষ অংশটি কেবল হানচ। আমি চলে যাব এটি সম্পর্কে এখানে অন্যান্য বিশেষজ্ঞদের কাছে মন্তব্য করতে this এই দৃশ্যের সম্ভাবনাগুলি সম্পর্কে জানতে আগ্রহী)।

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