پارس‌کدرز چگونه کار می‌کند؟

از پارس‌کدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.

پارس‌کدرز خریداران یا کارفرمایان را به مجری‌ها /فریلنسرهای خبره‌ای متصل می‌کند که برای انجام پروژه آماده هستند.

پروژه دانشجویی - شبیه سازی TCP با استفاده از ساکت پروگرمینگ روی سی پلاس پلاس

پنج سال پیش منتشر شده

تعداد بازدید: 1196

کد پروژه: 90396


شرح پروژه

با سلام
برای درس شبکه پروژه ای دارم که توش باید روی یک مسیر غیر قابل اعتماد، یک پروتکل قابل اعتماد رو پیاده سازی کنم (همون کاری که TCP انجام میده)

سرور و کلاینت هر دوبه صورت دو برنامه ی جدا  روی یک ماشین خواهند بود (از آی پی 127.0.0.1 استفاده خواهد شد)
باید ابتدا بینشون اتصال برقرار بشه (three-way handshake) و بعد پکت هایی به سایز حداکثر یک کیلو بایت فرستاده بشه و کلاین اعلام کنه که فایل دریافت شده (ACK)

فایل ها به صورت تک تک فرستاده میشن(مالتی ترد نیاز نیست) اما برای یک مورد مالتی ترد نیازه ، هر بار که سرور بسته ای ارسال میکنه recv() روی کلاینت باید قفل بشه تا زمانی که بسته بهش برسه و بعد ACK رو برگردونه ،  یک تایمر نیازه که وقتی تموم شد اگر بسته ای از سرور دریافت نشده بود ACK بسته ی قبلی که دریافت شده رو دوباره بفرسته (این برای اینه که به سرور اعلام بشه بسته بهم نرسیده). این کار با بهره گیری از pthread انجام خواهد شد.
این برنامه باید روی یک لینوکس Ubuntu نسخه ی 18.04 قابل کامپایل شدن باشه
از g++ برای کامپایل استفاده خواهد شد که نسخه ی 7.3.0 هست (فکر کنم سی پلاس پلاس هم همین نسخه ست ، نباید از نسخه های بالاتر استفاده کنم)
ای پی آی POSIX استفاده خواهد شد ، از SO_RCVTIMEO نباید استفاده کنم
کامند برای اجرای برنامه ها این شکلیه (1080 پورتی هست که استفاده خواهد شدو از md5sum برای مقایسه ی فایل ارسالی و دریافتی استفاده خواهد شد)


./cs494rcp_server 1080 

./cs494rcp_client 127.0.0.1 1080 ./test.jpg

برای سابمیت پروژه سورس کد (c & .h.) رو نیاز دارم. همچنین  Make cs494rcp_server و Make cs494rcp_client و  Make clean. یک BASH هم روی لینوکس باید نوشته بشه که دو برنامه ی سرور و کلاینت رو فراخوانی و اجرا کنه و بعد تستشون کنه. همه ی اینها باید TAR بشن.
دو فایل به زبان انگلیسی هم فرستادم که این پروژه رو شرح داده. اگر نیاز به اطلاعات بیشتر یا مکالمه بود همین جا بهم اطلاع بدین تا با هم در تماس باشیم
 در انتها چند لینک با اطلاعات مفید مربوط به این پروژه (به زبان انگلیسی) می گذارم
http://www.linuxhowtos.org/C_C++/socket.htm
http://www.gnu.org/software/make/manual/make.html
https://www.cs.cmu.edu/afs/cs/academic/class/15492-f07/www/pthreads.html
https://www3.physnet.uni-hamburg.de/physnet/Tru64-Unix/HTML/APS33DTE/DOCU_007.HTM#sig-and-timers-sec

این پروژه شامل 2 فایل مهم است، لطفا قبل از ارسال پیشنهاد حتما نسبت به بررسی این فایل اقدام فرمایید.

مهارت ها و تخصص های مورد نیاز


بودجه

750,000 تومان تا 5,000,000 تومان

مهلت برای انجام

4روز

وضعیت مناقصه

بسته


درباره کارفرما

عضویت پنج سال پیش

2 پروژه ثبت شده ،
0 پروژه در حال انجام ،
0 پروژه آماده دریافت پیشنهاد ،
نرخ پذیرش پیشنهاد 50%

برای پیدا کردن پروژه‌های مشابه ثبت نام کنید و پروفایل خود را بسازید.

ورود با گوگل
یا
نام نباید خالی باشد.
نام خانوادگی نباید خالی باشد.

نیاز به استخدام فریلنسر یا سفارش پروژه مشابه دارید؟

سفارش پروژه مشابه

قادر به انجام این پروژه هستید؟

ثبت نام کنید

مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است

سری به پروژه‌های مشابه بزنید

روش کار در پارس‌کدرز

به رایگان یک حساب کاربری بسازید

مهارت‌ها و تخصص‌های خود را ثبت کنید، رزومه و نمونه‌کارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.

به شیوه‌ای که دوست دارید کار کنید

برای پروژه‌های دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصت‌های شغلی منحصر به فرد دسترسی پیدا کنید.

با اطمینان دستمزد دریافت کنید

از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.

می‌خواهید شروع به کار کنید؟

یک حساب کاربری بسازید


بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارت‌های شما است.

پیدا کردن کار (پروژه)

تماشای دمو روش کار