magicfile icon وبسایت فایل سحرآمیز - magicfile.ir

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

دانلود-نمونه-سورس-و-کد-Genesis-UDP-Server-and-Client-سی-شارپ
لینک کوتاه : https://magicfile.ir/?p=2526
توضیحات کوتاه و لینک دانلود
امروز در این پست برای شما کاربران عزیز وبسایت فایل سحرآمیز یک نمونه سورس و کد Genesis UDP Server and Client سی شارپ را آماده دانلود قرار داده ایم.

دانلود - Download

لیست فایل های مشابه


رضایت کاربران از دانلود فایل
پیشنهاد
321
تعداد دانلود
195
رضایت مندی
94%
کم متوسط زیاد
توضیحات کامل در مورد فایل

دانلود نمونه سورس و کد 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 کمک کند.

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

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

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

کد امنیتی

ارسال کننده نظر مهزيار - 2023/1/06 11:58:20 pm
با سلام واقعاً دمتون گرم دانلود کردم
 
پاسخ پشتیبانی فایل سحر آمیز
با سلام سپاسگزارم
 
ارسال کننده نظر مهدی - 2022/12/11 12:54:26 am
سلام دم شما گرم فايل رو دانلود کردم بروز و کامل هستش
 
پاسخ پشتیبانی فایل سحر آمیز
با سلام ممنون از ارسال ديدگاه خود
 

لیست فایل های ویژه وبسایت

دانلود-نرم-افزار-ترجمه-خودکار-فایل-های-po-,-pot-بصورت-کامل-برای-تمامی-زبان-ها-از-جمله-فارسی
دانلود نرم افزار ترجمه خودکار فایل های po , pot بصورت کامل برای تمامی زبان ها از جمله فارسی

بهترین-سرویس-پوش-نوتیفیکیشن-اسکریپت-مدیریت-اعلان-و-ساخت-پوش-نوتیفیکیشن-سایت-و-ارسال-پوش-از-طریق-php
بهترین سرویس پوش نوتیفیکیشن اسکریپت مدیریت اعلان و ساخت پوش نوتیفیکیشن سایت و ارسال پوش از طریق php

دانلود-نرم-افزار-تبدیل-فایل-متنی-تکست-txt-به-وی‌سی‌اف-vcf-(مخاطب-موبایل)
دانلود نرم افزار تبدیل فایل متنی تکست txt به وی‌سی‌اف vcf (مخاطب موبایل)

دانلود-نرم-افزار-تغییر-زبان-سورس-و-کد-ویژوال-استودیو-(عناصر-دیزاین-طراحی-فرم-ها)
دانلود نرم افزار تغییر زبان سورس و کد ویژوال استودیو (عناصر دیزاین طراحی فرم ها)

دیتابیس-کامل-تقویم-1403-بصورت-فایل-اکسل-xlsx-(شمسی---قمری--میلادی--مناسب-ها)
دیتابیس کامل تقویم 1403 بصورت فایل اکسل xlsx (شمسی - قمری -میلادی -مناسب ها)