網路函式庫

2021-03-31 08:56:30 字數 2882 閱讀 2998

inte***ce

uses

sysutils

,windows

,dialogs

,winsock

,classes

,***obj

,wini***;

//得到本機的區域網ip位址

function getlocalip(var localip:string): boolean;

//通過ip返回機器名

function getnamebyipaddr(ipaddr: string; var ma**ame: string): boolean ;

//獲取網路中sqlserver列表

function getsqlserverlist(var list: tstringlist): boolean;

//獲取網路中的所有網路型別

function get***list(var list: tstringlist): boolean;

//獲取網路中的工作組

function getgrouplist(var list: tstringlist): boolean;

//獲取工作組中所有計算機

function getusers(groupname: string; var list: tstringlist): boolean;

//獲取網路中的資源

function getuserresource(ipaddr: string; var list: tstringlist): boolean;

//對映網路驅動器

function ***addconnection(***path: pchar; password: pchar;localpath: pchar): boolean;

//檢測網路狀態

function check***(ipaddr:string): boolean;

//檢測機器是否登入網路

function checkmacattach***: boolean;

//判斷ip協議有沒有安裝   這個函式有問題

function isipinstalled : boolean;

//檢測機器是否上網

function inter***connected: boolean;

implementation

function checkmacattach***: boolean;

begin

result := false;

if getsystemmetrics(**_***work) <> 0 then

result := true;

end;

function getlocalip(var localip: string): boolean;

varhostent: phostent;

ip: string;

addr: pchar;

buffer: array [0..63] of char;

ginitdata: twsadata;

begin

result := false;

trywsastartup(2, ginitdata);

gethostname(buffer, sizeof(buffer));

hostent := gethostbyname(buffer);

if hostent = nil then exit;

addr := hostent^.h_addr_list^;

ip := format('%d.%d.%d.%d', [byte(addr [0]),

byte (addr [1]), byte (addr [2]), byte (addr [3])]);

localip := ip;

result := true;

finally

wsacleanup;

end;

end;

function getnamebyipaddr(ipaddr : string;var ma**ame:string): boolean;

varsockaddrin: tsockaddrin;

hostent: phostent;

wsadata: twsadata;

begin

result := false;

if ipaddr = '' then exit;

trywsastartup(2, wsadata);

sockaddrin.sin_addr.s_addr := i***_addr(pchar(ipaddr));

hostent := gethostbyaddr(@sockaddrin.sin_addr.s_addr, 4, af_i***);

if hostent <> nil then

ma**ame := strpas(hostent^.h_name);

result := true;

finally

wsacleanup;

end;

end;

function isipinstalled : boolean;

varwsdata: twsadata;

protoent: pprotoent;

begin

result := true;

tryif wsastartup(2,wsdata) = 0 then

begin

protoent := getprotobyname('ip');

if protoent = nil then

result := false

end;

finally

wsacleanup;

end;

end;

Delphi網路函式庫

unit net inte ce uses sysutils windows dialogs winsock classes comobj wininet 得到本機的區域網ip位址 function getlocalip var localip string boolean 通過ip返回機器名 fu...

網路函式介紹

一 int socket int domain,int type,int protocol 4.成功時返回檔案描述符,失敗時返回 1,看errno可知道出錯的詳細情況.二 int connect int sockfd,struct sockaddr serv addr,int addrlen 1.s...

PHP網路函式總覽

checkdnsrr 給指定的主機 網域名稱 或者ip位址做dns通訊檢查 closelog 關閉系統日誌鏈結 define syslog variables 初始化所有syslog相關變數 dns check record checkdnsrr別名 dns get mx getmxrr別名 dns...