مشکل در مثال چت روم کانستراکت
#1
سلام
من مثال آماده ای که در خود کانتستراکت هست وقتی پروژه ایجاد میکنیم رو اجرا کردم و فقط نام بازی رو تغییر دادم و پروژه رو توی سایتم گذاشتم

وقتی چند موبایل که به یک مودم وصل هستن وارد چت روم میشن همه چی به درستی کارمیکنه
اما  وقتی چند موبایل از چند شبکه مختلف (مثلا با اینترنت سیمکارت) میخوان وارد چت روم بشن نمیشه. اینجوری میشه که موبایل اول مینویسه که host شده و موبایل دوم و سوم و...  هم بدرستی برای همونها  مینویسه که peer شدن و بعنوان peer وارد چت روم شدن ولی نه موبایلی که هاست هست متوجه میشه کسی وارد چت روم شده و نه موبایلهای دوم به بعد لیست اعضا رو میبینن چون در اصل کامل وارد چت روم نشدن و بعد از بیست سی ثانیه خود بخود kick میشن.

در این عکس اسکرین شات موبایل خودمه که با اینترنت سیمکارت به چت روم وصل شدم و هاست شده:

[تصویر:  a.png]

در تصویر زیر هم اسکرین شات کامپیوتر خودمه که با adsl به چت روم وصل شده ، به عنوان peer وارد میشه و خود بخود بعد مدتی kick میشه

[تصویر:  b.png]

اما وقتی موبایلم هم به adsl وصل میکنم درست میشه.
مشکل از کجاس؟ چون دقیقا خود الگوی چت روم حاضر آماده کانستراکت رو که موقع ساخت پروژه بعنوان template وجود داره اجرا کردم و فقط نام game  و instance و room رو تغییر دادم.
  پاسخ


 سپاس شده توسط:
#2
سلام . توی ایران از آیپی های ورژن 4 استفاده میشه و این یعنی ممکنه بعضی از دستگاه ها آی پی های یکسانی داشته باشن . در صورتی آی پی کسی که میخواد به یه نفر وصل باشه با یک نفر در دیگه در مسیرش حین وصل شدن یکی در بیاد امکان هماهنگ سازی به وجود نمیاد و نمیتونن به هم وصل بشن .
نت های سیمکارت ( به خصوص ایرانسل ) بیشترشون از یک آیپی هستن . یعنی ممکنه شما که با نت ایرانسل الان وصل هستی با منی که توی اصفهان به نت ایرانسل وصل هستم آیپیمون یکی باشه !
در واقع میشه نتیجه گرفت که مولتی پلیر در ایران به خوبی کار نمیکنه و برای کشور های پیشرفته که از آیپی های ورژن 6 استفاده میکنند مناسبه .

اگه توضیحات اولیه ساخت بازی های آنلاین آقای تهرانی رو مطالعه کرده بودید متوجه میشدید :


سال‌هاست که استفاده از نسخه‌ی 4 آیپی (IPv4) در اینترنت دوام یافته است. این باعث می‌شود که چندین کاربر پشت یک آیپی مخفی بمانند. این کار به وسیله‌ی برگردان نشانی شبکه (NAT)[2] انجام می‌شود. مثلاً در خانه یا محلّ کار شما یک مودم اینترنت دارید که تعدادی رایانه یا موبایل و… برای اینترنت به آن وصل شده اند، در این حالت گونه‌ای از NAT باعث می‌شود آدرس آیپی تمام آن‌ها با هم یکی شود، در حالی که آن‌ها از پورت‌های مختلف به آن مودم وصل شده‌اند. NAT انواع دیگری نیز دارد، بعضی از انواع NAT باعث یکی شدن آیپی‌های یک منطقه، ارائه دهندگان خدمات اینترنتی (ISPها)، و شبکه‌های تلفن همراه می‌شوند. متأسفانه این یعنی ممکن است در بعضی از موارد امکان اتّصال نباشد، مخصوصاً اگر هاست و پیر هر دو به وسیله‌ی NAT پشت یک آیپی مخفی شده باشند.
  پاسخ


 سپاس شده توسط: shaygaaan ، mostafanastary
