PDA

View Full Version : winsock و subnet ها



jk
یک شنبه 13 اردیبهشت 1388, 11:45 صبح
در شبکه ای که تمامی کامپیوترها به اینترنت وصل هستند تماما IP ثابتی دارند. اگر بخواهیم توسط Winsock از خارج شبکه با یکی از کامپیوترهای شبکه ارتباط برقرار کنیم به چه شکلی آن کامپیوتر رو پیدا میکنیم؟

Babak.Hassanpour
یک شنبه 13 اردیبهشت 1388, 14:17 عصر
اگه منظورتون توی شبکه Lan است و کامپیوتر ها پشت سرور مخفیند و آی پی ولید ندارند، با روش معمول نمیتونید.باید یه سرور اینترنتی (سایت) داشته باشید.کامپیوتر داخل شبکه ،دستورات مورد نظر رو مثلا از یک فایل روی سرور بخونه.یعنی بجای اینکه مستقیم اطلاعات رو واسش بفرستید ؛اول روی سایت میفرستید.بعد اون کلاینت ، با اینتروالی که واسش تعیین کردید ، دستورات رو از سایت میخونه و اجرا میکنه.

jk
یک شنبه 13 اردیبهشت 1388, 15:37 عصر
یک موردی ذهنمو مشغول نگه داشته.... تصور بکنید یکی از کلاینتهای همین شبکه یاهو مسینجر رو اجرا بکنه ... سرور یاهو مسینجر به چه شکلی با این کامپیوتر ارتباط برقرار میکنه ؟ چه جوری پیداش میکنه .... تو سرور شبکه برنامه ای در این ارتباط اجرا نشده ....

Babak.Hassanpour
یک شنبه 13 اردیبهشت 1388, 15:40 عصر
شما از پروکسی یا همون سرور شبکه و کارش غافل شدی:متعجب:تمام تبادلات شما با خارج از طریق سرور شبکه است.مسیر دهی رو اون و سایر ادوات شبکه به عهده دارند.درخواست شما واسه سرور یاهو ، اول میره به سرور لن (پروکسی - گیت وی) بعد لن اون رو میفرسته به سرور یاهو.جواب رو میگیره میده به شما.

jk
یک شنبه 13 اردیبهشت 1388, 15:44 عصر
من از طریق همین سرور لن می تونم از طریق winsock تبادل اطلاعات با کامپیوترها داخل شبکه داشته باشم.

Babak.Hassanpour
یک شنبه 13 اردیبهشت 1388, 16:02 عصر
از خارج خیر.چون وینسوک آی پی ولید لازم داره.راه حل همونی هست که اول عرض کردم.
البته اگه به سرور دسترسی دارید می تونید پروکسی اختصاصی خودتون رو بنویسید و از طریق اون با کامپیوتر های داخل شبکه ارتباط برقرار کنید که در اصل حکم همون سایت رو واستون داره.یعنی چون آی پی سرور معمولا ولیده ، شما درخواست هاتون رو به برنامه ای که خودتون روی سرور لن گزاشتین میفرستین و اون به کلاینت ها میفرسته.

r0ot$harp
یک شنبه 13 اردیبهشت 1388, 19:30 عصر
دوست عزیز وقتی IP کلاینت رو بدست آوردید کلاینت رو Listen می کنید و از کلاینت های دیگه یا سرور های دیگه می تونید به IP و Port دستگاهی که به صورت Listen در آمده است Connect شوید .



باتشکر احسان

jk
دوشنبه 14 اردیبهشت 1388, 09:18 صبح
یه موردی که متوجه شدم اینکه winsock با IP ولید کار میکنه. درسته... حالا یک مورد دیگه اگر من نخواهم از winsock استفاده بکنم چه جوری می تونم بدون اجرا کردن برنامه بر روی سرور شبکه از بیرون شبکه با یکی از کلاینتهای داخل شبکه تبادل اطلاعات داشته باشد. (مثل یاهو مسینجر. کامپیوترم داخل شبکه است. سرور یاهو مسینجر چه جوری از بیرون شبکه , کلاینت داخل شبکه رو پیدا میکنه)


"دوست عزیز وقتی IP کلاینت رو بدست آوردید کلاینت رو Listen می کنید و از کلاینت های دیگه یا سرور های دیگه می تونید به IP و Port دستگاهی که به صورت Listen در آمده است Connect شوید "

مشکل در همون اولین مورد هستش که نمی تونم IP کلاینت را بیرون از شبکه به دست بیارم.

r0ot$harp
دوشنبه 14 اردیبهشت 1388, 09:55 صبح
در مورد پیدا کردن IP باید عرض کنم شما باید از طریق دستور IPconfig /all این کار را انجام دهید . که در داخل VB باید از طریق ارسال دستورات به CMD و خواندن اطلاعات بازگشتی این کار شدنی هست . اما در این مورد یه کلاس موجود می باشد که IP که الان از طریق اون به اینترنت وصل شده اید رو به شما می دهد .

اگر پیدا کردم براتون در اینجا قرار می دهم .



باتشکر احسان

jk
دوشنبه 14 اردیبهشت 1388, 11:00 صبح
می خواهم یک مثال عینی بزنم.
کامپیوتر بنده داخل شبکه است و ip من 192.168.0.3 هستش و یک ip ولید داریم که می شه گفت ip سرور هستش( 84.216.20.76) . حالا کسی که خارج شبکه هستش به 84.216.20.76 دسترسی داره . حالا چه جوری بدون استفاده از winsock می تونه به 192.168.0.3 دسترسی داشته باشه رو نمی دونم

به عبارت دیگر 192.168.0.3 یه پیغامی به بیرون شبکه می فرسته . اونی که بیرون شبکه هستش ip ولید 84.216.20.76 می گیره . و نمی دونه که پیغام از 192.168.0.3 اومده. حالا چه جوری به 192.168.0.3 باید جواب بده رو موندم