我也有同样的问题我在SeverSocket.ServerSocket1ClientRead事件里用 如下如下多次调用SentText,ClientSocket.ClientSocket1Read事件被激发的次数总少于 SeverSocket.serverSocket1ClientRead里调用SentText的次数。在SeverSocket.ServerSocket1ClientRead里if ADOQuery5.RecordCount>0 then begin ADOQuery5.First; for i:=0 to ADOQuery5.RecordCount-1 do begin sfzl:=trim(ADOQuery5.FieldbyName('bah').asstring)+'#bah' +trim(ADOQuery5.FieldbyName('xm').asstring)+'#xm' +trim(ADOQuery5.FieldbyName('zlt').asstring)+'#zlt' +trim(ADOQuery5.FieldbyName('ks').asstring)+'#ks' +trim(ADOQuery5.FieldbyName('ys').asstring)+'#ys' +trim(ADOQuery5.FieldbyName('times').asstring)+'#times'; ServerSocket1.Socket.connections[m].SendText(sfzl); if ADOQuery5.Eof=false then ADOQuery5.Next; end; end;
如下如下多次调用SentText,ClientSocket.ClientSocket1Read事件被激发的次数总少于
SeverSocket.serverSocket1ClientRead里调用SentText的次数。在SeverSocket.ServerSocket1ClientRead里if ADOQuery5.RecordCount>0 then
begin ADOQuery5.First;
for i:=0 to ADOQuery5.RecordCount-1 do
begin
sfzl:=trim(ADOQuery5.FieldbyName('bah').asstring)+'#bah'
+trim(ADOQuery5.FieldbyName('xm').asstring)+'#xm'
+trim(ADOQuery5.FieldbyName('zlt').asstring)+'#zlt'
+trim(ADOQuery5.FieldbyName('ks').asstring)+'#ks'
+trim(ADOQuery5.FieldbyName('ys').asstring)+'#ys'
+trim(ADOQuery5.FieldbyName('times').asstring)+'#times';
ServerSocket1.Socket.connections[m].SendText(sfzl);
if ADOQuery5.Eof=false then
ADOQuery5.Next;
end;
end;