2016 - 2024

感恩一路有你

excel函数公式大全 php gethostbyname为什么可以得到本机ip?

浏览量:2968 时间:2021-03-16 07:43:07 作者:admin

php gethostbyname为什么可以得到本机ip?

Gethostbyname是PHP提供的一个系统函数,用于获取给定名称的IP地址。其实,原理很简单。当您调用此参数时,此函数将调用DNS服务来获取给定名称对应的主机的IP地址。此操作也适用于此机器。通常,在系统的主机中配置了一个规则:localhost 127.0.0.1。当您调用gethostbyname(“localhost”)d时,它返回127.0.0.1,这也是通过DNS获得的。DNS将首先查询本地缓存,如果没有,它将向上级发送查询请求,逐级查询。

为什么GetHostByName总是阻塞的?

1、方法在Linux环境下,gethostbyname函数用于从DNS查询域名的IP地址。由于DNS查询方式为递归查询,在网络未连接的情况下查询域名时,gethostbyname函数会出现严重的超时问题。而且该函数不能通过set套接字或connect、read等选择函数来设置超时时间,因此常常成为程序开发的瓶颈。在多线程环境中,gethostbyname将有一个非常严重的问题,即如果一个线程的gethostbyname阻塞,其他线程将阻塞gethostbyname,直到线程的gethostbyname函数返回。我们应该如何处理这样的问题?这里有两种方法:1。使用警报器设置信号。如果发生超时,请使用sigsetjmp和siglongjmp跳过gethostbyname函数。2独立地打开一个线程来调用gethostbyname函数。线程除了调用这个函数外什么也不做。2、 方法简介1。报警设置信号方法(1)、sigsetjmp和siglongjmp概述。Sigsetjmp:参数不为0时,保存进程的当前信号掩码字。Siglongjmp:恢复保存的信号掩码字(2),用法#包括

excel函数公式大全 vlookup函数的使用方法 sumif函数的使用方法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。