如何获取公网IP

newskysoft 2003-12-04 02:38:15
用adsl上网后如何用程序得到公网地址?
...全文
98 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wumingyu 2004-02-26
  • 打赏
  • 举报
回复
我也遇到同样的问题,请高手赐教
huangxvming1980 2004-01-11
  • 打赏
  • 举报
回复
第一句的function int WSAStartup( uint UIVersionRequested, ref s_WSAData lpWSAData ) 其中s_WSAData 是illegal data
我也是同样的问题,我是获取本机IP,别人给的程序差不多完全一样,但是声明过程有错
hjd_cw 2003-12-16
  • 打赏
  • 举报
回复
http://www.cpb.cn/download_info.asp?id=42
小子侯 2003-12-09
  • 打赏
  • 举报
回复
声明win32 API函数:
function int WSAStartup( uint UIVersionRequested, ref s_WSAData lpWSAData ) library "wsock32.dll"
function int WSACleanup() library "wsock32.dll"
function int WSAGetLastError ( ) library "wsock32.dll"
function int gethostname ( ref string name, int namelen ) library "wsock32.dll"
function string GetHost(string lpszhost, ref blob lpszaddress ) library "pbws32.dll"

使用方法:
s_wsadata l_WSAData
string ls_HostName = space(128)
string ls_IpAddress
int li_version = 257
blob{4} lb_hostaddress

IF wsastartup ( li_version, l_WSAData ) = 0 THEN

IF gethostname ( ls_HostName, len(ls_HostName) ) < 0 THEN
messagebox("GetHostName",WSAGetLastError())
ELSE
GetHost(ls_HostName, lb_HostAddress)
ls_IpAddress = string(asc(string(blobmid(lb_HostAddress,1,1))),"000") + "."
ls_IpAddress += string(asc(string(blobmid(lb_HostAddress,2,1))),"000") + "."
ls_IpAddress += string(asc(string(blobmid(lb_HostAddress,3,1))),"000") + "."
ls_IpAddress += string(asc(string(blobmid(lb_HostAddress,4,1))),"000")
END IF
WSACleanup()
ELSE
messagebox("GetHostName",WSAGetLastError())
END IF
sle_1.text=ls_hostname
sle_2.text=ls_ipaddress


newskysoft 2003-12-05
  • 打赏
  • 举报
回复
up

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