1. 程式人生 > >PHP實現連線裝置、通訊和傳送命令的方法

PHP實現連線裝置、通訊和傳送命令的方法

複製程式碼
/**
 * 採用php socket技術使用TCP/IP連線裝置
 * @param string $service_port 連線埠
 * @param string $address      傳送IP地址
 * @param string $in           傳送命令
 * @return string/boolean 返回值
 */
function Send_socket_connect($service_port, $address, $in) {
  $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die('could not create socket!');
  
$timeout = 2; //設定超時時間 $time = time(); //設定非阻塞模式 @socket_set_nonblock($socket); //超時判斷 while ([email protected]_connect($socket, $address, $service_port)){ $err = socket_last_error($socket); //連線成功,跳出迴圈 if ($err === 10056) { break; } //連線失敗,判斷超時時間,停止 if ((time() - $time
) >= $timeout) { socket_close($socket); return false; exit(); } //重新整理頻率(250毫秒) usleep(250000); } //設定阻塞模式 @socket_set_block($socket); //傳送命令到裝置 socket_write($socket, $in, strlen($in)); //接收裝置命令返回資料 $buffer = socket_read($socket, 1024, PHP_NORMAL_READ); //關閉連線 socket_close($socket
); //輸出返回值 return $buffer; }
複製程式碼

相關推薦

PHP實現連線裝置通訊傳送命令方法

