PDA

View Full Version : سوال: شبکه ای کردن نرم افزار در سی شارپ



com_eng_abasszadeh
چهارشنبه 25 آذر 1388, 21:59 عصر
با عرض سلام به تمامی دوستان برنامه نویس
دارم یه پروژه خیلی بزرگ مینویسم نیاز به همکاری شما دارم
تو شبکه ای کردن این برنامه...چطور میشه یه نرم افزار تحت ویندوز رو شبکه ای کردبه طوریکه مثلا این نرم افزارم قسمت کلاینتش توی یک روستای دیگه هست و من به عنوان سرور توی اداره....کلاینت من وقتی که نیاز به ارسال اطلاعات داشته باشه با پایین ترین سرعت اینترنت بتونه برام اونو ارسال کنه و در پایگاه داده ام ذخیره کنه ممنون میشم کسی کمکم کنه

fjm11100
پنج شنبه 26 آذر 1388, 08:49 صبح
به چندين روش مختلف
1- روشي كه اكثر نرم افزارهاي ادعاي شبكه ايراني دارند اينه كه سرورت ميشه بانك (مثلا SQL Server) بعد كلاينتها با اون كار ميكنند. توي اين روش سرورت نميتونه هيچ نظارتي بر روي كلاينت ها (جز كاراي محدودي كه بانكت اجازه ميده) داشته باشه
2- برنامه نويسي مستقيم سوكت
3- استفاده از روشهاي RPC مثل Remoting در دات نت كه اينجوري بايد سرور و كلاينت هات دات نتي باشند در ضمن اين روش فقط براي شبكه هاي محلي بدردت ميخوره، البته با بدبختي ميشه از Nat، روتر، فايروال و هزار كوفت ديگه ردش كرد ولي كلا پر دردسره! در ضمن توي پلتفرمهاي غير دات نت هم همچين چيزايي هست.
4- استفاده از وب سرويس، كه ميشه گفت بهترين روشه. مواظب باش واژه وب گولت نزنه تو ميتوني كلاينت هات را WinForm هم بنويسي كه بتونه متدهاي وب سرويست را صدا بزنه

com_eng_abasszadeh
پنج شنبه 26 آذر 1388, 12:44 عصر
به چندين روش مختلف
1- روشي كه اكثر نرم افزارهاي ادعاي شبكه ايراني دارند اينه كه سرورت ميشه بانك (مثلا SQL Server) بعد كلاينتها با اون كار ميكنند. توي اين روش سرورت نميتونه هيچ نظارتي بر روي كلاينت ها (جز كاراي محدودي كه بانكت اجازه ميده) داشته باشه
2- برنامه نويسي مستقيم سوكت
3- استفاده از روشهاي RPC مثل Remoting در دات نت كه اينجوري بايد سرور و كلاينت هات دات نتي باشند در ضمن اين روش فقط براي شبكه هاي محلي بدردت ميخوره، البته با بدبختي ميشه از Nat، روتر، فايروال و هزار كوفت ديگه ردش كرد ولي كلا پر دردسره! در ضمن توي پلتفرمهاي غير دات نت هم همچين چيزايي هست.
4- استفاده از وب سرويس، كه ميشه گفت بهترين روشه. مواظب باش واژه وب گولت نزنه تو ميتوني كلاينت هات را WinForm هم بنويسي كه بتونه متدهاي وب سرويست را صدا بزنه
fjmعزیز بخاطر راهنماییت ممنونم.....خب بیشتر توضیح بده برام...نگاه کن من به عنوان یک سرور توی یه یک شهرستان هستم.....و کلاینت هام توی روستا ها....کار خاصی نمیخوام انجام بدم روی کلاینت ها....فقط میخوام که کلاینت ها بعد از تکیمل کردن اطلاعاتشون اونا رو برام سند کنند و توی پایگاهم ذخیره بشه.......مثل نرم افزار انتخابات اگر دیده باشید......یه چیزی شبیه این که اطلاعات ارسالی رو کم حجم کنه و برام بفرسته......طرز کد نویسیشو میخوام بهم یاد بدید....من فقط مشکلم همینه که کد نویسی شبکه رو بلد نیستم که چه جور کار کنم باهاش.ممنون میشم دوست عزیز باز کمکم کنی.

KINGMALEK
چهارشنبه 23 آذر 1390, 15:47 عصر
سلام
منظورتون اینه که یک نرم افزار تحت شبکه اجرا بشه یا توزیع شده باشه؟

