الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

disconnect in indy

بدأه master of all في 30 أبريل 2010 · 2 رد · 543 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لماذا لا يمكن عمل اغلاق السيرفر في الاندي بدون ان يكون لا يوجد اي كلينت متصل في السورس المرفق

وعندنا ستخدم لوب لاغلاق كل الكلينتس المتصلين بالسيرفر دون اغلاق السيرفر ثم اعمل كونكت مره اخري لا يستقبل السيرفر اي من البياناتا المرسله؟

ScreenThief.rar

#2

الخطا في الاغلب في الثريد ليست

لما بحذف الكونيكشن منها بعد كده مش بتستقبل كونيكشن تاني فما هو الخطا؟

هو بيعمل كونكت عادي

بس مش بيستقبل اوامر و مفيش حاجه بتتضاف في الثريد ليست

تم تعديل هذه المشاركة بواسطة master of all في 2 مايو 2010 في 14:11

#3
var
  ClientsCount,i : integer;

begin
if TCPServer.Active   then
begin

  try
    ClientsCount := Clients.LockList.Count;
  finally
    Clients.UnlockList;
  end;

  if (ClientsCount > 0) then //and (TCPServer.Active) then
    begin
      ShowMessage('Can''t close Server while there are connected clients!');

      for i:=0 to ClientsCount-1 do
      begin

         TClient(Clients.LockList.Items).Client.Connection.Disconnect;
      end;
    end
  else
  begin
    TCPServer.Active := False;
    Clients.Free;
  end;
end;
end;

حيث TClient هو object يحمل معلومات الثريد

وعندما اظهر المعلومات تظهر تمام

ولكن عندنا اعمل ديسكونكت وارجع اعمل كونكت باي كلينت او بنفس الكلينت لا يستقبل المعلومات

تم تعديل هذه المشاركة بواسطة master of all في 6 مايو 2010 في 14:34

مواضيع مشابهة