توضیحات کامل محصول
دانلود نمونه سورس کد Genesis UDP Server and Client سی شارپ
پروژه Genesis UDP یک کتابخانه کلاسی است که یک سرور و سرویس گیرنده UDP سبک وزن را با استفاده از عملکرد سوکت های دات نت پیاده سازی می کند. از UDP برای پایین نگه داشتن مقدار داده ارسال شده در سراسر شبکه استفاده می کند و دارای ویژگی های زیادی مانند رمزگذاری اولیه، بسته های متوالی و کانال قابل اعتماد است.
Genesis از طریق "بسته های فرمان" ارتباط برقرار می کند - یک بسته دستوری یک یا چند بسته UDP است که دارای اپکد 2 بایتی و تعداد متغیر فیلدهای رشته ای است. بسته های غیرقابل اعتماد می توانند تا 512 بایت باشند، بسته های قابل اعتماد می توانند طولانی تر باشند اما توسط Genesis تقسیم می شوند و به ترتیب ارسال می شوند. تعدادی آپکد داخلی توسط Genesis استفاده می شود، اما جدا از این که نحوه مدیریت بسته ها، کدهای عملیاتی و فیلدها کاملاً بر عهده توسعه دهنده برنامه میزبان است.
همچنین یک سیستم رمزگذاری اختیاری وجود دارد که خیلی پیشرفته نیست، اما اگر فعال باشد، یک کلید تصادفی 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 کمک کند.
برای شما کاربر عزیز پیشنهاد دانلود داده می شود.
نمونه قالب موبایل
سایت کرون جابز
فعل ماضی ساده
دانلود جدول نازک کاری
صندوق فروش با php
چیلر جذبی و تراکمی چیست
بازی با html
نرم افزار مدیریت و رزرو سالن
فرهنگ لغت فارسی
لینک سازی
دانلود اسکریپت وب سایت فروشگاه آنلاین عینک با استفاده از PHP و MySQL
اسکریپت سیستم مدیریت زمان پروژه آنلاین در کد منبع PHP OOP
دانلود نمونه سوالات امدادگر و حوادث
دانلود اسکریپت برنامه وب گالری تصاویر ساده با استفاده از کد PHP
دانلود نرم افزار ساخت نقشه سایت Sitemap Generator
پروژه اسکریپت برنامه ویرایش عکس بصورت آنلاین کدنویسی شده با HTML5 و جاوا اسکریپت
دانلود نمونه سوالات تکنسین داروخانه
دانلود اسکریپت بارکد خوان (Html5 QR Code)
سورس و کد نمونه بازی ماشین با بیسیک فور اندروید بصورت اچ تی ام ال 5
دانلود تست هوش چندگانه یا Multiple Intelligences در فایل اکسل
نمونه اسکریپت شبکه اجتماعی شبیه به توییتر با پی اچ پی( social network script similar to Twitter with PHP )
نمونه قالب تم پاورپوینت در موضوع الگوی اسلایدهای تعاملی مرورگر وب به سبک مک کروم
اسکریپت جواهر فروشی آنلاین با استفاده از PHP/MySQLi
دانلود نرم افزار ساخت ابر کلمات (Word Cloud) از تک های متن ورودی
دانلود نرم افزار برای تبدیل دیزاین b4a به b4i
دانلود تحقيق آماده درباره حفاظت سيستم های الکتريکی در قالب فایل ورد
دانلود سورس و کد پنجره بازشو و ردیاب ماوس در سی شارپ (نمونه برنامه ضبط موس)
دانلود فلش کارت لغات زبان انگلیسی عمومی
سورس و کد سیستم مدیریتی صورتحسابی بستنی فروشی با کد نویسی در محیط ویژوال بیسیک دات نت VB.NET