多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > sybase > PB9中通過網址(域名)獲取IP的方法

PB9中通過網址(域名)獲取IP的方法

來源:程序員人生   發布時間:2014-06-10 01:12:26 閱讀次數:4177次
  將以下內容保存為本地文件n_cst_ip.sru,然后導入pbl中
 
[cpp]
$PBExportHeader$n_cst_ip.sru 
forward 
global type n_cst_ip from nonvisualobject 
end type 
type s_wsadata from structure within n_cst_ip 
end type 
type os_hostent from structure within n_cst_ip 
end type 
end forward 
 
type s_wsadata from structure 
    unsignedinteger        version 
    unsignedinteger         highversion  
    character        discription[257] 
    character        systemstatus[129] 
    unsignedinteger        maxsockets 
    unsignedinteger        maxupddg 
    string         vendorinfo 
end type 
 
type os_hostent from structure 
    long        hname 
    long        haliases 
    integer        haddrtype 
    integer        hlen 
    long        haddrlist 
end type 
 
global type n_cst_ip from nonvisualobject autoinstantiate 
end type 
 
type prototypes 
FUNCTION  int  WSAStartup(  uint  UIVersionRequested,  ref  s_WSAData  lpWSAData  )    library  "wsock32.dll"  
FUNCTION  int  WSACleanup()  library  "wsock32.dll"   
FUNCTION  int  gethostname  (  ref  blob  name,  int  namelen  )  library  "wsock32.dll"   
FUNCTION  uLong  gethostbyname(ref blob  sHost)  Library  "wsock32.dll"   
FUNCTION  uLong  RtlMoveMemory(ref  os_hostent  hpvDest,long  hpvSource,long  cbCopy)  Library  "kernel32.dll"   
FUNCTION  uLong  RtlMoveMemory(ref  uLong  hpvDest,long  hpvSource,long  cbCopy)  Library  "kernel32.dll"  
end prototypes 
 
forward prototypes 
public function boolean of_getdnsip (string as_dns, ref string as_ipadress[])  
end prototypes 
 
public function boolean of_getdnsip (string as_dns, ref string as_ipadress[]);//函  數:of_GetDNSIp() 
//功  能:得到指定域名的IP 
//參  數:string as_DNS //域名 
//        ref  string as_ipadress[] //返回的ip數組 
//返回值:Boolean True/False    
//修改人:yyoinge 
 
string ls_IpAddress[] 
int li_IP_Count 
s_wsadata l_WSAData 
ULong ll_addr, ll_IP, ll_ipaddr, ll_stringip   
int li_version = 257 
blob{128} lb_HostName 
ulong ll_addr_list 
os_hostent lstr_hostent 
 
if wsastartup(li_version, l_WSAData)  =  0 then 
    lb_hostname = blob('') 
    ll_addr  =  gethostbyname(lb_HostName) 
    RtlMoveMemory(lstr_hostent, ll_addr, 16) 
    ll_addr_list  =  lstr_hostent.haddrlist 
  
    li_IP_Count  =  0   
    Do While True   
        RtlMoveMemory(ll_IPAddr, ll_addr_list, 4  ) 
        If ll_IPAddr = 0 Then Exit   
            li_IP_Count = li_IP_Count + 1 
            RtlMoveMemory(ll_StringIP,  ll_IPAddr, 1) 
            ls_IpAddress[li_IP_Count] = string(ll_StringIP) + "." 
            RtlMoveMemory(ll_StringIP, ll_IPAddr + 1, 1) 
            ls_IpAddress[li_IP_Count] = ls_IpAddress[li_IP_Count] + string(ll_StringIP) + "." 
            RtlMoveMemory(ll_StringIP, ll_IPAddr + 2, 1) 
            ls_IpAddress[li_IP_Count] = ls_IpAddress[li_IP_Count] + string(ll_StringIP)+ "." 
            RtlMoveMemory(ll_StringIP, ll_IPAddr + 3, 1) 
            ls_IpAddress[li_IP_Count] = ls_IpAddress[li_IP_Count] + string(ll_StringIP) 
            ll_addr_list = ll_addr_list + 4 
    Loop 
    WSACleanup()  
End if 
 
as_ipadress = ls_IpAddress 
 
return upperbound(as_ipadress) > 0 //取到IP則返回true 
end function 
 
on n_cst_ip.create 
call super::create 
TriggerEvent( this, "constructor" ) 
end on 
 
on n_cst_ip.destroy 
TriggerEvent( this, "destructor" ) 
call super::destroy 
end on 
 
程序中這樣調用即可:
[cpp]
n_cst_ip ln 
string ls_dsn = '',ls[] 
if ln.of_getdnsip(ls_dsn, ls) then 
    long i 
    for i = 1 to upperbound(ls) 
        messagebox('提示', '域名【' + ls_dsn + '】對應的IP地址(' + string(i) + ')為:~r~n~r~n' + ls[i]) 
    next 
end if   

摘自 yyoinge的專欄 ,
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品9999久久久久 | 亚洲天堂第一页 | 日本一二三四区免费视频 | 波多结衣一区二区三区 | 日韩欧美亚洲国产精品字幕久久久 | 欧美激情视频一区二区 | 亚洲国产精品综合一区在线 | 久久精品国产主播一区二区 | 亚洲大片免费 | 国产美女亚洲精品久久久毛片 | 综合亚洲欧美日韩一区二区 | 高清一级做a爱过程免费视频 | 性欧美超高清hd | 在线免费欧美 | 在线观看精品国产福利片尤物 | 国产suv精品一区二区四区三区 | 亚洲黄色色图 | 91亚洲在线| 日本天堂在线播放 | 欧美日韩国产手机在线观看视频 | 高清一级做a爱过程免费视频 | 波多野结衣综合 | 欧美一区二区三区在观看 | 中文乱码一二三四有限公司 | 91久久国产综合精品 | 久久久久亚洲日日精品 | 欧美性受xxxx黑人xyx性爽 | 亚洲高清成人 | 国产欧美亚洲精品第3页在线 | 欧美精品一区二区三区免费播放 | 在线视频一区二区三区四区 | 国产精品乱码一区二区三区 | 亚洲小视频 | 欧美另类网 | 玖玖色资源网 | 亚洲成a人片在线观看尤物 亚洲成a人片在线观看中文!!! | 精品成人乱色一区二区 | 国产精品成人一区二区不卡 | 久久久久久久久久久9精品视频 | 欧美日韩午夜视频 | 久久精品免看国产成 |