یک سرور و یک کلاینت TCP ساده در جاوا بنویسید که کلاینت یک خط متن به سرور ارسال کند و سرور همان متن را معکوس کرده و به کلاینت برگرداند.
8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:32 0.0
برای حل این مسئله یک ServerSocket در سمت سرور باز کنید که روی پورتی مشخص (مثلاً 5000) گوش دهد، ارتباط ورودی را با BufferedReader و خروجی را با PrintWriter (با autoFlush=true) بخوانید/بنویسید، خط دریافتی را معکوس کرده و نتیجه را به کلاینت ارسال کنید. در سمت کلاینت از Socket به localhost و همان پورت استفاده کنید، یک خط از ورودی کاربر بخوانید، آن را به سرور بفرستید و پاسخ معکوس شده را نمایش دهید. از try-with-resources برای بستن خودکار socket و استریمها استفاده کنید، خطاهای IO را هندل کنید و اگر میخواهید چند کلاینت همزمان پشتیبانی شود، هر اتصال پذیرفتهشده را در یک Thread جدا اجرا کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
این پیادهسازی ساده TCP کار میکند، اما نکتههایی برای بهبود دارد. برای پشتیبانی از کاراکترهای مختلف و پیامهای کامل، از UTF-8 استفاده کنید و ورودی را با یک خط پایان مشخص کنید تا معکوسکردن متن دقیق باشد. از یک ExecutorService یا لااقل یک Thread-per-connection استفاده کنید تا همزمانی درست کار کند و منابع با try-with-resources بهدرستی بسته شوند. همچنین مدیریت مناسب استثناها و بستن بهموقع ارتباطها را فراموش نکنید تا از نشت منابع و hangs جلوگیری شود.
گزارش