سبد دانلود 0
دانلود-نمونه-سورس-کد-Genesis-UDP-Server-and-Client-سی-شارپ

دانلود نمونه سورس کد Genesis UDP Server and Client سی شارپ

دسته‌بندی: سورس کد
امروز در این پست برای شما کاربران عزیز وبسایت فایل سحرآمیز یک نمونه سورس کد Genesis UDP Server and Client سی شارپ را آماده دانلود قرار داده ایم.
202
تعداد پیشنهاد
203
تعداد دانلود
96٪
رضایت‌مندی
سطح رضایت کاربران
96٪
کم متوسط زیاد

دانلود نمونه سورس کد Genesis UDP Server and Client سی شارپ

پروژه Genesis UDP یک کتابخانه کلاسی است که یک سرور و سرویس گیرنده UDP سبک وزن را با استفاده از عملکرد سوکت های دات نت پیاده سازی می کند. از UDP برای پایین نگه داشتن مقدار داده ارسال شده در سراسر شبکه استفاده می کند و دارای ویژگی های زیادی مانند رمزگذاری اولیه، بسته های متوالی و کانال قابل اعتماد است.

Genesis از طریق "بسته های فرمان" ارتباط برقرار می کند - یک بسته دستوری یک یا چند بسته UDP است که دارای اپکد 2 بایتی و تعداد متغیر فیلدهای رشته ای است. بسته های غیرقابل اعتماد می توانند تا 512 بایت باشند، بسته های قابل اعتماد می توانند طولانی تر باشند اما توسط Genesis تقسیم می شوند و به ترتیب ارسال می شوند. تعدادی آپکد داخلی توسط Genesis استفاده می شود، اما جدا از این که نحوه مدیریت بسته ها، کدهای عملیاتی و فیلدها کاملاً بر عهده توسعه دهنده برنامه میزبان است.

Genesis UDP Server and Client سی شارپ 11

Genesis UDP Server and Client سی شارپ 22

همچنین یک سیستم رمزگذاری اختیاری وجود دارد که خیلی پیشرفته نیست، اما اگر فعال باشد، یک کلید تصادفی 320 بیتی برای هر کلاینت متصل ایجاد می کند و از آن کلید در یک الگوریتم رمزگذاری XOR استفاده می کند. این کاملاً ایمن است زیرا هیچ دو کلاینت کلید یکسانی را به اشتراک نمی‌گذارند، با این حال به بسته‌های اتصال اولیه متکی است که بو داده نمی‌شوند. افزودن رمزگذاری کلید عمومی/خصوصی و غیره یک پیشرفت احتمالی برای کتابخانه است. می توان انتخاب کرد که کدام اتصالات رمزگذاری شده و کدام نه.

Server در مقابل Client

Genesis بر این اساس کار می کند که هر نمونه از Genesis می تواند هم مشتری و هم سرور باشد. خط بین کلاینت و سرور محو است، زیرا هر برنامه‌ای که از Genesis استفاده می‌کند می‌تواند هم به سرورها متصل شود و هم اتصالات مشتریان را بپذیرد. البته، کلاینت‌ها نمی‌توانند فقط به‌طور پیش‌فرض متصل شوند - رویدادهای مناسب باید در برنامه میزبان قلاب شوند تا عملکرد فعال شود. سرور به عنوان میزبان راه دوری تعریف می شود که اتصال را پذیرفته است، در حالی که مشتری میزبان راه دوری است که اتصال را آغاز کرده است. از آنجایی که یک نمونه از Genesis می تواند هر دو را انجام دهد، می تواند هم سرور و هم مشتری برای نمونه های دیگر Genesis باشد. سرورها و کلاینت ها در مجموع به عنوان میزبان شناخته می شوند.

