FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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.. |
#2
|
||||
|
||||
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
__________________
Héctor Geraldino Software Engineer |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
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 |
|
|
|