PDA

View Full Version : مبتدی: مشکل با پروتکل TCP/IP در C# Windows Forms Application



haghshenasmahdi
دوشنبه 29 مهر 1398, 09:16 صبح
با سلام و احترام
دوستان در برنامه های من کلاینت ها به درستی به سرور متصل میشوند و کار میکنند . اما زمانی که در سیستم کلاینت ، فرم(نرم افزار نوشته شده) بسته میشود و یا کلاینت سیستم را خاموش میکند . در سرور cpu کامپیوتر 30 درصد یهویی درگیر میشه و تعداد کلاینت های قطع شده که بیشتر میشه درصد CPU استفاده شده در سرور بالاتر میره و باعث کند شدن سرور میشه . لطفا راهنمایی کنید . سپاسگزارم
C# Windows Forms Application

رامین مرادی
دوشنبه 29 مهر 1398, 10:12 صبح
هنگام بستن فرم کلاینت در صورتی که کانکشنتون باز هست اونو ببندید.

haghshenasmahdi
دوشنبه 29 مهر 1398, 11:22 صبح
آقای مرادی ممنونم از اینکه وقت گذاشتین . من میبندم . اما باز هم این مشکل وجود داره . اگه ممکنه کدشو واسم بفرستین . شاید با کد شما نتیجه گرفتم سپاس فراوارن

رامین مرادی
دوشنبه 29 مهر 1398, 12:57 عصر
کاری نداره تو رویداد کلوزینگ فرم برنامه کلاینتت اینو مینویسی
tcpClient.Close();

البته tcpClient رو عوض کن و اسم کلاس خودتو بزار.

jamal_ch
دوشنبه 29 مهر 1398, 13:35 عصر
سلام
سوالتون ناقص هست
ولی حدسی که من میزنم اینه که شما از سرور یک درخواست به سمت کلاینت میفرستید وچون پاسخی دریافت نمیکنید برنامه سرور پشت سر هم این درخواست رو تکرار میکند و باعث درگیر شدن cpu میشود

وقتی برنامه بسته میشه به طریقی به برنامه سرور بفهمونید که قطع شده ساده ترین راهشم این هست که یک جدول کلاین های متصل و ضعیت شون ذخیره بشه و برنامه سرور بر اساس وضعیت ارسال و دریافت اطلاعات داشته باشد

haghshenasmahdi
دوشنبه 29 مهر 1398, 20:23 عصر
جناب مهندس من چیزی واس کلاینت ارسال نمی کنم. نمی دونم مشکل کجاست. اگه نمونه مثال نرم افزار چت دارید واسم بفرستین. ببینمش.
ممنونم

haghshenasmahdi
سه شنبه 30 مهر 1398, 13:58 عصر
سلام
سوالتون ناقص هست
ولی حدسی که من میزنم اینه که شما از سرور یک درخواست به سمت کلاینت میفرستید وچون پاسخی دریافت نمیکنید برنامه سرور پشت سر هم این درخواست رو تکرار میکند و باعث درگیر شدن cpu میشود

وقتی برنامه بسته میشه به طریقی به برنامه سرور بفهمونید که قطع شده ساده ترین راهشم این هست که یک جدول کلاین های متصل و ضعیت شون ذخیره بشه و برنامه سرور بر اساس وضعیت ارسال و دریافت اطلاعات داشته باشد

حق با شما بود . دقیقا همین مشکل رو داشتم و حل شد .
سپاس فراوان