PDA

View Full Version : ارتباط دو برنامه



Ner'zhul Arthas
دوشنبه 25 دی 1385, 01:55 صبح
میخوام دو برنامه بنویسم که به هم دیگه پیام رد و بدل کنن.

چی کار باید کنم؟

ali_kolahdoozan
دوشنبه 25 دی 1385, 09:03 صبح
میشه بیشتر توضیح بدی . هر دو برنامه رو شما نوشتی ؟‌ یکیش رو شما نوشتی ؟‌ لطفا توضیح بدید

mah.yar
دوشنبه 25 دی 1385, 09:06 صبح
منم دنبال همچین چیزی میگردم. چند وقت پیش از یکی از استادام این سوال رو پرسیده بودم اون فقط گفت که باید کار با پورت و سوکت پروگرمینگ Socket Programming رو یاد بگیری.
اگه کسی چیزی میدونه به ما هم بگه

Ner'zhul Arthas
دوشنبه 25 دی 1385, 15:25 عصر
هر دو برنامه رو من نوشتم.
هر دو هم تو یه کامپیوتر قراره با هم ارتباط داشته باشن، نه این که از یه کامپیوتر به یه کامپیوتر دیگه.

ali_kolahdoozan
دوشنبه 25 دی 1385, 15:34 عصر
خب چه نوع ارتباطی نیاز داری مثلا با ریختن مقدار درون regisry و خواندن هر 2 برنامه از آن کارت راه نمی افته؟

Ner'zhul Arthas
دوشنبه 25 دی 1385, 15:55 عصر
به نظرم اون طوری خوب نیست.
چون هی باید چک کنه که مقدار رجیستری عوض شده یا نه.

راهی نداره که مستقیم به هم ارسال کنن؟

mah.yar
دوشنبه 25 دی 1385, 17:23 عصر
من یه فایل برات گذاشتم که امیدوارم بهت کمک کنه.
این یه برنامه چت ساده است که از اینترنت گرفتم که از کدهاش سر در نیاوردم.
توی این برنامه دو تا فایل Client و Server وجود داره که که همزمان باید دو تا فایل یا همون برنامه باز بوده تا با هم بتونن چت کنید(اطلاعات متنی را ارسال کنید).
همونطور که گفتم چون خودم این برنامه رو ننوشتم نمیتونم کمک بیشتری بهت بکنم.

meh_secure
سه شنبه 26 دی 1385, 00:06 صبح
راه استانداردش استفاده از XML هست. برنامه مبدا اطلاعات رو در یک فایل XML ذخیره می کنه. برنامه مقصد هم فایل XML رو می خونه و ترجمه اش می کنه.

Ner'zhul Arthas
سه شنبه 26 دی 1385, 00:33 صبح
ممنون mah.yar

مثل این که نویسندش BlackDal هست. اگر بیاد یه توضیحی بده خیلی خوب میشه.

meh_secure جان ، اونوقت نیاز نیست که هی چک کنه ببینه مقدارش عوض شده یا نه؟
برنامه ای که mah.yar گذاشت هم که بدون XML این کار رو انجام میداد.

meh_secure
سه شنبه 26 دی 1385, 15:50 عصر
meh_secure جان ، اونوقت نیاز نیست که هی چک کنه ببینه مقدارش عوض شده یا نه؟
برنامه ای که mah.yar گذاشت هم که بدون XML این کار رو انجام میداد.
اصولا با XML خیلی کارها میشه انجام داد. به عنوان مثال می توانید برای داده مورد نظر یک پراپرتی تعیین کنید که مثلا این داده از نظر اهمیت در چه درجه ای می باشد. یا اینکه کدام یوزر ها می توانند به آنها دسترسی داشته باشند و ... . XML خیلی گسترده است. خیلی هم کار رو راحت و حرفه ای می کنه.:لبخندساده:

