Comprobar si un puerto remoto está abierto

uses

Winsock;



function PortTCP_IsOpen(dwPort : Word; ipAddressStr:AnsiString) : boolean;

var

client : sockaddr_in;

sock : Integer;

ret : Integer;

wsdata : WSAData;



begin

Result:=False;

ret := WSAStartup($0002, wsdata); //Inicializa Winsock

if ret<>0 then exit;

try

client.sin_family := AF_INET; //Establece el protocolo a usar en este caso (IPv4)

client.sin_port := htons(dwPort);

client.sin_addr.s_addr := inet_addr(PAnsiChar(ipAddressStr));

sock :=socket(AF_INET, SOCK_STREAM, 0); //crea un socket

Result:=connect(sock,client,SizeOf(client))=0; //Estable conexión con un socket

finally

WSACleanup;

end;

end;



Ejemplo:

if PortTCP_IsOpen(113,'127.0.0.1') then



No hay comentarios:

Publicar un comentario

Simulación del movimiento de los electrones en un campo electrico

Espectacular simulación realizada con OpenGL del movimiento de los electrones cuando atraviesan un campo eléctrico. Como muestra la image...