fsockopen函数

执行以下代码, 可以帮助理解fsockopen() 函数作用 

class test{
   
    public function tempTest()
    {
        // Open a socket
        if (!($fp = fsockopen('localhost', 80, $errno, $errstr, 15))) {
            die("无法连接到主机");
        }

        // Set timout to 1 second
        if (!stream_set_timeout($fp, 1)) die("无法设置超时时间");

        // Fetch first line of response and echo it
        var_dump(fgets($fp));//此时还没有数据, 将返回false

        // Send data to server
        echo "开始写入数据";
        fwrite($fp, "C01 CAPABILITY\r\n");//向打开的通道发送数据, 并等待服务端返回数据
        echo " 写入数据结束\r\n";

        var_dump('********', fgets($fp), '*******');//fgets()函数: 从 file 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(要看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。若失败,则返回 false。

        // Keep fetching lines until response code is correct
        while ($line = fgets($fp)) {//等待服务端返回数据, 并接收数据
            var_dump($line);
            $line = preg_split('/\s+/', $line, 0, PREG_SPLIT_NO_EMPTY);
            $code = $line[0];
            if (strtoupper($code) == 'C01') {
                break;
            }
        }
        echo "程序运行结束!";
    }

}

$m = new test();
$m->tempTest();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值