mqtt php 16進制數據,phpMQTT 內存耗死問題

場景:(訂閱)鏈接不上mqtt的時候,一下代碼會出錯:

function read($int = 8192, $nb = false){

// print_r(socket_get_status($this->socket));

$string="";

$togo = $int;

if($nb){

return fread($this->socket, $togo);

}

// var_dump($this->socket);

while (!feof($this->socket) && $togo>0) {

$fread = fread($this->socket, $togo);

$string .= $fread;

$togo = $int - strlen($string);

}

return $string;

}

錯誤分析:鏈接不到mqtt的時候,$this->socket這個結果為false,while里面的一直會循環,$string的大小會耗死內存。所以加一個判斷,按如下代碼修改。

if ($this->socket) {

while (!feof($this->socket) && $togo>0) {

$fread = fread($this->socket, $togo);

$string .= $fread;

$togo = $int - strlen($string);

}

}

搞定,又能正常運行了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/533869.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/533869.shtml
英文地址,請注明出處:http://en.pswp.cn/news/533869.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

人臉識別代碼_10行代碼實現人臉識別

什么是人臉識別人臉識別,是基于人的臉部特征信息進行身份識別的一種生物識別技術。用攝像機或攝像頭采集含有人臉的圖像或視頻流,并自動在圖像中檢測和跟蹤人臉,進而對檢測到的人臉進行臉部識別的一系列相關技術,通常也叫做人像識…

ticketvalidationexception票根不符合目標服務_如何在有效降低企業倉儲成本的同時不降低企業的總體服務質量目標水平?...

對于企業而言,如何降低倉儲成本,同時要保證物流總成本最低和不降低企業的總體服務質量和目標水平的前提下進行,常見的措施有以下幾點:一用“先進先出方式,減少倉儲物的保管風險。”先進先出是儲存管理的準則之一&#…

matlab編程 英文翻譯,MATLAB編程,MATLAB programming,音標,讀音,翻譯,英文例句,英語詞典...

Image:114994698204558.jpgmatlabmatlab是矩陣實驗室(matrix laboratory)之意。除具備卓越的數值計算能力外,它還提供了專業水平的符號計算,文字處理,可視化建模仿真和實時控制等功能。matlab的基本數據單位是矩陣,它的指令表達式…

python進群_Manim-python 進群問題之解答

事情起因人閑下來的時候總想找點事情做!這不,昨天考完試后在B站上逛,不小心進入了學習區,在00后學長那里看到了一個視頻。鏈接如下:具有美感的傅里葉級數居然還能夠畫畫!!!這讓我一個…

python科學計算_可視化圖解Python科學計算包NumPy

NumPy包是python生態系統中數據分析、機器學習和科學計算的主力。 它極大地簡化了向量和矩陣的操作。Python的一些主要軟件包依賴于NumPy作為其基礎架構的基礎部分(例如scikit-learn、SciPy、pandas和tensorflow)。我們將介紹一些使用NumPy的主要方法&am…

php 導出excel 特殊字符,PHPEXCEL導出,存在特殊字符遇到的問題

[13] > Array([payment_success_at] >[user_name] > ?.琳琳?[remarks] >[product_name] > 香菇[sku_name] > 斤[product_property] > 斤[price_original] > 5.50[price_current] > 5.50[consignee] > ?.琳琳?)以上代碼中用戶名中存在特殊符號…

win10任務欄怎么還原到下面_詳解:新版 WIN 10 V2004 任務欄和開始菜單全透明

是不是很酷炫?繼續往下看,你也可以簡單做到導語本文將告訴你如何借助一個小工具,將最新版 WIN 10 開始菜單和任務欄設置成全透明,以獲得超酷的視覺體驗。安裝和設置都很簡單,關鍵是一定要找到適合 WIN 10 版本的 Start…

php是靜態語言,Thinkphp靜態緩存多語言切換

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓1.首先判斷用戶有無手動指定語言2.從session中獲得當前語言3.session里面沒有則從cookie里面去取4.若是cookie里沒有,則根據IP段判斷5.若不在指定ip范圍內,自動偵測瀏覽器語言首先我們在Common/Conf/tags.ph…

10.8.8.8檸檬wifi網頁登錄_基于企業郵箱進行wifi實名認證的方案

之前我們介紹過如何用釘釘認證和企業微信認證來實現企業內部的實名上網認證。此外郵箱認證也是企業進行wifi實名認證的一個有效手段。因為很多企業都給員工開通了企業郵箱,直接讓員工輸入郵箱賬號和密碼進行認證上網。配置、使用和維護都相對比較簡單。本文我將介紹…

用pycharm寫python老是提示錯誤_python pycharm錯誤集錦

url:http://www.cnblogs.com/hinimix/p/8016859.html1, this list creation could be rewritten as a list literal預先定義了一個listlist1 [1,2,3,4] #這么用好比list1 [1,2,3] #這么用不好list1.append(4)此時會出現該提示解決鏈接:https://stackoverflow.com/…

php tire樹,Immutable.js源碼之List 類型的詳細解析(附示例)

本篇文章給大家帶來的內容是關于Immutable.js源碼之List 類型的詳細解析(附示例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。一、存儲圖解我以下面這段代碼為例子,畫出這個List的存儲結構:let myL…

nodejs missing script: dev_nodejs深入學習系列之v8基礎篇

V8這個概念大家都不陌生了,那么你動手編譯過V8源碼嗎?編譯后有嘗試去了解V8背后的一些概念嗎?如果沒有,那么也不用心慌,下文將跟大家一一解釋這些東西。在編譯V8之前我們先要了解一個東西-構建系統1、構建系統1.1、構建…

cmos存儲器中存放了_天津大學姚建銓院士,張雅婷副教授JMCC:具有寬光譜調控特性的阻變存儲器...

【引言】存儲器是計算機中數據存放的主要介質。隨著5G時代到來,帶動人工智能、物聯網、智慧城市等應用市場發展并向存儲器提出多樣化需求,加上傳統存儲器市場價格變化等因素,新型存儲器將在市場發揮越來越重要的作用。因此具有存儲密度更高&a…

matlab轉差頻率控制,轉差頻率控制的異步電機調速系統的研究

1 引言交流變頻調速的方法是異步電機最有發展前途的調速方法。隨著電力電子技術、計算機技術和自動控制技術的不斷發展,交流電機變頻調速已經逐步取代直流電機調速,并經歷了采用電壓頻率協調控制、轉差頻率控制、矢量控制以及直接轉矩控制的發展過程。其…

python中標識符的命名規則_Python——標識符的命名規則

01 Python語言的特點 python的語言特點有很多,我們這里只講一點,python是一門面向對象的語言,即一切皆對象(Linux中有一句是:一切皆文件),括號內的只是打個比方,不懂也沒事&#xff…

python內置對象是什么_Python內置對象類型之數字類型

Python中有6種內置對象類型整數、浮點數–Number字符串–String列表–List元組–Tuple字典–Dictionary集合–Set不可變類型:Number、String、Tuple可變類型:List、Dictionary、Set知識點:變量和對象的關系–引用變量的使用數字類型的常見使用…

oracle的exp和imp,oracle exp和imp

--1.exp和imp的輸入都是名字和值對:如:exp parameter_namevalue 或exp parameter_name(value1,value2,value3..)--2.exp和imp都支持helpy選項。命令格式為:exp/imp helpy--3.exp中的參數:參數名稱 默認值 含義 建議compress Y 不壓縮導出數據的內容 comp…

python案例實操_用案例實操學習Python ,培養編程邏輯思維

案例一: A、B、C、D、E 五人在某天夜里合伙去捕魚,到第二天凌晨時都疲憊不堪,于是各自找地方睡覺。 日上三桿 A 第一個醒來,他將魚分為五份,把多余的一條魚扔掉,拿走自己的一份。 B 第二個醒來,…

oracle錯誤1327,Oracle中的PGA監控報警分析(r11筆記第97天)

最近接到一個數據庫報警,讓我頗有些意外,這是一個PGA相關的報警。聽起來感覺是應用端的資源調用出了問題。報警內容大體如下:報警內容: PGA Alarm on alltest------------------------------------報警級別: PROBLEM------------------------…

python控制臺清屏_Python Shell 怎樣清屏?

啟動Python有兩種方式,分別為“Windows命令行窗口”和“IDLE” “命令行窗口”下可以通過如下兩種方法: 1. import subprocess subprocess.call("clear") # linux/mac subprocess.call("cls", shellTrue) # windows 執行完次命令后&…