PDA

View Full Version : نحوه نوشتن برنامه ای که با هم در اینترنت تبادل اطلاعات کنند



hassan_kahrizy
جمعه 25 مرداد 1387, 15:49 عصر
بسمه تعالی
با سلام
من می خواهم برنامه ای بنویسم مبتنی بر کلاینت سرور یک برنامه(windows Aplication) دارم که کلاینت است و روی سیستم های مختلف نصب شده و یک برنامه دارم که روی سرورم است برنامه های کلاینت از طریق اینترنت با برنامه سرور ارتباط برقرار می کنند و اطلاعات و یا فایل رد و بدل می کنند
من باید برای پیاده سازی این کار از چه معماری و ابزرا هایی استفاده کنم
با تشکر

hassan_kahrizy
شنبه 26 مرداد 1387, 10:13 صبح
بسمه تعالی
با سلام
ببخشید کسی در این باره اطلاعاتی نداره
باتشکر

مهرداد تاجدینی
یک شنبه 27 مرداد 1387, 11:42 صبح
خوب سوال شما خیلی کلیه, بستگی داره بخواهید چه کاری انجام بدید. منظورتون از معماری چییه؟ .Net Framework کلاس های خیلی خوبی داره که برنامه نویسی شبکه رو خیلی راحت کرده. لطفا یه کم بیشتر توضیح بدید.

hassan_kahrizy
یک شنبه 27 مرداد 1387, 23:09 عصر
بسمه تعالی
با سلام
من یک برنامه دارم که روی سیستم های کلاین نصب می شه می خواه بشه از طریق اینترنت این نرم افزار من آپدیت بشه(مثل آنتی ویروس) باید چه مبحثی از سی شارپ رو مطالعه کنم

siavashr
دوشنبه 28 مرداد 1387, 03:04 صبح
با دورود
دوست عزیز میتونید وقتی که کلاینتی به سرور وصل میشه اول یک شماره ورژن رو به سرور بفرسته و به این ترتیب سرور شما میتونه تشخیص بده که آیا کلاینتی که وصل شده داره از آخرین ورژن استفاده میکنه یا ورژن کلاینت پائین تر از ورژن فعلی سرور هست در صورتی که ورژنها مشابه نبودند میتونید دیتاهای مورد نیاز رو برای کلاینت بفرستید. و در آخر هم شماره ورژن جدید رو برای کلاینت بفرستید تا در تماس بعدی به عنوان کلاینتی با ورژن مطابق به سرور معرفی شود.
البته این توضیح بر اساس توضیحات شما است اگر اشتباه متوجه شدم خوشجال میشم که اطلاعات بیشتری در مورد پروژه خودتون بگید تا شاید بتونم کمکی کنم.
موفق باشید
سیاوش

hassan_kahrizy
دوشنبه 28 مرداد 1387, 12:43 عصر
بسمه تعالی
با سلام و تشکر از زحمتی که کشیدید
چند تا سوال دیگه دارم:
1- من برای نوشت چنین برنامه ای رنامه سرورم می تواند windows application باشد؟
2- می شه و روی این هاست ها نصب کنم یا باید خودم سرور داشته باشم
3- نحو دسترسی به این برنامه سرور توسط کلاین چطوری خواهد بود؟
4- برای نوشتن این برنامه نیاز به خواند چه قسمت هایی از دات نت دارم
با تشکر

siavashr
دوشنبه 28 مرداد 1387, 23:07 عصر
با دورود
دوست عزیز راستش املای مطلب قبلیتون خیلی قاطی بود اما من سوالهایی رو که فهمیدم رو تا حد امکان جواب میدم.
1- بله برنامه شما میتواند windows application باشد . من در حال حاضر در حال کار بروی سروری تقریبا مانند پروژه شما هستم و سرور من هم windows application است .
2- متوجه نشدم منظورتون کدوم نوع هاست است اما شما احتیاج به کامپیوتری به عنوان سرور دارید که به شما امکان استفاده از محیط ویندوز را بدهد تا بتوانید برنامه سرور خود را بر روی آن اجرا کنید . من برای سرور از یک کامپیوتر پنتیوم 3 با 1 گیگا بایت رم استفاده میکنم که بطور 24 ساعته با ایپی ثابت با سرعت حداقل 4 مگا بایت به اینترنت وصل است . ( البته پنتیوم 3 برای مراحل تست است و در آینده قصد دارم از سیستمهای قویتری استفاده کتم اما برای تست گرفتن و در حد 10000 کلاینت همین سیستم نیز کفایت میکند و در زمینه سرعت هم باید بگم بستگی مستقیم به مقدار اطلاعاتی دارد که کلاینتهای شما در هر لحظه به سرور ارسال میکنند)
3- متوجه نشدم منظورتون از این سوال چیست لطفا بیشتر توضیح دهید .
4- شما برای کار با network در دات نت احتیاج به دانستن socket programming دارید که البته مبحث پیچیده ای نیست و ظرف 1 هفته میتوانید تمام آن را مطالعه کنید .

امیدوارم که تونسته باشم کمکی کرده باشم .
باز هم اگر سوالی بود خوشحال میشم در صورتی که بتونم کمک کنم .

موفق باشید
سیاوش

مهرداد تاجدینی
سه شنبه 29 مرداد 1387, 01:30 صبح
دوست عزیز در مورد سوال 3 , شما باید با اصول برنامه نویسی Socet آشنا بشید ولی اگر بخوام مختصر توضیح بدم طرز کارشون اینجوریه که شما باید یه برنامه برای نصب روی سرور بسازید و یه برنامه دیگه برای نسب روی کلاینت ها.
برنامه ای که روی سرور نصب می شه روی یکی از پورت های کامپیوتر(که شماره اون رو شما تعیین می کنید) شروع می کنه به گوش کردن(منتظر دریافت اطلاعات از کلاینت ها می شه) و وقتی یکی از کلاینت ها اطلاعاتی رو برای سرور بفرسته , سیستم عامل سرور این اطلاعات رو به برنامه شما میده(برنامه سمت سرور). نیازی نیست که این وسط شما درگیر جزییات کار بشید. وقتی داده ای میرسه اتوماتیک رویدادهای مربوطه صدا زده می شه و اطلاعات به برنامه شما تحویل داده می شه.
ضمنا حتما میدونید که برنامه ها برای اینکه چیزی برای هم بفرستن نیاز به دونستن آدرس IP هم دارند.
من توصیه می کنم یه کم هم در مورد شبکه مطالعه کنید. به بهتر انجام دادن کارتون کمک میکنه.
موفق باشید.

Zaparo
سه شنبه 29 مرداد 1387, 02:22 صبح
1/ برای Update خوده دات نت در خدمته
2/ برای انتقال اطلاعات شما راههای زیادی داری بسته به نیازت از اونها باید استفاده کنی شما میتونی یه سرویس رو روی سرور اجرا کنی که به کلاینتها خدمات میده اینجوری شما در گیر خیلی مسائل نمیشی یا از Remoting استفاده کنی و یا Socket Programming حالا ببین کدومش بدردت میخوره