function PortUsed(Port: Integer): Boolean;
var
sSocket: TSocket;
Wsd: TWSAData;
SockAddrIn: TSockAddrIn;
begin
if WSAStartup(2, Wsd) = 0 then
begin
sSocket := Socket(AF_INET, SOCK_STREAM, 0);
Result := True;
try
if (sSocket <> SOCKET_ERROR) then
begin
SockAddrIn.sin_family := AF_INET;
SockAddrIn.sin_addr.S_addr := htonl(INADDR_ANY);
SockAddrIn.sin_port := htons(Port);
Result := (Bind(sSocket, SockAddrIn, SizeOf(SockAddrIn)) <> 0);
end;
finally
CloseSocket(sSocket);
WSACleanup();
end;
end
else
Result := True;
end;
Delphi 端口判断
最新推荐文章于 2025-02-08 08:30:43 发布