نمودار بالا نشان می دهد که چگونه ایده کلاینت ها و سرورها در Genesis کار می کند. هر کادر آبی نمونه ای از کتابخانه Genesis را نشان می دهد - هیچ کدام به طور خاص سرور یا کلاینت تعیین شده نیستند زیرا هر دو به طور بالقوه می توانند اتصالات را بپذیرند و شروع کنند. تعریف سرور و کلاینت تنها در زمینه یک نمونه Genesis معتبر است. اجازه دهید "پیدایش 1" را در نظر بگیریم، به سرورهای 2 و 3 متصل است، و 4 به عنوان مشتری متصل است، این توسط جهت فلش ها تعیین می شود (فلش ها نشان می دهند که کدام جعبه اتصال را آغاز کرده است). اگر به چشم انداز "پیدایش 2" نگاه کنیم، می بینیم که فقط دو مشتری وجود دارد، 1 و 3. با این حال، اگر به دیدگاه "پیدایش 4" نگاه کنیم، یک سرور وجود دارد، "پیدایش 1". توجه کنید که چگونه "پیدایش 1"

زمینه

ایده Genesis بر اساس نگاه کردن به پروتکل‌های شبکه بازی‌های مختلف FPS آنلاین مانند Quake و Half-Life بود که از UDP برای برقراری ارتباط سریع بین سرور بازی و کلاینت‌های متصل آن استفاده می‌کنند. این پیاده سازی ها گزینه ای برای ارسال بسته های قابل اعتماد و توالی دارند - توانایی هایی که در Genesis نیز گنجانده شده اند. هدف اصلی Genesis شروع یک API شبکه زیربنایی برای یک موتور بازی نوشته شده در دات نت بود، با این حال پتانسیل آن به حدی است که به عنوان یک پروژه مستقل در اختیار جامعه قرار گرفته است.

سه رابط وجود دارد که باید برای اجرای عملکرد Genesis استفاده شود. اینها هستند:

  • IConnection
  • ICommand
  • IGenesisUDP

اشیاء IConnectionاطلاعات مربوط به هر اتصال به یک میزبان راه دور را نگه می‌دارند، خواه آن میزبان سرور یا مشتری باشد. ICommandاطلاعاتی را در مورد یک بسته فرمان منفرد، از جمله فیلدهای opcode و داده، نگهداری می کند. IGenesisUDPکلاس ارتباطات واقعی است که تمام عملکردها را کنترل می کند.

همراه با منبع دو پروژه "GenesisChatServer" و "GenesisChatClient" هستند. اینها یک جفت پروژه هستند که یک سیستم چت مشابه IRC را پیاده سازی می کنند. استفاده از این پروژه ها به عنوان نقطه مرجع باید به درک کلاس های Genesis کمک کند.

برای شما کاربر عزیز پیشنهاد دانلود داده می شود.

ارسال نظر :

کد امنیتی

نظرات کاربران :

فرشته حسینی
1404/11/19 55:55 am
فایل رو چند بار استفاده کردم، هر بار نکته جدیدی یاد گرفتم
علیرضا
1404/9/24 9:55:55 am
فوق العاده بود! منتظر فایل‌های بعدی شما هستم

فایل های که ممکن است نیاز داشته باشید

دانلود-نمونه سورس-کد-مبانی-بینای-ماشین-در-vb.net 

دانلود نمونه سورس کد مبانی بینای ماشین در vb.net 

دانلودتوضیحات بیشتر
دانلود-سورس-کد-نرم-افزار-برای-ذخیره-تصویری-از-سایت 

دانلود سورس کد نرم افزار برای ذخیره تصویری از سایت 

دانلودتوضیحات بیشتر
سورس-کد-بازی-KReversi-با-پیاده-سازی-الگوریتم-Minimax-با-ایجاد-یک-ربات-Reversi-سی-شارپ

سورس کد بازی KReversi با پیاده سازی الگوریتم Minimax با ایجاد یک ربات Reversi سی شارپ

دانلودتوضیحات بیشتر
سیستم-مدیریت-بیمارستان-با-سی-شارپ-با-کد-منبع

سیستم مدیریت بیمارستان با سی شارپ با کد منبع

دانلودتوضیحات بیشتر