PDA

View Full Version : سوال: ارتباط بین دو برنامه و فرستادن پیام



water_lily_2012
دوشنبه 22 مهر 1392, 11:08 صبح
سلام
می خواهم دو برنامه با هم ارتباط داشته باشند. مثلا از یک برنامه برای دیگری پیامی بفرستم که یک کار انجام شده و یا تو انجام بده.
نمی خواهم از روشی استفاده کنم که مدام چیزی را بررسی کنم که آیا تغییری کرده یا نه. مثلا از یک فایل نه.
همچنین غیر از سوکت پروگرمینگ باشد.

تشکر

plus
دوشنبه 22 مهر 1392, 12:09 عصر
یکی از گزینه ها، NET Remoting. هست که روش ساده ایه و مخصوصا در حالتی که دو تا برنامه شما روی یک کامپیوتر هست مناسبه.
البته گزینه های دیگه ای هم هست، Windows Messages، MS Message Queue، Names Pipes، WCF و ... .

water_lily_2012
دوشنبه 22 مهر 1392, 12:13 عصر
سلام

کدام روش سریعترین هست؟؟؟سرعت خیلی برام مهمه.
wcf را زیاد توصیه کردند آیا کار باهاش راحته؟؟
این روش NET Remoting. که نیاز به تایمر برای اگاهی از رسیدن پیام نداره؟

تشکر

plus
دوشنبه 22 مهر 1392, 12:25 عصر
سریعتر از چه نظر؟ زمان اجرا و یا سریعتر در پیاده سازی؟
اگه منظورتون سریعتر از نظر اجرا هست، Windows Messages فکر میکنم از همه سریعتر باشه ولی خوب خیلی محدود تره.
WCF تکنولوژی نستبا جدید هست، کارهم باهاش سخت نیست ولی برای شرایطی که نیاز ساده هست من NET Remoting. رو ترجیح میدم (WCF روی سیستمی که Service اجرا میشه نیاز به NET 3.0. داره).

water_lily_2012
دوشنبه 22 مهر 1392, 13:19 عصر
بازم سلام
من می خواهم بین چند برنامه ارتباط برقرار کنم که بین انها سرویس نیز هست. همچنین ارتباط در شبکه و اینترنت را هم خواهم داشت. حالا از کدام استفاده کنم.

plus
دوشنبه 22 مهر 1392, 13:25 عصر
اگه Node ها در شبکه و اینترنت باید با هم در ارتباط باشن WCF میتونه گزینه خوبی باشه، البته باید بسته به صورت مساله بیشتر بررسی کنید. NET Remoting. و یا ابزارهای دیگه (غیر از این دو که محصول خود مایکروسافت هستن) هم میتونن همچنان گزینه های خوبی باشن.خلاصه من نمیتونم پاسخ قطعی بدم خودتون بیشتر باید تحقیق کنید اما این دو مورد که گفتم رو مد نظر داشته باشین.

mam_65
دوشنبه 22 مهر 1392, 13:58 عصر
شما اگه میخوای بین همه user ها ارتباط یرقرار کنی و اگه send , receive داشته باش بهترین روش سوکت پروگرمینگ اگه نه میخوای همه user ها اطلاعاتشونو به سرور بفرستن و به sql وصل باشه فقط کافی کانکشن ارتباط ip سرور بدی حالا برنامه شما تو کدام یکی قرار داره بگو تا برات بیشتر توضیح بدم

water_lily_2012
دوشنبه 22 مهر 1392, 14:54 عصر
اگر لطف کنید تفاوت نمونه هایی که در پست اول اشاره فرمودید را ذکر کنید و اینکه هر کدام در کجا به کار می ایند.

water_lily_2012
دوشنبه 22 مهر 1392, 14:56 عصر
برنامه من Service داره User App داره و قرار هست با هم ارتباط داشته باشند.فکر کنم ارتباط این دو با هم فرق میکنه.
می خواهم امکان دریافت اطلاعات از شبکه و اینترنت را نیز داشته باشه.
تشکر

mam_65
دوشنبه 22 مهر 1392, 15:25 عصر
بهترین روش اسفاده از socket programing واست یه مقاله کامل تهیه میکنم میزارم منتظر باش

mam_65
دوشنبه 22 مهر 1392, 15:28 عصر
111858
111859
111860
111861

water_lily_2012
دوشنبه 22 مهر 1392, 15:28 عصر
خب چند تا سوال:
آیا با .net remoting میشه به یک کامپیوتر دیگر در شبکه ی خارج از شبکه ی خودمان متصل بشیم.
چرا از WCF به جای Soket استفاده نکنیم.
ایا Soket در ارتباط بین سرویس و اپلیکیشن مشکلی نداره.

تشکر

mam_65
دوشنبه 22 مهر 1392, 15:35 عصر
من به شخصه تا حالا از work control flow استفاده نکردم دقیقأ نمیدونم بهتر از socket هست یا نه ولی در همین حد بگم تقریبا تمام نرم افزار های بزرگ تو شبکه از socket استفاده میکنن شما اختیار داری من راهنمایی هایی که میتونستم رو کردم .

plus
دوشنبه 22 مهر 1392, 18:27 عصر
خب چند تا سوال:
آیا با .net remoting میشه به یک کامپیوتر دیگر در شبکه ی خارج از شبکه ی خودمان متصل بشیم.
چرا از WCF به جای Soket استفاده نکنیم.
ایا Soket در ارتباط بین سرویس و اپلیکیشن مشکلی نداره.

تشکر

1. بله.
2. در صورتی که شما نیاز خیلی خاصی داشته باشین که روش هایی مثل WCF نیاز شما رو بر آورده نکنه (که در مورد شما بعید میدونم اینطوری باشه)، یا سرعت خیلی بالا بخواین میتونید Socket Programming انجام بدین اما این روش کار خیلی بیشتری میبره و به نظر من فقط توی موضوع های خاص بهینه هست
3.خیر.

water_lily_2012
دوشنبه 22 مهر 1392, 19:28 عصر
یعنی Socket programming سریعتر از بقیه هست؟؟؟
منبعی هم سراغ دارید که اینها را مقایسه کرده باشه.

تشکر

water_lily_2012
دوشنبه 22 مهر 1392, 20:26 عصر
یه سوال
در کدام روش یک Event تشخیص می دهد که اطلاعاتی برای برنامه ارسال شده است. منظورم اینکه نمی خواهم با یک تایمر مدام چک کنم که اطلاعات رسیده یا نه.

مر30

plus
دوشنبه 22 مهر 1392, 20:38 عصر
یعنی Socket programming سریعتر از بقیه هست؟؟؟
منبعی هم سراغ دارید که اینها را مقایسه کرده باشه.

تشکر

ببینید، لازمه ارتباط تحت شبکه Socket Programming هست.WCF، .NET Remoting و هر Library دیگه هم در لایه های پایینتر خودشون Socket استفاده میکنند ولی وقتی شما خودتون مستقیم Socket Programming انجام میدین مستقیما در لایه پایین دارین کار میکنین ازین بابت هست که گفتم سرعت Socket Programming بیشتر هست (البته در صورتی که به درستی پیاده سازی بشه) چون کنترل بیشتری روی داده ای که رد و بدل میشه دارین.
در مورد Event هم...در هیچ کدوم از روش ها شما نیازی به تایمر ندارین.