یک برنامهٔ کنسولی به زبان C# بنویسید که فهرستی از آدرس‌های وب یا مسیرهای فایل را از ورودی دریافت کند، برای هر مورد وضعیت دسترسی را بررسی کند و در صورت موفقیت صدای کوتاه با Console.Beep و در صورت شکست صدای متفاوتی پخش کند.

30.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 04:55

0.0

برای حل این مسئله از یک حلقه برای خواندن ورودی‌ها (تا رسیدن به خط خالی یا با پارامترهای خط فرمان) استفاده کنید؛ اگر رشته با "http" شروع شد با HttpClient یک درخواست (HEAD یا GET) بفرستید و وضعیت را بررسی کنید، در غیر این صورت از File.Exists برای بررسی فایل استفاده کنید. از try/catch برای کنترل استثناها بهره ببرید و برای اطلاع‌رسانی از Console.Beep(frequency, duration) با فرکانس/مدت‌های متفاوت (مثلاً موفقیت: 800Hz/200ms، شکست: 400Hz/500ms) استفاده کنید. نکته‌ها: از using برای HttpClient بهره بگیرید، در صورت نیاز برای سرعت از async/await و Task.WhenAll استفاده کنید و توجه داشته باشید که بعضی محیط‌ها ممکن است پخش صدا توسط Console.Beep را پشتیبانی نکنند.

توسط پژوهشگر در 198 روز قبل ساعت 04:55
دسته بندی ها: C# C# for beginner
arman در 198 روز قبل ساعت 04:56

توجه داشته باشید که Console.Beep در برخی محیط‌ها (مثل لینوکس، کانتینرها یا ترمینال‌های خاص) ممکن است کار نکند؛ بهتر است گزینهٔ جایگزینی مثل پیام رنگی یا فایل صوتی در ویندوز در نظر بگیرید. از یک HttpClient مشترک با Timeout مشخص استفاده کنید و برای سرعت ابتدا درخواست HEAD بفرستید و در صورت دریافت 405 یا عدم پشتیبانی به GET با خواندن حداقلی محتوا برگردید. برای کارایی بالا از Task.WhenAll همراه با SemaphoreSlim جهت محدود کردن درجه هم‌زمانی استفاده کنید تا از بازشدن بیش از حد اتصالات جلوگیری شود. همیشه عملیات شبکه و فایل را در try/catch قرار دهید و توجه کنید File.Exists در شرایط رقابتی ممکن است ناپایدار باشد، پس خطاها را به درستی هندل کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری