PDA

View Full Version : ارسال یک فایل XML از طریق اینترنت؟



Pouyan2010
چهارشنبه 12 بهمن 1390, 15:43 عصر
سلام به دوستان عزیز
من یه برنامه دارم که می خوام از راه دور کنترلش کنم، این مسئله در شبکه محلی با سوکت و... حله، اما از طریق اینترنت من چطور این کار رو انجام بدم؟ یعنی در واقع چطور یه فایل رو از طریق اینترنت بفرستم و اونا از اون طرف دریافت کنم و بتونم اون برنامه کلاینت را کنترل کنم از طریق اینترنت؟
ممنون اگه راهنمایی کنید
مرسی

Esmail Solhkhah
چهارشنبه 12 بهمن 1390, 16:27 عصر
من یه برنامه دارم که می خوام از راه دور کنترلش کنم، این مسئله در شبکه محلی با سوکت و... حله، اما از طریق اینترنت من چطور این کار رو انجام بدم؟

وب سرویس - FTP - دیتابیس - ...


بتونم اون برنامه کلاینت را کنترل کنم از طریق اینترنت؟

دیتیل ؟

مشکوک میزنی !!! ؟؟؟

Pouyan2010
چهارشنبه 12 بهمن 1390, 16:41 عصر
نه، ببینید یه برنامه به من دادن که مال شهرداریه، اونا دسترسی به یه منطقه دور را ندارند، می خواند اون برنامه رو از این طرف شهر کنترل کنند، مثلا داده ها مثل Teame W دیگه، اما باید این برنامه از طریق اینترنت این کار رو انجام بده، شبکه محلی و .. نیست، باید اون کامپیوتر اون طرف شهر به اینترنت وصل باشه، بعد از اینجا کنترل بشه، من هم می خوام یه فایل رو وری شبکه اینترنت ارسال کنم، آی پی و... اینجا اصلا معنی میده؟

Esmail Solhkhah
چهارشنبه 12 بهمن 1390, 16:48 عصر
ما باید این برنامه از طریق اینترنت این کار رو انجام بده، شبکه محلی و .. نیست

سمت کلاینت و سرور (کنترل شونده و کنترل کننده) هر کدوم یه برنامه باید بنویسید

نکته بعدی اینکه یه واسط میخاید که دو سیستم از طریق اون IP همدیگه رو بگیرن و بعدش هم معمولا سوکت پروگرمینگ

اگه IP هر دو طرف ثابت باشه واسط نیاز ندارید

موفق باشید.

Pouyan2010
چهارشنبه 12 بهمن 1390, 19:04 عصر
خب من مشکلم همین ارسال اطلاعات از طریق اینترنته؟ چطوری امکان داره، مثل همون کلاینت و سروره یا باید با پروتکل های خاص اینترنت کار کنم؟
مرسی ممنون

Esmail Solhkhah
چهارشنبه 12 بهمن 1390, 19:46 عصر
یه وب سرویس مینویسید که کارش اینه:

وقتی کلاینت بهش کانکت شد IP کلاینت رو بگیره ، وقتی سرور بهش کانکت شد IP کلاینت رو بهش پاس بده. با این کار برنامه سرور شما IP فعلی کلاینت رو میگیره

حالا میتونید سوکت پروگرمینگ رو انجام بدید حالا یا TCP یا UDP بستگی به کارتون داره

موفق باشید.

Pouyan2010
چهارشنبه 12 بهمن 1390, 20:01 عصر
برنامه نمونه چیزی ندارید؟ آخه من با وب سرویس اصلا کار نکردم.
مرسی اگه کمک کنید

Esmail Solhkhah
چهارشنبه 12 بهمن 1390, 21:56 عصر
وب سرویس بصورت خیلی ساده : متدهایی مستقل که روی یک وب سرور قرار میگیرن در نتیجه این متدها قابلیت فراخوانی از طریق اینترنت رو دارن مثل COM که یه کد هست که تو یه کامپیوتر توسط

برنامه های مختلف بصورت مشترک استفاده میشه و DCOM که همون COM هست که رو شبکه قابل استفادس

وب سرویس رو مثل کامی در نظر بگیرید که رو اینترنت قابل دسترسی هست

مثلا یه متد معمولا مینویسیم که تاریخ شمسی رو برمیگردونه حالا اگه این متد رو با وب سرویس پیاده کنیم و رو یه سرور آپ کنیم همه میتونن با وصل شدن به این وب سرویس این متد رو استفاده کنن

(البته این زیاد کاربردی نیس)

نمونه واقعی (وب سرویس ارسال و دریافت SMS)


ایجاد وب سرویس :

تو VS نوع پروژه : Asp.net Web Service Application

متدهایی که میخواهید وب سرویس ارائه بده باید بالای متد بنویسید

[WebMethod]

و طبیعتا سطح دسترسیش باید Public باشه

مثل

[WebMethod]
public void ConnectToService()
{
Application["ClientIP"] = HttpContext.Current.Request.UserHostAddress;
}

بعد وب سرویس رو Publish میکنید رو وب سرور

البته اگه جهت تست اجرا کنید خود VS یه وب سرور مجازی داره که بهتون اجازه تست وب سرویس رو میده

و حتی میتونید وب سرویس رو روی IIS لوکال سیستمتون هم پابلیش و استفاده کنید

حالا میمونه برنامه WinAPP ما که به این وب سرویس وصل بشه

Referense - Add Web Reference

بعدش آدرس وب سرویس رو میدید و خود VS کارای لازمه رو انجام میده و یه کلاس از نوع وب سرویس براتون میسازه و شما مثل یه کلاس عادی میتونید ازش استفاده کنید.

برای کار شما بصورت ساده

یه متد void مینویسی که کارش اینه که وقتی متد فراخوانی شد با استفاده از دستور زیر IP فراخواننده رو بگیره

HttpContext.Current.Request.UserHostAddress;

و مثلا تو یه فایل XML یا فایل تکست یا حافظه Application نیگه داره و یه متد دیگه مینویسی که از نوع String هست و با فراخوانیش IP ذخیره شده رو برمیگردونه

نمونه برنامشو براتون نوشتم فقط دقت کنید این بیس قضیه هست باید رو مباحث امنیتی و مدیریتش خودتون کار کنید.

موفق باشید.

Pouyan2010
پنج شنبه 13 بهمن 1390, 07:12 صبح
با تشکر فراوان از مهندس Esmail Solhkhah بخاطر راهنمایی، پس من برم دنبالش. ممنون
موفق باشید