#3
(1395/7/28، 08:20 عصر)Mehrshad Farahani نوشته است: سلام . توی ایران از آیپی های ورژن 4 استفاده میشه و این یعنی ممکنه بعضی از دستگاه ها آی پی های یکسانی داشته باشن . در صورتی آی پی کسی که میخواد به یه نفر وصل باشه با یک نفر در دیگه در مسیرش حین وصل شدن یکی در بیاد امکان هماهنگ سازی به وجود نمیاد و نمیتونن به هم وصل بشن .
نت های سیمکارت ( به خصوص ایرانسل ) بیشترشون از یک آیپی هستن . یعنی ممکنه شما که با نت ایرانسل الان وصل هستی با منی که توی اصفهان به نت ایرانسل وصل هستم آیپیمون یکی باشه !
در واقع میشه نتیجه گرفت که مولتی پلیر در ایران به خوبی کار نمیکنه و برای کشور های پیشرفته که از آیپی های ورژن 6 استفاده میکنند مناسبه .

اگه توضیحات اولیه ساخت بازی های آنلاین آقای تهرانی رو مطالعه کرده بودید متوجه میشدید :


سال‌هاست که استفاده از نسخه‌ی 4 آیپی (IPv4) در اینترنت دوام یافته است. این باعث می‌شود که چندین کاربر پشت یک آیپی مخفی بمانند. این کار به وسیله‌ی برگردان نشانی شبکه (NAT)[2] انجام می‌شود. مثلاً در خانه یا محلّ کار شما یک مودم اینترنت دارید که تعدادی رایانه یا موبایل و… برای اینترنت به آن وصل شده اند، در این حالت گونه‌ای از NAT باعث می‌شود آدرس آیپی تمام آن‌ها با هم یکی شود، در حالی که آن‌ها از پورت‌های مختلف به آن مودم وصل شده‌اند. NAT انواع دیگری نیز دارد، بعضی از انواع NAT باعث یکی شدن آیپی‌های یک منطقه، ارائه دهندگان خدمات اینترنتی (ISPها)، و شبکه‌های تلفن همراه می‌شوند. متأسفانه این یعنی ممکن است در بعضی از موارد امکان اتّصال نباشد، مخصوصاً اگر هاست و پیر هر دو به وسیله‌ی NAT پشت یک آیپی مخفی شده باشند.

ممنون از پاسختون.
بله حق با شماست. من هم تحقیق کردم ظاهرا راه حل هایی هست که تا 99 درصد مشکل حل میشه و اون استفاده از سرورهای ICT هست که برای همین استفاده میشن و مشکل NAT  رو برطرف میکنن و حتی خود پلاگین multiplayer در کانستراکت گزینه Add ICT server داره که خب باید براش هزینه کرد ، سرورهای رایگانم هست که معمولا کار نمیکنند.

همونطور که میدونید پلاگین Multiplayer با پروتوکل WebRTC کارمیکنه و این پروتوکل در اصل هم نیاز به سرور سیگنالینگ داره که اینو خب خودش کانستراکت رایگان داره و هم یک سرور میخواد برای رفع مشکل فایر وال و همچنین NAT
 
توصیه میکنم این مقاله رو بخونید تا دقیقا با این مورد و راه حل هاش آشنا بشید
  پاسخ


 سپاس شده توسط:


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
Information پرداخت درون برنامه مایکت کوردوا ya mahdi 0 230 1404/1/17، 05:43 عصر
آخرین ارسال: ya mahdi
  نحوه خروجی اندروید کوردوا ya mahdi 0 176 1404/1/11، 04:06 عصر
آخرین ارسال: ya mahdi
Wink حل شده مقادير لازم در environment variable ᔕinaᗪehghani 24 11,595 1403/10/23، 12:10 صبح
آخرین ارسال: Tggi
  تپسل .....فروشگاه Hamidreza 3 1,932 1403/10/22، 11:57 عصر
آخرین ارسال: Tggi
  خروجی اندروید با Intel xdk ya mahdi 0 130 1403/8/25، 02:08 عصر
آخرین ارسال: ya mahdi

پرش به انجمن: