Boa noite Hoje tenho um sistema em D7 que se conecta uma plataforma de telefonia via tcp/ip usando clientsockt, gostaria de migra-la para o D2009 e sei que o clientsockt tem problemas nessa versão. O correto seria usar Indy? Quais componentes usar para se comportar como clientsocket que fica ouvindo na porta esperando o retorno de eventos que são mandados pelo servidor Segue algumas funções que tenho como exemplo procedure TF_telefonia.ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket; ErrorEvent: TErrorEvent; var ErrorCode: Integer); begin // showmessage('Erro de Socket ' + IntToStr(ErrorCode)); if Socket.Connected then begin Socket.Close; end; conectado := 'Desconectado - Erro de Socket ' + IntToStr(ErrorCode); ErrorCode := 0; // conecta(servidor); end; procedure TF_telefonia.ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); var str, Rasc : string; i: Integer; begin str := socket.ReceiveText; i := Pos(#13, str); while i > 0 do begin Rasc := Copy(str, 1, i-1); Delete(str, 1, i+1); lerstr(Rasc); i := Pos(#13, str); end; // ShowMessage(rasc); end;
Aldinei Simões [As partes desta mensagem que não continham texto foram removidas]