Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Velocidad en ejecución de sockets (https://www.clubdelphi.com/foros/showthread.php?t=2483)

Grunch 25-07-2003 00:13:20

Velocidad en ejecución de sockets
 
Saludos soy nuevo en delphi, y quería hacerles una consulta a ver quien me puede sugerir alguna solución.

Estoy comenzando a hacer una aplicación de análisis de seguridad en servidores de internet y lo primero que quiero que haga es un escaneo de puertos, el problema es que lo hace demasiado lento, aquí les pongo el código, es muy básico pero la velocidad es excesivamente lenta y de verdad necesito incrementarla

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

procedure TForm1.BitBtn1Click(Sender: TObject);
var
x,y,i: integer;
begin
x := StrToInt(Edit1.Text);
y := StrToInt(Edit2.Text);
With IdTCPClient1 do
begin
for i := x to y do
begin
s := IntToStr(i);
try
port := i;
connect;
except
ListBox1.Items.add('Puerto '+s+' Cerrado');
end;
end;
end;
end;

procedure TForm1.IdTCPClient1Connected(Sender: TObject);
begin
ListBox1.Items.add('Puerto '+s+' Abierto');
IdTCPClient1.Disconnect;
end;
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

pense que el problema era que estaba usando componentes indy y los cambien por los otros q trae delphi y se comporta igual, entonces busque info sobre winsock y lo desarrolle utilizando directamente las API winsock a ver si asi se incrementaba la velocidad y nada.

Hasta instale Borland C++ Builder y lo hice en c++ a ver si aumentaba y tampoco, lo ultimo que he averiguado es la posibilidad de usar multi-threads pero apenas me estoy instruyendo en eso, creo que eso podria ser la solucion, me gustaria saber sus impresiones y si me recomiendan un buen texto en español preferiblemente sobre threads o alguna otra solucion, saludos y gracias de antemano..

__hector 26-07-2003 19:17:53

Tu solucion es definitivamente utilizar aplicaciones multihilos (multithreading). Te advierto desde ahora que no es exactamente sencillo (no por desanimar), y al mismo tiempo te paso este enlace, que a pesar de estar en ingles, es el mejor documento que he visto acerca de la programacion multihilos en delphi:

http://www.pergolesi.demon.co.uk/prog/threads/ToC.html

Grunch 29-07-2003 02:22:35

bueno, ya había conseguido por ahí ese link pero todavía tenia esperanza de conseguir algo en español, tendré que meterle al gringlés :S

de todas maneras gracias y saludos

Grunch 29-07-2003 21:24:10

bueno me respondo a mi mismo, aquí les dejo este link que explica bastante bien y sencillo el uso de threads, no es muy completo pero sirve para empezar

http://www.latiumsoftware.com/es/pascal/delphi-1.php

saludos


La franja horaria es GMT +2. Ahora son las 03:57:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi