pfsockopen: 打开网络的 socket 持续链接。
set_socket_blocking: 切换阻塞与无阻塞模式。
gethostbyaddr: 返回机器名称。
gethostbyname: 返回 ip 网址。
gethostbynamel: 返回机器名称的所有 ip。
checkdnsrr: 检查指定网址的 dns 记录。
getmxrr: 取得指定网址 dns 记录之 mx 字段。
openlog: 打开系统纪录。
syslog: 纪录至系统纪录。
closelog: 关闭系统纪录。
debugger_on: 使用内建的 php 调试器。
debugger_off: 关闭内建的 php 调试器。
fsockopen
打开网络的 socket 链接。
语法: int fsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
返回值: 整数
函数种类: 网络系统
内容说明: 目前这个函数提供二个 socket 资料流界面,分别为 internet 用的 af_inet 及 unix 用的 af_unix。当在 internet 情形下使用时,参数 hostname 及 port 分别代表网址及埠号。在 unix 情形可做 ipc,hostname 参数表示到 socket 的路径,port 配置为 0。可省略的 timeout 选项表示多久没有连上就中断。在使用本函数之后会返回文件指针,供文件函数使用,包括 fgets()、fgetss()、fputs()、fclose() 与 feof()。参数 errno 及 errstr 也是可省略的,主要当做错误处理使用。使用本函数,会使用搁置模式 (blocking mode) 处理,可用 set_socket_blocking() 转换成无搁置模式。
使用范例
本例用来模拟成 http 连接。
<?php
$fp = fsockopen("php.wilson.gs", 80, &$errno, &$errstr, 10);
if(!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs($fp,"get / http/1.0\nhost: php.wilson.gs\n\n");
while(!feof($fp)) {
echo fgets($fp,128);
}
fclose($fp);
}
?>
参考: pfsockopen()
pfsockopen
打开网络的 socket 持续链接。
语法: int pfsockopen(string hostname, int port, int [errno], string [errstr], int [timeout]);
返回值: 整数
函数种类: 网络系统
内容说明: 本函数和 fsockopen() 类似,但本函数在 php 程序结束时,不会将网络 socket 链接关闭,仍保持连接。用这种方式,可以增加效率,但较耗系统资源。
