delphi4arab منتديات دلفي للعرب
كيف يمكننا تجاوز العميل الذي لايمكن الارسال اليه في Indy - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يمكننا تجاوز العميل الذي لايمكن الارسال اليه في Indy (/showthread.php?tid=4999)



كيف يمكننا تجاوز العميل الذي لايمكن الارسال اليه في Indy - M_Mori2010 - 11-03-2013

السلام عليكم ورحمة الله وبركاته ..

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

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

فيتوقف عمل 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; 

جزاكم الله كل خير


كيف يمكننا تجاوز العميل الذي لايمكن الارسال اليه في Indy - M_Mori2010 - 14-03-2013

حاولت مجدداً لحل المشكلة لكن لا فائدة النيجة واحدة هل من احد يدلني على طريقة ما ؟


كيف يمكننا تجاوز العميل الذي لايمكن الارسال اليه في Indy - M_Mori2010 - 15-03-2013

شكراً لكم تم الحل بعد عناء طويل :d


كيف يمكننا تجاوز العميل الذي لايمكن الارسال اليه في Indy - محمد الدرة - 15-03-2013

هل من الممكن طرح حلك ليستفيد منه الآخرين


كيف يمكننا تجاوز العميل الذي لايمكن الارسال اليه في Indy - M_Mori2010 - 15-03-2013

اضف التالي في الاستثنائات : Exception
كود :
Try AContext.Binding.CloseSocket; Except on E: Exception do begin mmo1.Lines.add('اسم الاتصال الذي قطع الاتصال منه'+' : ' + E.Message); end; end;