با سلام ،
در زمان استفاده از TCPClient این خطا در چه شرایطی رخ میده ؟
Connection reset by peer
با سلام ،
در زمان استفاده از TCPClient این خطا در چه شرایطی رخ میده ؟
Connection reset by peer
میتونه دلایل مختلفی داشته باشه؛ معمولش این هست که کلاینت برای مدت زمان معینی غیرفعال بوده، و سرور بعد از سپری شدن مدت معینی اتصال کلاینت های غیرفعال را به طور یک طرفه قطع کرده. مشکل از فایروال هم میتونه باشه، یعنی فایروال اتصال کلاینت را به سرور قطع کرده باشه.
شما در چه شرایطی به این مشکل برخوردید؟
وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.
سرور چی بود؟ سرور رو هم خودتون نوشته بودید؟
وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.
بله ، در واقع سرور پیغام رو میگیره . یک شرط رو بررسی میکنه و جواب رو ارسال میکنه . البته جوابی که برای کلاینت ارسال میشه از طریق یک Thread همیشه آماده باش بطور جداگانه دریافت میشه . که اگه یادتون باشه قبلاً در موردش صحبت کردیم . امکان داره مشکل از این باشه ؟
این هم کد Thread مربوط به کلاینت :
procedure MyTr.Execute;
begin
while j = 0 do
begin
sleep(100);
Listen;
end;
end;
که در اینجا متد Listen ، تابع ReadLn کنترل TCpClient رو صدا میزنه .