در این پروژه، باید یک سامانه نظرسنجی آنلاین برای بازیهای شهرآورد طراحی کنید که از طریق سوکتها، ارتباط بین یک سرور و چندین کلاینت را مدیریت کند. هر کلاینت باید بتواند به سرور متصل شده و به یک گزینه رأی دهد. پس از پایان رأیگیری، سرور باید نتایج را جمعآوری و به کلاینتها اعلام کند.
پروژهی اولیه را میتوانید از این لینک دانلود کنید. ساختار این فایل به صورت زیر است:
بعد از اجرا کردن دستورهای زیر به ترتیب server
و client
راهاندازی میشوند.
<port>
تنظیم شود که مقدار آن بهصورت آرگمان ورودی داده میشود.Socket Error
را چاپ کند.Bind Error
را چاپ کند.Ready To Get Votes...
را به صورت استاندارد چاپ کند.پس از اتصال هر کلاینت، سرور باید متن و گزینههای نظرسنجی را به هر کلاینت ارسال کند و از آنها درخواست کند که یک عدد (نمایانگر گزینه) را به عنوان رای انتخاب کنند. متن پیام نظرسنجی باید عبارت زیر باشد:
سرور پس از دریافت رأی از هر کلاینت، باید رأی را ذخیره کرده و بلافاصله پیام We Got Your Vote.
را برای تأیید رأی به کلاینت ارسال کند. در صورتی که رأی کاربر برابر 1
یا 2
نیست. بلافاصله عبارت Invalid Vote.
را باید به کلاینت ارسال کند.
سرور پس از دریافت هر رأی از از کلاینتها، نتیجهی رایگیری را بهصورت زیر چاپ کند.
<port>
بتواند به سرور متصل شود و گزینههای رأیگیری را دریافت کند.send
و recv
برای ارسال و دریافت دادهها استفاده شود.