لماذا لا يمكن عمل اغلاق السيرفر في الاندي بدون ان يكون لا يوجد اي كلينت متصل في السورس المرفق
وعندنا ستخدم لوب لاغلاق كل الكلينتس المتصلين بالسيرفر دون اغلاق السيرفر ثم اعمل كونكت مره اخري لا يستقبل السيرفر اي من البياناتا المرسله؟
لماذا لا يمكن عمل اغلاق السيرفر في الاندي بدون ان يكون لا يوجد اي كلينت متصل في السورس المرفق
وعندنا ستخدم لوب لاغلاق كل الكلينتس المتصلين بالسيرفر دون اغلاق السيرفر ثم اعمل كونكت مره اخري لا يستقبل السيرفر اي من البياناتا المرسله؟
الخطا في الاغلب في الثريد ليست
لما بحذف الكونيكشن منها بعد كده مش بتستقبل كونيكشن تاني فما هو الخطا؟
هو بيعمل كونكت عادي
بس مش بيستقبل اوامر و مفيش حاجه بتتضاف في الثريد ليست
تم تعديل هذه المشاركة بواسطة master of all في 2 مايو 2010 في 14:11
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