نمایش نتایج 1 تا 5 از 5

نام تاپیک: مشکل ارسال اطلاعات با UDPClient در اینترنت

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

    Question مشکل ارسال اطلاعات با UDPClient در اینترنت

    سلام به همگی

    من یه برنامه نوشتم که یه سخت افزار رو کنترل میکنه و چون سمت دستگاه رو با پروتکل 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 به دو صورت :

    یا

    2.png



    کد دریافتی اطلاعات UDP :

    آخرین ویرایش به وسیله h.ranjbar72 : جمعه 18 آبان 1397 در 03:46 صبح

  2. #2

    نقل قول: مشکل ارسال اطلاعات با UDPClient در اینترنت

    سلام. در صورتی که در شبکه محلی درست کار میکنه برنامه ات مشکلی نداره. در ضمن شما توی وایر شارک فیلتر میکنی ؟

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

    نقل قول: مشکل ارسال اطلاعات با UDPClient در اینترنت

    سلام
    بله توی wireshark پکت های udp رو واسه مشاهده بهتر فیلتر میکنم
    به این نتیجه رسیدم شاید نمیشه روی public ip با udp دیتا رد کرد
    با Tcp قبلا کار کردم و مطمئن هستم که با public ip مشکلی نداره و کار میکنه فقط باید سمت سرور ip ثابت داشته باشه چون کانکشن بین سرور و کلاینت برقرار میشه و از همون کانال ارتباطی اطلاعات بین سرور و کلاینت رد و بدل میشه.

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

    نقل قول: مشکل ارسال اطلاعات با UDPClient در اینترنت

    از یکی از آشنایان که UDP کار کرده بود پرسیدم گفت پروتکل UDP توی اینترنت حتما باید دو طرف Static ip داشته باشن که باز اونم حساب کتابی نداره که دیتا اونور درست دریافت بشه و پیشنهاد داد پروتکل رو عوض کنیم و بریم سمت TCP

    پروتکل سیستم رو از UDP به TCP تغییر دادیم و مشکل کاملا حل شد با Public ip هم مشکلی نداره

  5. #5
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: مشکل ارسال اطلاعات با UDPClient در اینترنت

    نقل قول نوشته شده توسط h.ranjbar72 مشاهده تاپیک
    از یکی از آشنایان که UDP کار کرده بود پرسیدم گفت پروتکل UDP توی اینترنت حتما باید دو طرف Static ip داشته باشن که باز اونم حساب کتابی نداره که دیتا اونور درست دریافت بشه و پیشنهاد داد پروتکل رو عوض کنیم و بریم سمت TCP

    پروتکل سیستم رو از UDP به TCP تغییر دادیم و مشکل کاملا حل شد با Public ip هم مشکلی نداره
    خاصیت کاری پروتکل udp همینه هیچ تضمینی بابت رسیدنش نیست. از این پروتکل معمولا برای موارد کم اهمیت استفاده میشه . چیزی شبیه به انتقال تصویر دسکتاپ(فقط برای مثال)

تاپیک های مشابه

  1. کلاس های TcpClient و TcpListener و UdpClient
    نوشته شده توسط sepehr.net در بخش VB.NET
    پاسخ: 2
    آخرین پست: یک شنبه 17 آذر 1387, 11:31 صبح
  2. سه سوال راجع به UDPClient
    نوشته شده توسط asdfghjkl در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: یک شنبه 01 آبان 1384, 11:40 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •