با استفاده از Visual Basic و کنترل Winsock سعی کردم به سرور Indy پیغام ارسال کنم :
برای اتصال به سرور Indy :
ـ
Winsock1.Connect "127.0.0.1", "3201"
برای ارسال پیغام به سرور Indy :
ـ
Winsock1.SendData "Hi There"
زمانی که اتصال بین Winsock و Indy برقرار میشه یک OnExecute در سرور اتفاق می افته . اما زمانی که برای ارسال پیغام اقدام میکنم ، پیغام ارسال نمیشه و هیچ رویداد OnExecuteی هم در سرور رخ نمیده .
نهایتاً وقتی کلاینت (برنامه Vb) رو از حافظه خارج میکنم یک دفعه سرور بعد از رسیدن به یک استثنا ، به صورت دیوانه وار شروع میکنه به نمایش بی نهایت پیغام Connection Closed Gracefully . (البته پیغام ها(MessageDlg) به صورتی پشت سرهم نمایش داده میشند . در واقع تنها بعد از بسته شدن دیالوگ فعلی ، دیالوگ بعدی نمایش داده میشه) .
و هر بار که استثنای Connection Closed Gracefully اتفاق می افته یک رویداد Onexecute هم رخ میده . ضمناً این در حالیست که اگر بعد از اتصال میان Winsock و Indy ، بدون ارسال پیغام (عدم اجرای خط دوم) برنامه vb رو از حافظه خارج کنم تنها یکبار Connection Closed Gracefully نمایش داده شده و همه چیز به خوبی و خوشی تموم میشه .
و در آخر ، این مشکل زمانی که با استفاده از متد WriteFile بین کلاینت/سرور Indy بخوایم فایل ردوبدل کنیم هم رخ میده . در واقع پس از اینکه متد WriteFile فراخوانی شد ، در صورتی که کلاینت رو از حافظه خارج کنیم(ارتباش رو قطع کنیم) دقیقاً مشکلی که در بالا ذکر شد رخ میده .
اگر اطلاعات کامل تری نیاز هست بگید توضیح بدم .
خیلی ممنون .