TCPserver sem evento OnExecute
Quero criar um servidor TCP e enviar / receber mensagem para os clientescomo necessári, não o evento OnExecute do TCPserve
Enviar / receber mensagem não é um problema; Eu gosto assim:
procedure TFormMain.SendMessage(IP, Msg: string);
var
I: Integer;
begin
with TCPServer.Contexts.LockList do
try
for I := 0 to Count-1 do
if TIdContext(Items[I]).Connection.Socket.Binding.PeerIP = IP then
begin
TIdContext(Items[I]).Connection.IOHandler.WriteBuffer(Msg[1], Length(Msg));
// and/or Read
Break;
end;
finally
TCPServer.Contexts.UnlockList;
end;
end;
ota 1: Se eu não usar o OnExecute, o programa gera uma exceção quando um cliente se conect
ota 2: Se eu usar o OnExecute sem fazer nada, o uso da CPU será de% 100
ota 3: Não tenho chance de alterar os clientes TC
Então, o que eu deveria fazer