حامد مصافی
سه شنبه 26 دی 1385, 17:37 عصر
سلام
XML در برنامه هایی استفاده میشه که اطلاعات منتقل شده دارای حجم زیاد و ساختار خاص اطلاعاتی باشند.مثل SQL Server که اطلاعات مربوط به یک جدول رو در فرمت XML میفرسته و می خونه. اگر شما از توافق SOAP استفاده کنید باز هم همین موضوع پیش خواهد آمد.

و اما در مورد برنامه من....
این برنامه برای دریافت و ارسال اطلاعا از سوکت ها استفاده می کنه. اگر نگاهی به روتین اصلی برنامه های Client و Server بیندازید (که تا حدی هم شبیه هم هستند) متوجه می شوید که برای دریافت و ازسال اطلاعات من از BinaryReader و BinaryWriter استفاده کردم. این دو عنصر وظیفه نوشتن و خواندن روی استریم ایجاد شده رو دارند که خود این استریم هم روی پورت 5000 (که یک پورت آزاد هست) استفاده می کنه.
ضمناً این برنامه نسخه مقدماتی یک برنامه چت بود که بعداً کاملش کردم. و گمان می کنم بتونم تمام برنامه رو در چند خط توضیح بدم. پس اگه دوستان در مورد خاصی از این برنامه به مشکل برخوردند چند خط مورد نظرشونو قید کنند تا من توضیح بدم
با تشکر

Ner'zhul Arthas
سه شنبه 26 دی 1385, 23:26 عصر
حالا اگر بخوایم با برنامه ای که خودمون ننوشتیم ارتباط داشته باشیم باید چیکار کنیم؟

اگر باید بگم چه برنامه ای بگید بگم.

حامد مصافی
چهارشنبه 27 دی 1385, 11:10 صبح
خب شاید منظورتون استفاده از سوکت یا دیاگرام برای ارتباط با برنامه های پیامرسان (امثال یاهو و ...) است.
در این حالت باید به عرض برسونم که شما باید در درجه اول با سرور و در درجه دوم با توافق آن (فرمت ارسال و دریافت اطلاعات) آشنا باشید.
اما اگر منظورتون نرم افزار دیگه ای است، لطفاً نام نرم افزار رو ذکر کنید

Ner'zhul Arthas
چهارشنبه 27 دی 1385, 15:55 عصر
نه شاید با سوکت هم اصلا نشه.

این برنامه که میخوام باهاش ارتباط داشته باشم یه چس انجینه (Chess Engine) به نام Arasan 9.5

میتونید از این لینک دانلودش کنید:

http://www.arasanchess.org/arasan95.zip

خود برنامه ی شطرنجی که باهاش ارتباط برقرار میکنه رو هم میتونید از این لینک دانلود کنید:

http://www.arasanchess.org/arasan95.exe

سورس برنامه ی شطرنجش رو هم که فکر کنم با ++C میتونید از این لینک دانلود کنید:

http://www.arasanchess.org/arasan_source.zip

اگر چس انجینش که اسمش Arasanx.exe هست رو از طریق ویندوز باز کنید یه پنجره باز میشه که میتونید توش تایپ کنید.
و اگر توش بنویسید Help و اینتر رو بزنید دستوراتی که قبول میکنه رو بهتون نشون میده.
و اگر حرکت شطرنج بنویسید مثلا: e2e4 محاسبه میکنه و مثلا g8f6 رو برمیگردونه.

حامد مصافی
جمعه 29 دی 1385, 12:19 عصر
سلام
این برنامه هم همونطوری که اشاره کردم نیاز به این داره که شما از توافق های سرور اطلاعا داشته باشید.
من در حال حاضر نمی تونم این برنامه رو دانلود کنم و جزئیات رو ببینم.
انشا الله به محض اینکه تونستم تست می کنم و نتیجه رو بهتون می گم.!

fatrix
یک شنبه 23 تیر 1387, 09:45 صبح
راهش استفاده از امکان IPc سیستم عامله(interproccess communication) یه سری Api ها واسه این کار وجود داره که با استفاده از اونها می تونی بین پراسس های مختلف ارتباط برقرار کنی .