PDA

View Full Version : سوال: نحوه ارسال و دریافت یک پیغام ساده بین چند سیستم



efarzad
دوشنبه 27 تیر 1390, 10:27 صبح
سلام دوستان، خسته نباشید.

برنامه دارم مینویسم که روی یک شبکه اجرا میشه، اصل برنامه روی سرور هست ولی روی خود سرور اجرا نمیشه.

فقط کلاینت ها به سرور وصل میشن و برنامه رو اجرا میکنن.

میخوام کاری بکنم که این کلاینت ها بدون استفاده از سرور بتونن به هم دیگه پیام های کوتاهی ارسال کنن.

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

با تشکر.

Mani_rf
دوشنبه 27 تیر 1390, 11:29 صبح
بهترین روش همون سوکت هست، خیلی هم راحته اصلا هم به سیستم فشار نمیاره.
کاره دیگه که میتونی بکنی اینه که پیام ها رو موقعی که فرستاده میشن تو دیتابیس ذخیره کنی، بعد با یک مدت زمانی مشخص مثلا 1 دقیقه برنامه چک کنه اگه پیغامی بود نمایش بده.

efarzad
سه شنبه 28 تیر 1390, 13:29 عصر
ممنون از جوابتون
اما بیشتر مواردی که من در سوکت دیدم مرتبط به حالت کلاینت و سرور هست، در حالی که برنامه من از سمت سرور، اما فقط بر روی کلاینتها اجرا میشود و من نمیدونم چه جوری باید یک پیغام رو از یک کلاینت به کلاینت دیگری بفرستم.
نمیخوام از دیتابیس استفاده کنم چون نمیخوام وقت زیادی از سیستم و سی پی یو رو بگیرم تا هر چند وقت یکبار عملیات چک کردن رو انجام بده.

Mani_rf
سه شنبه 28 تیر 1390, 17:10 عصر
نه سوکت کلاینت و سروری نیست. IP مقصد را میگیره و میفرسته ، فقط باید مقصد آماده گرفتن پیام باشه که اون هم چون میاد یک ترد را درون پروسس قرار میده باری را به CPU اضافه نمی کنه. تو MSDN مثال کامل و واضح برای ساختن یک برنامه ساده هست.

BrightStar23
چهارشنبه 28 تیر 1391, 16:54 عصر
سلام
پروژه ی دانشگاهی من ساختن نرم افزار چت به صورتی که 2 کلاینت بتونن با هم چت کنن و برای هم فایل ارسال کنن و من ابتدا هیچ اطلاعاتی در این مورد نداشتم بعد از یک سری سرچ در اینترنت فهمیدم که باید برنامه نویسی socket programming رو یاد بگیرم و یه نرم افزار چت بین کلاینت و سرور رو گرفتم و روش کار کردم البته چون من برنامه نویسی نکردمو فقط یه مقدار C#‎ بلدم خواستم اگه لطف کنین راهنماییم کنین چون واقعا به راهنماییتون احتیاج دارم و تنها نمیتونم کاری کنم.
پروژم به زبان C#‎ باید باشه و یک سرور وجود داشته باشه که پیام کلاینتها رو به هم انتقال بده و کارای دیگرو انجام بده یعنی سرور وظیفه برقراری ارتباط بین کلاینتها رو داره..
بازم ممنون میشم اگه لطف کنین و کمکم کنین.