View Full Version : سوال: مشکل ارتباط در برنامه کلاینت و سرور
gbg
چهارشنبه 06 مرداد 1389, 01:43 صبح
سلام
یه برنامه کلاینت و سرور کوچیک نوشتم ولی مشکل اینجاست که وقتی برنامه سرور به روی کامپیوتری که به اینترنت وصل هست و IP ثابت نداره اجرا میشه ارتباط برقرار نمیشه پورت به روی فایر وال باز هستش و کلاینت هم برای اتصال از IPی استفاده میکنه که ISP به سرور در اینترنت اختصاص داده
تا حالا شما چنین مشکلی داشتین؟ چطور رفع کردینش؟
مهران رسا
چهارشنبه 06 مرداد 1389, 10:11 صبح
سلام
یه برنامه کلاینت و سرور کوچیک نوشتم ولی مشکل اینجاست که وقتی برنامه سرور به روی کامپیوتری که به اینترنت وصل هست و IP ثابت نداره اجرا میشه ارتباط برقرار نمیشه پورت به روی فایر وال باز هستش و کلاینت هم برای اتصال از IPی استفاده میکنه که ISP به سرور در اینترنت اختصاص داده
تا حالا شما چنین مشکلی داشتین؟ چطور رفع کردینش؟
وقتی بین کلاینت و سرور اولین ارتباط برقرار شد . دیگه نیازی نیست برای ارسال پیغام ارتباطی جدید برقرار بشه . از همون پل ارتباطی ایجاد شده برای ارسال پیغام های سرور به کلاینت استفاده کنید .
gbg
چهارشنبه 06 مرداد 1389, 11:03 صبح
مشکل همون ارتباط اولیه هستش
البته گفتن کلاینت سرور اشتباه بیشتر میشه گفت ارتباط Peer to Peer هستش.
مهران رسا
چهارشنبه 06 مرداد 1389, 12:11 عصر
مشکل همون ارتباط اولیه هستش
ارتباط اولیه با اتصال کلاینت به سرور برقرار میشه . که در اینجا سرور باید دارای یک آی پی Valid باشه .
gbg
چهارشنبه 06 مرداد 1389, 22:34 عصر
حالا من می خوام IP ولید نباشه
مثل خیلی نرم افزار های Peer to Peer
خب کمی بیشتر توضیح بدم شاید کسی کمک کرد
این برنامه روی کامپیوتریه که IP یش NAT میشه من هم برای ارتباط از همین IP یی که NAT شده برای کانکت استفاده کردم هر کلاینت به سرور وصل میشه و IP بقیه کلاینت ها رو میگیره و باید بتونه به صورت نظیر به نظیر این کلاینت ها به هم وصل بشن یه چیزی مثل کازا یا نپستر منظورمه
gbg
پنج شنبه 07 مرداد 1389, 19:29 عصر
چه مشکل ساده و پیچیده ای :متفکر:
این چند روز خیلی سرچ کردم خیلی مطالب دیدم که همه این مشکل رو داشتن ولی راه حل ها به نتیجه نرسیده بود تو یه سایتی نوشته بود پورت رو بیشتر از 6000 انتخاب کنین اول خندم گرفت ولی بالاخره اون رو هم امتحان کردم ولی باز مشکل رفع نشد.
می خوام بدونم برنامه هایی مثل کازار ، نپستر یا حتی همین ساب سون چطوری می تونن ارتباط برقرار کنن ولی من با Indy نتونستم
arsisman2006
پنج شنبه 07 مرداد 1389, 20:06 عصر
اگه از ADSL استفاده ميكني پورت رو باز كن
ولي براي همكاري بيشتر ؛ يك بار ديگه صورت مسئله رو كامل توضيح بده و بگو ميخواي چي كار كني ، شايد بتونم كمكت كنم
مهران رسا
پنج شنبه 07 مرداد 1389, 21:48 عصر
می خوام بدونم برنامه هایی مثل کازار ، نپستر یا حتی همین ساب سون چطوری می تونن ارتباط برقرار کنن ولی من با Indy نتونستم
بعید میدونم این برنامه هاییی که گفتید Peer-to-Peer باشن . احتمالاً یک سرور این وسط مدیریت ارتباطات رو بر عهده میگیره .
gbg
پنج شنبه 07 مرداد 1389, 22:55 عصر
اگه از ADSL استفاده ميكني پورت رو باز كن
ولي براي همكاري بيشتر ؛ يك بار ديگه صورت مسئله رو كامل توضيح بده و بگو ميخواي چي كار كني ، شايد بتونم كمكت كنم
خب فکر نکنم ربطی به پورد ADSL داشته باشه
مشکل اینجاست وقی که با NAT به اینترنت دسترسی پیدا می کنی IP کامپیوترت عوض میشه و مثلا IP قبل از سرور نت x1.x2.x3.x4 هستش و سرور NAT این IP رو به یه IP ولید مثل Y1.Y2.Y3.Y4 تبدیل میکنه تا شخص بتونه از اینترنت استفاده کنه حالا من یه برنامه به عنوان سرور روی این کامپیوتر دارم و میخوام بهش وصل بشم روی پرت خاصی مثلا 8080 برای اتصال از x1.x2.x3.x4 نمیشه استفاده کرد چون ولید نیست و یه IP داخل شبکه محلی هستش و باید از Y1.Y2.Y3.Y4 استفاده کرد که از طرف سرور NAT تخصیص داده شده و در اصل ip همون سرور هستش.
وقتی از Y1.Y2.Y3.Y4 برای اتصال استفاده می کنم نمی تونم به کامپیوتر وصل بشم ولی اگه کلاینت رو هم روی همون کامپیوتر اجرا کنم و بخوام به Y1.Y2.Y3.Y4 متصل شم وصل میشه
فایروال هم پیش فرض ویندوز 7 بود که خاموش کرده بودم
gbg
پنج شنبه 07 مرداد 1389, 22:58 عصر
بعید میدونم این برنامه هاییی که گفتید Peer-to-Peer باشن . احتمالاً یک سرور این وسط مدیریت ارتباطات رو بر عهده میگیره .
به هر حال من نمی خوام این وسط یه سرور راه بندازم من میخوام مستیم به اون کامپیوتر وصل شم
vcldeveloper
پنج شنبه 07 مرداد 1389, 23:52 عصر
می خوام بدونم برنامه هایی مثل کازار ، نپستر یا حتی همین ساب سون چطوری می تونن ارتباط برقرار کنن ولی من با Indy نتونستم
اتصال به یک سیستم پشت NAT همیشه دردسر داره؛ این برای همه برنامه ها هست. راه حلش تنظیم روتر مربوطه هست. این تنظیم یا باید مستقیما توسط کاربر در روتر اعمال بشه، مثلا یک Virtual Server روی روتر تعریف بشه که ترافیک روی یک پورت خاص رو به یک IP حقیقی در داخل LAN مپ کنه. یا اینکه خودِ برنامه این تنظیم را در زمان نیاز روی روتر اعمال کنه، که برای همچین حالتی یک پروتکل با نام PnP وجود داره، و البته روتر مربوطه هم باید همچین قابلیتی داشته باشه.
البته اگر برنامه شما خودش برای اتصال درخواست داده باشه، یعنی از طریق یک پورت خاص به یک سروری متصل شده باشه، NAT مانع از رسیدن بسته های جواب نمیشه. NAT موقعی مانع میشه که یک کامپیوتری در خارج از شبکه LAN مورد حفاظت، بسته ایی را برای یک کامپیوتر موجود در شبکه ارسال کنه. در واقع اگر بسته های شما از طرف یک کامپیوتر در شبکه کارت دعوت داشته باشند، NAT جلوشون رو نمگیره، ولی اگر بخوان بدون کارت دعوت وارد شبکه بشند، بلوکه میشند.
gbg
جمعه 08 مرداد 1389, 01:39 صبح
در واقع اگر بسته های شما از طرف یک کامپیوتر در شبکه کارت دعوت داشته باشند، NAT جلوشون رو نمگیره، ولی اگر بخوان بدون کارت دعوت وارد شبکه بشند، بلوکه میشند.
مشکل من هم همین هستش کامپیوتری که پشت NAT هستش پورتی رو باز کرده و منتظر برقراری ارتباط مونده ولی ارتباط برقرار نمیشه من فکر می کنم وقتی پورت خاصی رو باز باشه درخواست به IP ولید به ip این کامپیوتر ارجاع داده میشه (PNAT) ولی ظاهرا که کار نمی کنه
در مورد PnP هم زیاد اطلاعی ندارم ولی ترجیح میدم برنامه خودش تنظیمات رو ست کنه
gbg
یک شنبه 10 مرداد 1389, 16:40 عصر
من جستجو کردم ولی چیز زیادی در مورد pnp یا کانفیگ روتر توسط برنامه چیزی پیدا نکردم
arsisman2006
یک شنبه 10 مرداد 1389, 17:48 عصر
براي تنظيم روتر ، وارد وب روتر بايد بشي
همه روترها webbase هستن
مثلا : http://192.168.1.1
در قسمت nat نياز به تنظيم داري
1) در قسمت DMZ اي پي كامپيوتر را وارد كن
اگه برنامه جواب نداد اي پي پاك كن
2) در ويرچوال سرور ، اي پي وارد كن و پورتي كه ارتباط برقرار ميشه رو وارد كن
3) ور پورت تريگر ، پورت ارتباط را مجددا وارد كن
حالت 2و 3 بايد با هم انجام بشه
اميدوارم مشكلت حل بشه
موفق باشي
gbg
یک شنبه 10 مرداد 1389, 19:40 عصر
متاسفانه روتر مربوطه که عمل nat رو انجام میده تو خود ISP هستش که خدمات اینترنت پر سرعت میده و دسترسی بهش نیست
فکر کنم تنها راه اضافه کردن بهنای باند سرور و انتقال ترافیک از طریق سرور باقی مونده که اونم داستان خودش رو داره
مثلا 1000 نفر بخوان هم زمان فایل جابجا کنن چه اتفاقی برای سرور میوفته
arsisman2006
یک شنبه 10 مرداد 1389, 19:49 عصر
بايد حتما ADSL داشته باشي تا در قسمت wan بتوني تنظيمات انجام بدي. بدون adsl و Static IP نميشه
براي انتقال فايلهاي مختلف توسط كاربران متفاوت الگوريتمهاي متفاوتي است
كه در حال حاضر بهترين سايت ايراني كه با rapidshare رقابت ميكنه parsaspace.com است كه بنظر من بهترين الگوريتم داره
gbg
دوشنبه 11 مرداد 1389, 08:44 صبح
والا من نمی دونم که من معنی Peer to Peer رو نمی دونم یا تعریفش طی این چند سال عوض شده؟
آخه راپیدشیر مگه پیر تو پیره؟
پیر تو پیر یه چیز مثل کازاست، بیت تورنت، ایموله،... سایت که پیر تو پیر نبود زمان ما!
arsisman2006
دوشنبه 11 مرداد 1389, 15:53 عصر
منظور از بيان نام سايت ، تفهيم رفتارهاي سرور و الگوريتمها در انتقال اطلاعات هم زمان بود نه تغيير تعريف peer to peer.
همين و بس
والسلام
gbg
پنج شنبه 14 مرداد 1389, 12:00 عصر
بايد حتما ADSL داشته باشي تا در قسمت wan بتوني تنظيمات انجام بدي. بدون adsl و Static IP نميشه
براي انتقال فايلهاي مختلف توسط كاربران متفاوت الگوريتمهاي متفاوتي است
كه در حال حاضر بهترين سايت ايراني كه با rapidshare رقابت ميكنه parsaspace.com است كه بنظر من بهترين الگوريتم داره
منظور از بيان نام سايت ، تفهيم رفتارهاي سرور و الگوريتمها در انتقال اطلاعات هم زمان بود نه تغيير تعريف peer to peer.
همين و بس
والسلام
الان رفتارهاي سرور و الگوريتمها در انتقال اطلاعات هم زمان تفهیم شد :قهقهه:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.