h.ranjbar72
جمعه 18 آبان 1397, 02:54 صبح
سلام به همگی
من یه برنامه نوشتم که یه سخت افزار رو کنترل میکنه و چون سمت دستگاه رو با پروتکل UDP پیاده سازی کردند مجبورم منم با همین پروتکل پیش برم وگرنه میرفتم سمت TCP
برنامه من به عنوان سرور و کنترل کننده اصلی هستش و ip ثابت اینترنتی داره و بقیه دستگاهها به سمت ip و port ثابت سرور اطلاعات ارسال و دریافت میکنن. البته میدونم که توی پروتکل udp بحث سرور و کلاینت مطرح نیست فقط روال سیستم رو توضیح دادم (تنظیمات Port Forwarding مودم رو هم انجام دادم)
برنامه تو شبکه داخلی (Local) به درستی داره کار میکنه و هیچ مشکلی نداره ولی وقتی میاد تو اینترنت، اطلاعاتی که دستگاهها ارسال میکنن را درست و کامل دریافت میکنم اما اطلاعاتی که من در جواب واسشون ارسال میکنم اصلا ارسال نمیشه و دستگاهها دریافت نمیکنند.
روال ارسال هم به این شکل هستش که دستگاهها روی هر ip و port ی که اطلاعات فرستادند روی همان ip و port بهشون پاسخ داده میشه و سمت دستگاهها Static ip وجود نداره و همگی public ip دارن
اول شک کردم که شاید شرکت ارائه دهنده اینترنت (ISP) پروتکل UDP رو بسته باشه که با پشتیبانی تماس گرفتم گفت هم پروتکل TCP هم UDP باز هستند و مشکلی وجود نداره. تنظیمات مودم رو هم نگاه کردم بخشی در مورد UDP ندیدم
یه نکته جالب که با نرم افزار Wireshark دیدم وقتی برنامه میاد تو شبکه اینترنت Source Port مدام تغییر میکنه ، مثلا من پورت سمت سرور رو تو کد ثابت گذاشتم 3000 یهو میشه 11820
اگه کسی راه حل را میدونه لطفا راهنمایی کنه واقعا گیر کردم
کد ارسال با UDP به دو صورت :
149229
یا
149230
کد دریافتی اطلاعات UDP :
149231
149232
من یه برنامه نوشتم که یه سخت افزار رو کنترل میکنه و چون سمت دستگاه رو با پروتکل UDP پیاده سازی کردند مجبورم منم با همین پروتکل پیش برم وگرنه میرفتم سمت TCP
برنامه من به عنوان سرور و کنترل کننده اصلی هستش و ip ثابت اینترنتی داره و بقیه دستگاهها به سمت ip و port ثابت سرور اطلاعات ارسال و دریافت میکنن. البته میدونم که توی پروتکل udp بحث سرور و کلاینت مطرح نیست فقط روال سیستم رو توضیح دادم (تنظیمات Port Forwarding مودم رو هم انجام دادم)
برنامه تو شبکه داخلی (Local) به درستی داره کار میکنه و هیچ مشکلی نداره ولی وقتی میاد تو اینترنت، اطلاعاتی که دستگاهها ارسال میکنن را درست و کامل دریافت میکنم اما اطلاعاتی که من در جواب واسشون ارسال میکنم اصلا ارسال نمیشه و دستگاهها دریافت نمیکنند.
روال ارسال هم به این شکل هستش که دستگاهها روی هر ip و port ی که اطلاعات فرستادند روی همان ip و port بهشون پاسخ داده میشه و سمت دستگاهها Static ip وجود نداره و همگی public ip دارن
اول شک کردم که شاید شرکت ارائه دهنده اینترنت (ISP) پروتکل UDP رو بسته باشه که با پشتیبانی تماس گرفتم گفت هم پروتکل TCP هم UDP باز هستند و مشکلی وجود نداره. تنظیمات مودم رو هم نگاه کردم بخشی در مورد UDP ندیدم
یه نکته جالب که با نرم افزار Wireshark دیدم وقتی برنامه میاد تو شبکه اینترنت Source Port مدام تغییر میکنه ، مثلا من پورت سمت سرور رو تو کد ثابت گذاشتم 3000 یهو میشه 11820
اگه کسی راه حل را میدونه لطفا راهنمایی کنه واقعا گیر کردم
کد ارسال با UDP به دو صورت :
149229
یا
149230
کد دریافتی اطلاعات UDP :
149231
149232