نحوه ارتباط افراد در بازی آنلاین دونفره (سوکت پروگرمینگ)
با سلام
قصد طراحی یه بازی ساده رو دارم که بصورت دو نفره و بصورت آنلاین برگزار میشه .
هر فرد میتونه حریف خودش رو از لیست کاربران آنلاین انتخاب کنه.
سپس وارد مسابقه میشوند .
چطور میشه افراد آنلاین در برنامه رو مشخص کرد ؟
چطور میشه وضعیت هر فرد رو در بازی دریافت کرد و برای نفر مقابل فرستاد (با تاخیر خیلی ناچیز و تقریبا بصورت آنی)
شما برای انجام این کار به برنامه نویسی سوکت ( socket programming ) نیاز دارید :) ، ساده ترین حالتی که میتونید پیاده کنید ، سوکت زدن بین دو دستگاه در شبکه ی لوکال هست ، که استاد آقاجانی به خوبی آموزش دادند.
اما برای حالت پیشرفته تر و بین چند صد یا چند صد هزار دستگاه ، کار یکم سخت میشه ! ، نمیخوام دلسرد تون کنم ، اما اگه امیدوار هستید که با دانش فعلی تون از وبسرویس نویسی بتونید این کار رو انجام بدید باید بگم سخت در اشتباه هستید ( همون طور که منم سخت در اشتباه بودم D: ) ، ما معمولا برای وبسرویس نویسی از PHP یا ASP استفاده میکنیم ، هر دو مورد سوکت پروگرمینگ رو پیاده کردند ( خودشون میگن پشتیبانی می کنیم ! ، ولی من نمیگم ، چون فقط پیاده کردند ! ).
من بیشتر با سوکتینگ در PHP کار کردم ، که اصلا برای تعداد زیاد کاربران مناسب نیست ! ، حداکثر کاری که بشه با این روش انجام داد ، سوکت زدن بین N تا یوزر که همزمان آنلاین هستن ، برای چت نوشتاری :)
N با قدرت سرور شما ارتباط مستقیم دارد !
در ASP یکم مشکلات کمتر میشه ، اما من تخصصی کار نکردم و فقط در مورد اش مطالعاتی داشتم ، نمونه سورس دیدم و حرف های بقیه رو شنیدم.
امــــــــــــــــــــــــــــا
علت اینکه من دنبال هیچ کدوم از اینا نرفتم ، اینه که هیچ کدوم از اینها نمیتونن به اندازه ی Node JS پر قدرت عمل کنند ! ، شاید چیزی که الان بتونیم در مورد اش حرف بزنیم ، سر بار روی سرور هست ! ، من اینجا عدد و رقم مطرح نمیکنم ، ولی در این حد بدونید که کمپانی های بزرگ به فکر کنار گذاشتن ، PHP ASP و روی کار آوردن Node JS هستن !
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .