一、返回计算机当前的IP值的函数
- 返回计算机当前的IP值。
如XH_GETIP(),返回值值为"127.0.0.1"。
或者返回值值为"192.168.0.100“ - 代码
FUNCTION XH_GETIP():STRING;
TYPE
TAPINADDR=ARRAY[0..10]OF PINADDR;
PAPINADDR=^TAPINADDR;
VAR
I:INTEGER;
PHE:PHOSTENT;
PPTR:PAPINADDR;
GINITDATA:TWSADATA;
BUFFER:ARRAY[0..63]OF CHAR;
BEGIN
WSASTARTUP($101,GINITDATA);
RESULT:='';
GETHOSTNAME(BUFFER,SIZEOF(BUFFER));
PHE:=GETHOSTBYNAME(BUFFER);
IF PHE=NIL THEN EXIT;
PPTR:=PAPINADDR(PHE^.H_ADDR_LIST);
I:=0;
WHILE PPTR^[I]<>NIL DO BEGIN
RESULT:=STRPAS(INET_NTOA(PPTR^[I]^));
INC(I);
END;
WSACLEANUP;
END;
二、WSAStartup函数
int WSAStartup ( WORD wVersionRequested, LPWSADATA lpWSAData );
- 使用Socket的程序在使用Socket之前必须调用WSAStartup函数。
该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;
操作系统利用第二个参数返回请求的Socket的版本信息。
当一个应用程序调用WSAStartup函数时,操作系统根据请求的Socket版本来搜索相应的Socket库,然后绑定找到的Socket库到该应用程序中。
以后应用程序就可以调用所请求的Socket库中的其它Socket函数了。
该函数执行成功后返回0。
三、WSACleanup函数
int WSACleanup (void);
- 应用程序在完成对请求的Socket库的使用后,要调用WSACleanup函数来解除与Socket库的绑定并且释放Socket库所占用的系统资源。
四、gethostname函数
- Socket接口的检索有关域名、通信服务和协议等Internet信息的数据库函数,
如gethostbyaddr、gethostbyname、gethostname、getprotolbyname
getprotolbynumber、getserverbyname、getservbyport。
1.gethostname()
- 【函数原型】
i>nt PASCAL FAR gethostname (char FAR * name, int namelen);
- 【使用说明】
该函数可以获取本地主机的主机名,其中:
name:<输出>用于指向所获取的主机名的缓冲区的指针。
Namelen:<输入>缓冲区的大小,以字节为单位。
返回值:若无错误,返回0;否则,返回错误代吗。
2.gethostbyname()
- 【函数原型】
struct hostent FAR * PASCAL FAR gethostbyname(const char FAR * name);
- 【使用说明】
该函数可以从主机名数据库中得到对应的“主机”。
该函数唯一的参数name就是前面调用函数gethostname()得到的主机名。若无错误,刚返回一个指向hostent结构的批针,它可以标识一个“主机”列表。
五、参考资料
ahuoheng的博客https://blog.51cto.com/ahuo/5318019
网友评论