linux
چهارشنبه 23 آذر 1390, 17:25 عصر
با عرض سلام به تمامی دوستان برنامه نویس
دارم یه پروژه خیلی بزرگ مینویسم نیاز به همکاری شما دارم
تو شبکه ای کردن این برنامه...چطور میشه یه نرم افزار تحت ویندوز رو شبکه ای کردبه طوریکه مثلا این نرم افزارم قسمت کلاینتش توی یک روستای دیگه هست و من به عنوان سرور توی اداره....کلاینت من وقتی که نیاز به ارسال اطلاعات داشته باشه با پایین ترین سرعت اینترنت بتونه برام اونو ارسال کنه و در پایگاه داده ام ذخیره کنه ممنون میشم کسی کمکم کنه

بهترین راه استفاده از وب سرویس ها هست که باز WCF بهترین گزینه هست.کلا اگر خوب سیستم را طراحی کرده باشید بهترین جواب را خواهید گرفت

ardeshir1365
پنج شنبه 24 آذر 1390, 09:46 صبح
سلام دوستان
من خودم خیلی دنبال کلاینت سروری بودم دیدم مشکله از یه روش دیگه استفاده کردم که به این صورته
شما برنامه ات رو طوری مینویسی که انگار سیستم خودت هم کلاینه و هم سرور فقط به جای اینکه از local برای معرفی بانک استفاده کنی باید از ip سیستمت یا سیستمی که قراره سرور باشه استفاده کن که در این صورت باید بانکت پسورد داشته باشه
حالا شما که شبکه محلی ندارید مجبوری یه ip valid داشته باشی تا برنامه ات مشکلی نداشته باشه
اگه باز سوالی بود بپرس

linux
پنج شنبه 24 آذر 1390, 10:27 صبح
سلام دوستان
من خودم خیلی دنبال کلاینت سروری بودم دیدم مشکله از یه روش دیگه استفاده کردم که به این صورته
شما برنامه ات رو طوری مینویسی که انگار سیستم خودت هم کلاینه و هم سرور فقط به جای اینکه از local برای معرفی بانک استفاده کنی باید از ip سیستمت یا سیستمی که قراره سرور باشه استفاده کن که در این صورت باید بانکت پسورد داشته باشه
حالا شما که شبکه محلی ندارید مجبوری یه ip valid داشته باشی تا برنامه ات مشکلی نداشته باشه
اگه باز سوالی بود بپرس

آهان! پسورد بانک شما هم مستفیم توی اینرنت از این کامپیوتر به آن روتر در حال تردد هست! امنیت صفر!

ardeshir1365
پنج شنبه 24 آذر 1390, 11:50 صبح
آهان! پسورد بانک شما هم مستفیم توی اینرنت از این کامپیوتر به آن روتر در حال تردد هست! امنیت صفر!
خوب میتونه اطلاعاتشو کد بکنه و موقعه ارسال به صورت کد شده ارسال بشه

linux
پنج شنبه 24 آذر 1390, 12:33 عصر
خوب میتونه اطلاعاتشو کد بکنه و موقعه ارسال به صورت کد شده ارسال بشه

نام کاربری و رمز اتصال به sqlserver را نمی توانی کاری کنی. مگر اینکه از ssl استفاده کنید که آنهم دردسر خودش را دارد.

ali reza mansoori 2
پنج شنبه 24 آذر 1390, 13:02 عصر
سلام دوستان
من خودم خیلی دنبال کلاینت سروری بودم دیدم مشکله از یه روش دیگه استفاده کردم که به این صورته
شما برنامه ات رو طوری مینویسی که انگار سیستم خودت هم کلاینه و هم سرور فقط به جای اینکه از local برای معرفی بانک استفاده کنی باید از ip سیستمت یا سیستمی که قراره سرور باشه استفاده کن که در این صورت باید بانکت پسورد داشته باشه
حالا شما که شبکه محلی ندارید مجبوری یه ip valid داشته باشی تا برنامه ات مشکلی نداشته باشه
اگه باز سوالی بود بپرس
دوست عزیز میشه درباره این کار توضیحات کامل بدی
یا اگه نمونه برنامه داری آپ کن تا استفاده کنیم
یا میشه مرجعی برای یاد گیری این مطالب معرفی کنی
خیلی ممنون

ardeshir1365
شنبه 26 آذر 1390, 09:48 صبح
سلام مجدد
فایل رو از اینجا (http://wdl.persiangig.com/pages/download/?dl=http://ardeshir1365.persiangig.com/csharp/customer.rar)دانلود کن .
یه فایل pdf هست اونو نگاه کن توضیحات برنامه توش هست
سولی بود بپرس
اگه به دردت خورد تشکر یادت نره
موفق باشی

sajjadsrz
پنج شنبه 31 فروردین 1391, 16:07 عصر
سلام
مرسی خیلی کمکم کردی همشری عزیز:لبخندساده: