php fsockopen 异步,异步执行PHP任务fsockopen的干货
PHP异步执行任务fsockopen的实用方法
我们创建了一个基于fsockopen的函数,这个函数中利用fsockopen去访问url,但是在访问时,并不要求获取url显示的内容,而是仅仅发出访问请求,请求到达后马上关闭这个访问。
这样做的好处就是无需再等待被访问的url是否返回了可靠的信息,节约了时间,这段代码的执行时间在0.1-0.2秒之间,对于普通访客而言,几乎察觉不到。因此,在使用时,仅需要调用这个函数和对应的url即可。不过,这里并没有提供数据传输的部分,如何传输数据,其实只需要在$header中增加post的内容即可。/**
* @生生 2018/12/24 19:25:06
* [asynchronous PHP异步执行任务]
* @param string $url 执行任务的url地址
* @param array $post_data 需要post提交的数据POST
* @param array $cookie cookie数据用于登录等的设置(此处内部调用,无需鉴权)
* @return boole
*/
public function asynchronous($url,$post_data = array())
{
$url_array = parse_url($url);
dump($url_array);
//用fsockopen()尝试连接
$fp = fsockopen($url_array['host'], 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)
\n";
} else {
//建立成功后,向服务器写入数据
$getPath = isset($url_array['path']) ? $url_array['path'] : '/';
$out = "GET /".$getPath."/ HTTP/1.1\r\n";
$out .= "Host:".$url_array['host']."\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
/*忽略执行结果
while (!feof($fp)) {
echo fgets($fp, 128);
}*/
//关闭链接
fclose($fp);
}
}
调用方法/**
* 异步方法
* 参数:(string)要执行的方法url,(array)传入参数
*/
function yibu(){
$this->asynchronous('https://www.liqingbo.cn/index.php/admin/index/test',['1'=>'haha']);
//直接返回结果
echo '操作成功';
}
推荐教程:《PHP视频教程》
php fsockopen 异步,异步执行PHP任务fsockopen的干货相关推荐
- 【Android 异步操作】AsyncTask 异步任务 ( AsyncTask 异步任务执行方法 execute 方法相关源码解析 )
文章目录 一.AsyncTask 异步任务执行方法 execute() 引入 二.AsyncTask 异步任务执行方法 execute() 三.sDefaultExecutor 线程池解析 四.exe ...
- jooq 执行sql_使用jOOQ和Java 8的CompletableFuture进行异步SQL执行
jooq 执行sql 响应式编程是一个新的流行词,它实际上仅表示异步编程或消息传递. 事实是,函数语法极大地帮助构建了异步执行链,今天,我们将看到如何使用jOOQ和新的CompletableFutur ...
- 具有jOOQ和Java 8的CompletableFuture的异步SQL执行
响应式编程是一个新的流行词,它实际上仅表示异步编程或消息传递. 事实是,函数语法极大地帮助构建了异步执行链,今天,我们将看到如何使用jOOQ和新的CompletableFuture API在Java ...
- Java笔记(十七) 异步任务执行服务
异步任务执行服务 一.基本原理和概念 一)基本接口 1)Runnable和Callable:表示要执行的异步任务. 2)Executor和ExecutorService:表示执行服务. 3)Futur ...
- Spring Boot技术之异步任务执行
在spring中有一个AsyncConfigurer接口,实现该接口可以配置异步线程池,源码部分如下: public interface AsyncConfigurer {/*** 获取线程池* Th ...
- JS异步:执行原理与回调
JS异步:执行原理与回调 一.JS异步的执行原理 二.JS异步中的回调 一.JS异步的执行原理 我们知道JavaScript是单线程的,而浏览器是多线程的.单线程执行任务需要一个个排队进行,假如一 ...
- 关于 JS 中,实现在异步代码执行完毕再执行后续代码
因为 js 是单线程,所有的同步任务要等前一个任务执行完毕,再执行下一个任务. function fn1() {console.log("fn1")fn2()fn3() }func ...
- 同步任务和异步任务执行过程
同步任务和异步任务执行过程 1.同步任务由JavaScript主线程依次执行 2.异步任务委托给宿主环境执行. 3.已完成的异步任务对应的回调函数,会被加入到任务队列中等待执行. 4.JavaScri ...
- 【JavaScript】同步与异步-异步与并行-异步运行机制-为什么要异步编程-异步与回调-回调地狱-JavaScript中的异步操作
文章目录 1. 同步与异步 1.1 同步行为synchronous 1.1.1 特点 1.1.2 例子 1.2 异步行为asynchronous 1.2.1 必要性 1.2.2 特点 1.2.3 例子 ...
最新文章
- JGG: 赵方庆、赵翔等开发高效捕获RNA病毒基因组的宏转录组建库测序新技术
- 澎思科技马原:AI安防竞争还未结束,落地进入后发优势时代 | MEET2020
- 树莓派2代B model 上手初体验,不用显示器,Python GPIO 点亮一颗LED
- iOS之深入解析WKWebView加载的生命周期与代理方法
- 等待十年,史上第一个 64 位版 Visual Studio 将于今夏公开首个预览版!
- VSCode 扩展中出现严重漏洞,可导致供应链攻击
- 一个缺陷管理系统数据库设计和界面设计分析
- Hibernate集合属性的元素为组件(三)
- 1108 Finding Average (20)(字符串)
- java 字符串截取_java截取字符串几种方式
- JDK动态代理原理解析
- ElasticSearch 7.15.2 使用java canal 接入实现灵活化增量数据准实时同步
- 榜单!DMS/OMS高增速,舱内感知交互摄像头供应商TOP10
- 计算机的任务管理器在哪,怎么打开任务管理器 多种方法详细教学
- shp文件导入postgresql数据库
- linux搭建ssh服务器,并用xshell远程连接
- 使用fsck命令检查并修复linux文件系统
- 23_字符串的格式化_format 函数_% 占位符 _ f-string _Template _模板字符等
- sja1000 中断_SJA1000的错误中断处理
- 全国天气预报信息数据 API
热门文章
- jquery点击按钮显示和隐藏div
- Codeforces Round #452 (Div. 2)
- 禁用ViewPager边界滑动效果(转)
- 华为内部狂转好文:有关大数据,看这一篇就够了
- UVA 11806 Cheerleaders (容斥原理)
- ajax 在php中一个运用
- SqlServer的分割函数
- JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() 有什么区别?
- 关于项目中一些时间转换的问你题 -紫叶and妍
- 用户控件与自定义控件