مشکل با کد جاوا

the_king

مدیرکل انجمن
خسته نباشین

یک سورس سوکت نویسی جاوا دارم که سورس سرور با لوکال هاست ۱۲۷٫۰٫۰٫۱ درست جواب میده ولی وقتی ایپی اینترنتیم یا دی ان اس خودم رو وارد میکنم ارور میده چه طوری باید درستش کنم

سورس مربوط به سرور
Transfer a file via Socket - Real's Java How-to
و کد خودم
http://s9.picofile.com/file/8302363642/toxabsc9ej0tdzqwni7y.png
سوال تون سوال برنامه نویسی نیست، کدتون ایرادی نداره. روی یک شبکه داخلی با ip هایی مثل 192.168.1.10 مشکلی نیست ولی وقتی ارتباط میره روی اینترنت دیگه قضیه فرق می کنه.
مساله اینه، سرویس دهنده اینترنتی شما به مودم روتر شما یک IP اختصاص داده، مثلا 2.182.53.118 همون روتر مودم هم به کارت شبکه با سیم یا بی سیم کامپیوتر شما هم یک IP محلی تخصیص داده، مثلا 192.168.1.101
این IP که شما در اینترنت دارید اون چیزی نیست که شما فکر می کنید، با اون IP سرویس دهنده ارتباط رو تا روتر شما میرسونه، ولی روتر دلیلی نمیبینه که پیام رو به کامپیوتر شما که جزئی از شبکه داخلی ئه ارسال کنه. روتر نمیدونه که وقتی درخواستی روی پورت فلان بهش رسید منظور نهایی کامپیوتر شما است. اون خودش رو مقصد نهایی میدونه و از پیام روی اون پورت هم چیزی سر در نمیاره و نادیده اش میگیره.
شما باید Port Forwarding بکنید، یعنی به روتر تون بگید که درخواست هایی که روی پورت فلان بهت ارسال میشه رو Forward کن و بفرست به این کامپیوتر.
مربوط به کد نویسی و این انجمن هم نیست، جزو مباحث شبکه است و تنظیمات روتر. باید در تنظیمات مودم تون بخشی مثل Advanced Setup و داخلش Port Forwarding یا NAT و داخلش Virtual Server رو پیدا کنید و با تنظیم جدید بگید که روتر عزیز اگه پیامی بهت اومد که درخواست مربوط به Application فلان و روی پورت بهمان باشه، پیام مستقیما Forward بشه به فلان کامپیوتر محلی روی شبکه که IP محلی اش مثل 192.168.1.101 رو میدهید.
 
خیلی ممنون مهندس حوصله کردین .ببینین من 5 ساله پورت فورواردینگ میکنم روی مودم چون لازمم هست از راه دور سیستمم رو کنترل کنم برای همین با پورت فورواردینگ مشکلی ندارم برای فایروالم ست کردم و با سایتهای انلاین و بعضی برنامها هم که با پورت کار میکنن تست میکنم و مشکل پورت وجود نداره .در مورد ایپی هم از دی ان اس استفاده میکنم از چند تا سایت مثل no-ip.com که با استفاده از نرم افزار duc میشه مشکلی که گفتین رو حل کرد پس با این هم مشکلی ندارم.ولی به نظرم مشکل از کده تو کل سایتها و یوتوب فقط با لوکال هاست تست شده که به هیچ دردی نمیخوره.لطفا یه کم بیشتر حوصله کنین تا این مشکلم حل بشه به نظرم فقط یه خط کد باید باشه .اینم سورس کد


Transfer a file via Socket - Real's Java How-to
 

پیوست ها

  • Untitled.png
    Untitled.png
    267.2 کیلوبایت · بازدیدها: 2
آخرین ویرایش:

the_king

مدیرکل انجمن
خیلی ممنون مهندس حوصله کردین .ببینین من 5 ساله پورت فورواردینگ میکنم روی مودم چون لازمم هست از راه دور سیستمم رو کنترل کنم برای همین با پورت فورواردینگ مشکلی ندارم برای فایروالم ست کردم و با سایتهای انلاین و بعضی برنامها هم که با پورت کار میکنن تست میکنم و مشکل پورت وجود نداره .در مورد ایپی هم از دی ان اس استفاده میکنم از چند تا سایت مثل no-ip.com که با استفاده از نرم افزار duc میشه مشکلی که گفتین رو حل کرد پس با این هم مشکلی ندارم.ولی به نظرم مشکل از کده تو کل سایتها و یوتوب فقط با لوکال هاست تست شده که به هیچ دردی نمیخوره.لطفا یه کم بیشتر حوصله کنین تا این مشکلم حل بشه به نظرم فقط یه خط کد باید باشه .اینم سورس کد


Transfer a file via Socket - Real's Java How-to
چیزی در کد برای بررسی وجود نداره. InetAddress.getByName با هر آدرس ip یا domain ای که سرور پیشفرض dns بدون مشکل ip اش رو مشخص کنه کار می کنه.
مشکل از کد نیست، موارد دیگه رو بررسی کنید. فرضا این arash35 که ظاهرا وجود نداره، روی 213.212.216.55 هم پورت 4444 ای باز نیست.
در این تصویر کد چیزی وجود نداره که کسی بخواد بررسی کنه. این خطای دسترسی به پورت مشخصی روی یک هاست ئه، یک ایراد در ارتباطه، خطای کد نویسی نیست.
 
arash35.... رو به عنوان مثال وارد کردم .دوباره تلاش میکنم ببینم مشکل از کجاست پورت رو هم چک کردم درسته و وقتی سرویسی پشتش هست برای استفاده به خوبی جواب میده.بازم ممنون
 

جدیدترین ارسال ها

بالا