/** * 採用php socket技術使用TCP/IP連線裝置 * @param string $service_port 連線埠 * @param string $address 傳送IP地址 * @param string $in 傳送命令 * @return

PHP連線裝置實現通訊傳送命令

開發的BS架構的軟體(PHP),需要跟裝置進行通訊,在此記錄一下,歡迎各位指正: 1。採用php socket技術使用TCP/IP連線裝置引數$service_port 連線埠引數$address 傳送IP地址引數$in 傳送命令 function Send_sock

Java實現RS485串列埠通訊傳送接收資料進行解析

  最近專案有一個空氣檢測儀,需要得到空氣檢測儀的實時資料,儲存到資料庫當中。根據瞭解得到,硬體是通過rs485進行串列埠通訊的,需要傳送16進制命令給儀器,然後通過輪詢來得到資料。   需要先要下載RXTX的jar包,win64位下載地址:http://pan.baidu.com/s/1o6zLmTc);

FTP主動模式被動模式在VRP上實現(實驗報文理論解析)

理解 客戶 warning 簡述 查看 inf 要求 sep mac 嗯~點關註不迷路 1.簡述主動模式的FTP建立連接的主要步驟 圖1-19 FTP主動模式示意圖基本原理FTP(文件傳輸協議)的特殊性: 大多數的TCP服務是使用單個的連接,一般是客戶向服務器的一個周知端口

Oracle + Mybatis實現批量插入更新刪除示例程式碼

前言 Mybatis是web工程開發中非常常用的資料持久化的框架,通過該框架,我們非常容易的進行資料庫的增刪改查。資料庫連線進行事務提交的時候,需要耗費的資源比較多,如果需要插入更新的資料比較多,而且每次事務只提交一條資料,會造成非常大的資料庫資源浪費,導致資料庫效能、系統性能大幅度下降。

軟體光柵器實現(二VSPS的輸入輸出運作,切空間的計算)

二、軟體光柵器的VS和PS的輸入、輸出和運作,法線貼圖版本。轉載請註明出處。   這裡介紹的VS和PS是實現法線對映的版本,本文僅介紹實現思路,並給出程式碼供參考。切空間計算、光照模型等相關公式不是本文重點,本文暫不給出,讀者可以查閱其他博文或文獻。   軟光柵的頂點部分處理放在VS也就是頂點著色器中進行

使用PHP實現RSA演算法的加密解密

本文提供使用RSA演算法加密解密資料的PHP程式類(簽名和驗籤的實現方式可以檢視使用PHP實現RSA演算法的簽名和驗籤 這篇文章),封裝了格式化公鑰和私鑰檔案的方法,這樣無論使用什麼格式的公鑰或者私鑰都可以正常執行,公鑰加密後使用私鑰解密或者私鑰加密後用公鑰解密

PHP實現即時輸出實時輸出內容方法

header(“Content-type:text/html;charset=utf-8″); #設定執行時間不限時 set_time_limit(0); #清除並關閉緩衝,輸出到瀏覽器之前使用這個函式。 ob_end_clean(); #控制隱式緩衝瀉出,預設off,開啟時,對每個 print/echo

如何通過程式碼實現自動安裝啟動解除安裝Windows服務

首先如何開發自己的Windows服務呢?開啟你的vs,新建一個專案,選擇“Windows服務”,會建立一個Windows服務專案,裡面會包含一個“Service1.cs”檔案,開啟這個檔案,單擊右鍵選擇“檢視程式碼”,程式碼結構如下: using System.Data;

GOLANG使用Context實現傳值超時取消

GO1.7之後,新增了context.Context這個package,實現goroutine的管理。 實際上,Context還有個非常重要的作用,就是設定超時。比如,如果我們有個API是這樣設計的: type Packet interface {

HttpClient連線池的連線保持超時失效機制

HTTP是一種無連線的事務協議,底層使用的還是TCP,連線池複用的就是TCP連線,目的就是在一個TCP連線上進行多次的HTTP請求從而提高效能。每次HTTP請求結束的時候,HttpClient會判斷連線是否可以保持,如果可以則交給連線管理器進行管理以備下次重用,否則直接關閉連線。這裡涉及到三個問題: 1、如

如何用DELPHI實現把WORDEXCEL圖片等儲存到資料庫中

 用image欄位儲存這些文件。     var         word_stream:   TMemoryStream;         filename:   string;     begin         if   odgDoc.Execut

PHP實現第三方登入的原理實現過程

最近快過年放假了,有但時間就整理一下~~第三方登入,就是使用大家比較熟悉的比如QQ、微信、微博等第三方軟體登入自己的網站,這可以免去註冊賬號、快速留住使用者的目的,免去了相對複雜的註冊流程。下邊就給大家講一下怎麼使用PHP開發QQ登入的功能。1、進入QQ互聯官網進行登入(可以

php中 的 0 1falsetrue

在判斷語句中,當返回值含有0時,可以用===來判斷是否完全相等 如果用===判斷0和false是否相等,結果為不相等(全等於是值和型別都相等) 0==false,結果為相等(只是值相等) <?php $str1 = null; $str2 = false;

cxf攔截器,實現對接收到的報文傳送出去的報文格式自定義

看此篇文章之前可以看看我的這篇文章,有助於更好的理解webservice和這篇文章 http://blog.csdn.net/zhaofuqiangmycomm/article/details/78701566 1,配置檔案 ?xmlversion="1.0"enco

php類的封裝繼承多型的簡單理解

面象對向的三大特點:封裝性、繼承性、多型性 首先簡單理解一下抽象: 我們在前面定義一個類的時候,實際上就是把一類事物共有的屬性和行為提取出來,形成一個物理模型(模版),這種研究問題的方法稱為抽象 一、封裝性  封裝就是把抽取出來的資料和對資料的操作封裝在一起,資料被保護在內

Linux裝置匯流排驅動之間的關係

(一)、驅動、匯流排和裝置的主要資料結構 (include/linux/device.h) (/driver/base/base.h)   (include/device.h) 匯流排中的那兩條連結串列是怎麼形成的。核心要求每次出現一個裝置就要向匯流排彙報,或者

MySQL 實現調用外部程序系統命令

基本 variables clu sch linu popu logserver git arm MySQL 實現調用外部程序和系統命令Refer:http://www.cnblogs.com/yunsicai/p/4080864.html1) Download lib

datesleepusleep命令

ber lpad div table 結果 oot 獲取 amp 使用 1.1 date命令 date用於獲取和設置操作系統的時間,還有hwclock是獲取硬件時間。 date有個選項"-d",可以用來描述獲取什麽時候的時間,描述的方式非常開放,但不能使用"now"關鍵字,

grepsedawk命令的簡單使用

grep、sed和awk命令的簡單使用 grep 命令選項意義-c匹配行的數量-i忽略大小寫-h查詢多文件時不顯示文件名-l只列出匹配的文件名,不列匹配行-n列出匹配行,並列出行號-s不顯示不存在或無匹配的錯誤信息-v顯示不包含匹配文本的所有行-w匹配整詞-r遞歸