delphi4arab منتديات دلفي للعرب

نسخة كاملة : كيف يمكننا تجاوز العميل الذي لايمكن الارسال اليه في Indy
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله وبركاته ..

أخوتي الكرام ...

تواجهني مشكلة في ارسال النصوص عندما يكون احد المتصلين قد فصل او لايستجيب

فيتوقف عمل BroadCast عن الارسال مدة زمنية طويلة فكيف يمكننا تخطي هذه المشكلة

علماً أن كود الارسال هو كالتالي :

PHP كود :
procedure TRO1.BroadCast1(Msg1: String);
var
i: integer;
ClientsList: TList;
begin
      ClientsList 
:= Ro1.RS1.Contexts.LockList;
      for 
i:=0 to ClientsList.Count -1 do
      Try
      
with TIdContext(ClientsList.Items[i]).Connection.IOHandler do begin
       WriteLn
(Msg1,TiDTextEncoding.UTF8);
      
end;
      
Except
      TIdContext
(ClientsList.Items[i]).Connection.Disconnect;
      
End;
      
Ro1.RS1.Contexts.UnlockList;
end; 

جزاكم الله كل خير
حاولت مجدداً لحل المشكلة لكن لا فائدة النيجة واحدة هل من احد يدلني على طريقة ما ؟
شكراً لكم تم الحل بعد عناء طويل :d
هل من الممكن طرح حلك ليستفيد منه الآخرين
اضف التالي في الاستثنائات : Exception
كود :
Try AContext.Binding.CloseSocket; Except on E: Exception do begin mmo1.Lines.add('اسم الاتصال الذي قطع الاتصال منه'+' : ' + E.Message); end; end;