![]() |
![]() |
![]() |
![]() |
![]() |
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.. |
|
|
![]() |
|