php使用fsockopen實現非同步

2021-10-25 16:22:47 字數 1556 閱讀 1887

/* php使用fsockopen實現非同步

* * @parem $post_data post 請求引數

* @parem $exetime 非同步任務執行時間(單位秒)

* @parem $debug 是否開啟除錯模式

* **/function request_by_fsockopen($url,$post_data=array(),$exetime = 1, $debug=false)

stream_set_blocking($fp,0); //開啟非阻塞模式

stream_set_timeout($fp, 3); //設定超時時間(s)

$header .= "content-length: ". strlen($_post) ."\r\n";//post資料的長度

$header.="connection: close\r\n\r\n";//長連線關閉

$header .= $_post; //傳遞post資料

}else

fwrite($fp, $header);

usleep(300000); //等待300ms

//-----------------除錯**區間-----------------

// 注如果開啟下面的注釋,非同步將不生效可是方便除錯

if($debug)

echo $html;

}//-----------------除錯**區間-----------------

fclose($fp);

}/**

* 判斷是否是https

}ignore_user_abort(true); // 忽略客戶端斷開

set_time_limit(0); // 設定執行不超時 0允許最大執行時間

$url = (ishttps() ? 'https://' : 'http://') . $_server['http_host'].'/modules/addons/consumeridcims/createserverorfloatingip.php'; //獲取網域名稱

$vars = [

'orderid' => 375,

'userid' => 30,

'invoiceid' => 385,

];// 呼叫fsockopen實現非同步

request_by_fsockopen($url,$vars);

PHP函式 fsockopen簡介

開啟網路的 socket 鏈結。語法 resuce fsockopen string hostname,int port,int errno string errstr int timeout 返回值 資源 函式種類 網路系統 內容說明 目前這個函式提供兩個 socket 資料流介面,分別為 int...

PHP的fsockopen函式詳解

先來看看手冊是如何定義fsockopen函式的。fsockopen 開啟乙個網路連線或者乙個unix套接字連線。resource fsockopen string hostname int port 1 int errno string errstr float timeout ini get de...

fsockopen使用傳送簡訊

傳送簡訊還可以有這樣的操作!漲姿勢 public function post data,target fclose fd if gets return gets fsockopen 主機名稱,埠號碼,錯誤號的接受變數,錯誤提示的接受變數,超時時間 主機名稱 就是你需要傳送資料的目的地 埠號 就是這個...