کار کردن با TCPServer در کل راحت نیست وقتی بخواید یک برنامه پایدار بیرون بدید ملاحظات بیشماری باید مد نظر باشه و این کار، کار طاقت فرسایی هست مثلا فرض کنید در مورد همین مثال، کلاینت فقط کانکت بشه ولی هیچی نفرسته چه اتفاقی میافته یا مثلا بفرسته ولی دیتای بی ربط و بسیار بزرگی باشه؟ این مطلب رو البته کلی و بدون توجه به اصل سوال خدمتتون عرض کردم.
با توجه به اینکه کار کردن با tcpserver کار بسیار حساسی هست من فکر میکنم بهتره از Indy استفاده بشه هر چند Indy هم هنوز که هنوزه ایراداتی داره ولی به هر حال به نظر میاد بهتر از سایر کامپوننتها و کتابخانه های مشابه تست شده و ایرادهای زیادی در اون برطرف شده. البته پشتیبانی خوبی هم نداره ولی احتمال زیاد برای اکثر کارها بشه روش حساب باز کرد.
در Indy در زمان disconnect خودتون باید مقدار AData در context مربوط به کانکشن رو nil کنید احتمالا این هم باید چیز مشابهی داشته باشه.