php讀取數(shù)據(jù)幀 php讀取文件內(nèi)容的方法和函數(shù)

數(shù)由器是什么

路由吧!

成都創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營銷型網(wǎng)站制作、響應(yīng)式網(wǎng)站開發(fā)、展示型成都做網(wǎng)站、成都網(wǎng)站設(shè)計等服務(wù),幫助中小企業(yè)通過網(wǎng)站體現(xiàn)價值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營銷推廣問題。

要解釋路由器的概念,首先得知道什么是路由。所謂“路由”,是指把數(shù)據(jù)從一個地方傳送到另一個地方的行為和動作,而路由器,正是執(zhí)行這種行為動作的機器,它的英文名稱為Router,是一種連接多個網(wǎng)絡(luò)或網(wǎng)段的網(wǎng)絡(luò)設(shè)備,它能將不同網(wǎng)絡(luò)或網(wǎng)段之間的數(shù)據(jù)信息進行“翻譯”,以使它們能夠相互“讀懂”對方的數(shù)據(jù),從而構(gòu)成一個更大的網(wǎng)絡(luò)。 ;ID=89834

簡單的講,路由器主要有以下幾種功能:

第一,網(wǎng)絡(luò)互連,路由器支持各種局域網(wǎng)和廣域網(wǎng)接口,主要用于互連局域網(wǎng)和廣域網(wǎng),實現(xiàn)不同網(wǎng)絡(luò)互相通信;

第二,數(shù)據(jù)處理,提供包括分組過濾、分組轉(zhuǎn)發(fā)、優(yōu)先級、復(fù)用、加密、壓縮和防火墻等功能;

第三,網(wǎng)絡(luò)管理,路由器提供包括配置管理、性能管理、容錯管理和流量控制等功能。

為了完成“路由”的工作,在路由器中保存著各種傳輸路徑的相關(guān)數(shù)據(jù)--路由表(Routing Table),供路由選擇時使用。路由表中保存著子網(wǎng)的標(biāo)志信息、網(wǎng)上路由器的個數(shù)和下一個路由器的名字等內(nèi)容。路由表可以是由系統(tǒng)管理員固定設(shè)置好的,也可以由系統(tǒng)動態(tài)修改,可以由路由器自動調(diào)整,也可以由主機控制。在路由器中涉及到兩個有關(guān)地址的名字概念,那就是:靜態(tài)路由表和動態(tài)路由表。由系統(tǒng)管理員事先設(shè)置好固定的路由表稱之為靜態(tài)(static)路由表,一般是在系統(tǒng)安裝時就根據(jù)網(wǎng)絡(luò)的配置情況預(yù)先設(shè)定的,它不會隨未來網(wǎng)絡(luò)結(jié)構(gòu)的改變而改變。動態(tài)(Dynamic)路由表是路由器根據(jù)網(wǎng)絡(luò)系統(tǒng)的運行情況而自動調(diào)整的路由表。路由器根據(jù)路由選擇協(xié)議(Routing Protocol)提供的功能,自動學(xué)習(xí)和記憶網(wǎng)絡(luò)運行情況,在需要時自動計算數(shù)據(jù)傳輸?shù)淖罴崖窂健?/p>

為了簡單地說明路由器的工作原理,現(xiàn)在我們假設(shè)有這樣一個簡單的網(wǎng)絡(luò)。

現(xiàn)在我們來看一下在如圖所示網(wǎng)絡(luò)環(huán)境下路由器又是如何發(fā)揮其路由、數(shù)據(jù)轉(zhuǎn)發(fā)作用的?,F(xiàn)假設(shè)網(wǎng)絡(luò)A中一個用戶A1要向C網(wǎng)絡(luò)中的C3用戶發(fā)送一個請求信號時,信號傳遞的步驟如下:

第1步:用戶A1將目的用戶C3的地址C3,連同數(shù)據(jù)信息以數(shù)據(jù)幀的形式通過集線器或交換機以廣播的形式發(fā)送給同一網(wǎng)絡(luò)中的所有節(jié)點,當(dāng)路由器A5端口偵聽到這個地址后,分析得知所發(fā)目的節(jié)點不是本網(wǎng)段的,需要路由轉(zhuǎn)發(fā),就把數(shù)據(jù)幀接收下來。

第2步:路由器A5端口接收到用戶A1的數(shù)據(jù)幀后,先從報頭中取出目的用戶C3的IP地址,并根據(jù)路由表計算出發(fā)往用戶C3的最佳路徑。因為從分析得知到C3的網(wǎng)絡(luò)ID號與路由器的C5網(wǎng)絡(luò)ID號相同,所以由路由器的A5端口直接發(fā)向路由器的C5端口應(yīng)是信號傳遞的最佳途經(jīng)。

第3步:路由器的C5端口再次取出目的用戶C3的IP地址,找出C3的IP地址中的主機ID號,如果在網(wǎng)絡(luò)中有交換機則可先發(fā)給交換機,由交換機根據(jù)MAC地址表找出具體的網(wǎng)絡(luò)節(jié)點位置;如果沒有交換機設(shè)備則根據(jù)其IP地址中的主機ID直接把數(shù)據(jù)幀發(fā)送給用戶C3,這樣一個完整的數(shù)據(jù)通信轉(zhuǎn)發(fā)過程也完成了。

從上面可以看出,不管網(wǎng)絡(luò)有多么復(fù)雜,路由器其實所作的工作就是這么幾步,所以整個路由器的工作原理基本都差不多。當(dāng)然在實際的網(wǎng)絡(luò)中還遠(yuǎn)比上圖所示的要復(fù)雜許多,實際的步驟也不會像上述那么簡單,但總的過程是這樣的。

目前,生產(chǎn)路由器的廠商,國外主要有CISCO(思科)公司、北電網(wǎng)絡(luò)等,國內(nèi)廠商包括華為等。

從一個H264的文件讀取數(shù)據(jù),怎么判斷滿一幀?但從 00 00 00 01來判斷好像是錯的.

我也不是很懂,但是我對你的問題感興趣所以查了一下,就我所了解的是這樣:

H264文件的主要部分,是一堆"NAL單元"(NALU),NALU的分隔符是0000 0001 或 0000 01

每個NALU的頭部,會有一個字節(jié)來標(biāo)示該NALU的類型

一幀會由一個Access Unit (AU)構(gòu)成,一個AU是由多個連續(xù)的NALU組成。

有一種NALU的類型,代表字節(jié)為09,是AU的結(jié)尾符號。但是這個似乎不是強制的而是建議。如果使用了該標(biāo)識符,每一幀都將由0000 0001 09 或 0000 0109結(jié)尾。

如果不使用該標(biāo)識符,似乎要通過NALU的內(nèi)容判斷兩個NALU是否屬于同一幀。

部分我看的參考資料:

后面兩個英文資料可能要翻墻也可能不要

附件是完整的H264的specification,這是英文的,我沒找到中文的。第八章詳細(xì)的描述了解碼的規(guī)范。

php 網(wǎng)站怎么做到,不刷新頁面,實時自動跟新數(shù)據(jù)

不刷新頁面更新數(shù)據(jù),一般有兩個方法實現(xiàn),都離不開JAVASCRIPT。現(xiàn)在最流行的就是AJAX,是用JS腳本連接數(shù)據(jù)庫更新數(shù)據(jù),刷新頁面部分區(qū)域內(nèi)容,不刷新整個網(wǎng)頁。另外一個是比較經(jīng)典、但是兼容性更高的方法,設(shè)置一個隱藏的FRAME或者iFRAME幀,那個幀不斷刷新PHP頁面,頁面內(nèi)容為改變可見幀內(nèi)容的JS。

php可以對硬件操作嗎

完全可以的,php可以操作串口rs232的。

例子如下:

?php

// --------------------------------------------------------------------------

// File name : RS232_Server.php

// Description : RS232演示上位機程序

// Requirement : PHP 5.1.4 (cli) ()

//

// Copyright(C), HonestQiao, 2006, All Rights Reserved.

//

// Author: HonestQiao (honestqiao@hotmail.com/QQ:5601680)

//

// 程序簡介:

// 本程序與RS232_Client構(gòu)成一個完整的演示系統(tǒng),展示了PHP在RS232串口通訊上的應(yīng)用。

// 程序之中實現(xiàn)了一個基礎(chǔ)但是完整的RS232通訊協(xié)議(HQB232),通訊協(xié)議格式如下:

// 協(xié)議內(nèi)容:

// C-S 01 //請求通訊

// S-C 02 //響應(yīng)通訊

// C-S LEN DATA //LEN表示數(shù)據(jù)(DATA)長度 DATA表示實際數(shù)據(jù)

// C-S 03 //結(jié)束通訊

// 說明:S表示上位機 C表示下位機

// HQB232表示HonestQiao演示的基礎(chǔ)(Base)RS232通訊協(xié)議,包含了協(xié)議的

// 請求和響應(yīng),數(shù)據(jù)幀的結(jié)構(gòu)。

// 演示過程為通訊的請求和響應(yīng),十次數(shù)據(jù)幀的發(fā)送, 通訊的結(jié)束

// 數(shù)據(jù)幀的結(jié)構(gòu)為當(dāng)前的序號,microtime(),隨機字符串

//

// 歡迎探討PHP在RS232串口通訊上的應(yīng)用。

// --------------------------------------------------------------------------

set_time_limit(0);

exec('mode COM1: baud=115200 data=8 stop=1 parity=n xon=on');

$fd = dio_open('COM1:', O_RDWR);

if(!$fd)

{

die("Error when open COM1");

}

$ff = dio_stat($fd);print_r($ff);

echo "HQB232 SERVER is listenning on COM1\n";

/// read

$len = 2;

$t=0;while (($t++)1000)

{

$data = dio_read($fd, $len);

if ($data) {

if($data==chr(0).chr(1)){

echo "S_RECV:01\n";

echo "S_SEND:02\n";

dio_write($fd,chr(0).chr(2));

break;

}

}

}

/// read

$len = 2;

$t=0;while (($t++)1000)

{

$len = 2;

$data = dio_read($fd, $len);

if($data==chr(0).chr(3)){

echo "S_RECV:03\n";

break;

}

elseif ($data) {

$len = intval($data);

$data = dio_read($fd, $len);

if($data){

echo "S_RECV:($len)$data\n";

}

}

}

dio_close($fd);

?

php取數(shù)組指定的位置存放數(shù)據(jù)

PHP弱類型,存放數(shù)據(jù)的話是可以滿足的。

?php?

$x="我是幀頭";

$y=321;

//todo可以對$z進行賦值

$z="我是數(shù)據(jù)balabala~";

$arr=array($x,$y,$z);

echo?"幀頭:".$arr[0]."br/";//輸出幀頭

echo?"長度:".$arr[1]."br/";//輸出長度

echo?"數(shù)據(jù):".$arr[2]."br/";//輸出數(shù)據(jù)

var_dump($arr);//dump出來查看詳細(xì)

?

輸出結(jié)果:

幀頭:我是幀頭

長度:321

數(shù)據(jù):我是數(shù)據(jù)balabala~

array(3) { [0]= string(8) "我是幀頭" [1]= int(321) [2]= string(17) "我是數(shù)據(jù)balabala~" }

flash怎么把數(shù)據(jù)傳到后臺最好是php

不好說,給你轉(zhuǎn)個教程吧。后臺的話還是要JS來調(diào)用。

Flash是可以輕松與網(wǎng)頁交互數(shù)據(jù)的,不然為何Flash會有這么大的生命力呢?只是這樣編程比較麻煩而已,又要調(diào)試Flash,然后又要放到服務(wù)器上調(diào)試。不過這樣的方式能夠收到很好的效果,F(xiàn)lash強大的繪圖功能、圖形功能,能夠與網(wǎng)頁的參數(shù)傳遞聯(lián)系起來,配合后端的服務(wù)器語言,能夠收到很大效果。

下面舉個例子用ActionScript3.0來說明這個問題,如下圖:

IE6效果:

火狐效果:

一旦瀏覽器裝上Flash插件,F(xiàn)lash就能夠輕松與網(wǎng)頁互通消息。無論在任何瀏覽器,現(xiàn)在基本上用戶都會裝上Flash組件的,可以這樣說,幾乎就沒有不裝Flash組件的瀏覽器。

一、Flash部分

1、首先,新建一個ActionScript3.0的Flash,新建之后就保存為webPage.fla,這次的Flash無須這么大的尺寸,否則網(wǎng)頁中會有很多的留白,設(shè)置大小為500x100px就可以了。播放器的版本按照默認(rèn)就可以,因為用戶的瀏覽器Flash組件會自動更新的。這個不用管。

2、通過窗口-組件,或者Ctrl+F7打開組件面板,利用自帶的按鈕、標(biāo)簽文本、輸入框組件布置界面。

3、拖出如下的界面,設(shè)置各個組件的屬性如下,設(shè)置其text值,也就是要顯示的文字,為部分要控制的組件設(shè)置實例名稱,也就是Id,比如按鈕設(shè)置成Button1,輸入框設(shè)置成EditField1,一會兒要給網(wǎng)頁JavaScript控制的標(biāo)簽文本的text值清空,其實例名稱為Label1。

4、之后點擊第一幀,打開動作面板,或者點擊F9,寫入如下的代碼:

[javascript] view plain copy print?

import?flash.external.ExternalInterface;

flash.system.Security.allowDomain("*");

flash.system.Security.allowInsecureDomain("*");//設(shè)置允許所有網(wǎng)站都允許Flash與網(wǎng)頁之間交互

Button1.addEventListener("click",function(){//點擊Button1這個按鈕

ExternalInterface.call("show",EditField1.text);

//則調(diào)用JavaScript中的function?show(message){}函數(shù),其中message這個參數(shù)值,由EditField1輸入的東西填充

});

function?JavaScriptShow1(message1){

//定義一個函數(shù),一旦這個函數(shù)觸發(fā)則把傳來的值,填充Label1這個標(biāo)簽文本

Label1.text=message1;

}

ExternalInterface.addCallback("JavaScriptShow1",JavaScriptShow1);

//注冊JavaScriptShow1這個函數(shù),其對外名稱為JavaScriptShow1,一般都應(yīng)該相同的

//網(wǎng)頁調(diào)用Flash對象的JavaScriptShow1的方法,則相當(dāng)于調(diào)用ActionScript中的JavaScriptShow1(message1){}函數(shù)

import flash.external.ExternalInterface; flash.system.Security.allowDomain("*"); flash.system.Security.allowInsecureDomain("*");//設(shè)置允許所有網(wǎng)站都允許Flash與網(wǎng)頁之間交互 Button1.addEventListener("click",function(){//點擊Button1這個按鈕 ExternalInterface.call("show",EditField1.text); //則調(diào)用JavaScript中的function show(message){}函數(shù),其中message這個參數(shù)值,由EditField1輸入的東西填充 }); function JavaScriptShow1(message1){ //定義一個函數(shù),一旦這個函數(shù)觸發(fā)則把傳來的值,填充Label1這個標(biāo)簽文本 Label1.text=message1; } ExternalInterface.addCallback("JavaScriptShow1",JavaScriptShow1); //注冊JavaScriptShow1這個函數(shù),其對外名稱為JavaScriptShow1,一般都應(yīng)該相同的 //網(wǎng)頁調(diào)用Flash對象的JavaScriptShow1的方法,則相當(dāng)于調(diào)用ActionScript中的JavaScriptShow1(message1){}函數(shù)

5、此時Flash的部分完畢,選擇文件-發(fā)布,打開Flash保存的文件夾。其實上面的內(nèi)容比《【ActionScript】ActionScript3.0的Helloworld》(點擊打開鏈接)沒復(fù)雜多少,只是多了兩句注冊ActionScript與JavaScript的交互的語句而已。

二、網(wǎng)頁的部分

1、之后,要把這個Flash布置到網(wǎng)頁上。Flash發(fā)布之后,會在網(wǎng)頁中生成兩個東西一個html與一個swf,核心文件是.swf文件,html文件不能照搬的,只能借鑒其中的代碼,否則不能兼容野狐禪、谷歌等瀏覽器。

這個由Flash生成webPage.html頁面,可以借鑒的代碼如下:

2、由于Flash禁用了Flash調(diào)用本地文件的功能。你只能把這個webPage.swf拷貝到你的服務(wù)器上調(diào)試。之后在服務(wù)器上新建一個.html的頁面,這里以swf.html與webPage.swf同目錄做例子,如果不同例子請自己設(shè)置好絕對路徑,假設(shè)是swf.html,swf.html的HTML布局如下:

[html] view plain copy print?

!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Strict//EN"?""

html?xmlns=""?lang="zh-CN"?xml:lang="zh-CN"

head

titlewebPage/title

meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/

/head

body

Flash與網(wǎng)頁交互

input?type="text"?id="text1"?/

button?onclick="toFlash()"發(fā)信息給Flash!/button

!--這段代碼的部分可以在發(fā)布出來的html中截取--

div

object?classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"?width="500"?height="100"?id="webPage"?align="middle"!--這里的id是為了flash給IE系列瀏覽器控制--

!--對IE有效的代碼--

param?name="movie"?value="webPage.swf"?/!--為IE瀏覽器指明flash的路徑--

param?name="quality"?value="high"?/

param?name="bgcolor"?value="#ffffff"?/

param?name="play"?value="true"?/

param?name="loop"?value="true"?/

param?name="wmode"?value="window"?/

param?name="scale"?value="showall"?/

param?name="menu"?value="true"?/

param?name="devicefont"?value="false"?/

param?name="salign"?value=""?/

param?name="allowScriptAccess"?value="always"?/!--這里一定要設(shè)置成always,打開Javascript與Actionscript的交互權(quán)限--

!--對野狐禪、谷歌等有效的代碼--

embed?src="webPage.swf"?width="500"?height="100"?id="webPage"/embed!--這里的id是為了flash給野狐禪、谷歌等瀏覽器控制,src的值為野狐禪、谷歌等瀏覽器指明flash的路徑--

/object

/div

/body

/html

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "" html xmlns="" xml:lang="zh-CN" head titlewebPage/title meta http-equiv="Content-Type" content="text/html; charset=utf-8" / /head body Flash與網(wǎng)頁交互 input type="text" id="text1" / button onclick="toFlash()"發(fā)信息給Flash!/button !--這段代碼的部分可以在發(fā)布出來的html中截取-- div object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="100" id="webPage"!--這里的id是為了flash給IE系列瀏覽器控制-- !--對IE有效的代碼-- param name="movie" value="webPage.swf" /!--為IE瀏覽器指明flash的路徑-- param name="quality" value="high" / param name="bgcolor" value="#ffffff" / param name="play" value="true" / param name="loop" value="true" / param name="wmode" value="window" / param name="scale" value="showall" / param name="menu" value="true" / param name="devicefont" value="false" / param name="salign" value="" / param name="allowScriptAccess" value="always" /!--這里一定要設(shè)置成always,打開Javascript與Actionscript的交互權(quán)限-- !--對野狐禪、谷歌等有效的代碼-- embed src="webPage.swf" width="500" height="100" id="webPage"/embed!--這里的id是為了flash給野狐禪、谷歌等瀏覽器控制,src的值為野狐禪、谷歌等瀏覽器指明flash的路徑-- /object /div /body /html

之后的JavaScript布局,是ActionScript與JavaScript交互的核心,代碼如下:

[javascript] view plain copy print?

script?type="text/javascript"

//給ActionScript所調(diào)用的JavaScript函數(shù),message這個參數(shù)被ActionScript傳遞過來的值所填充

function?show(message){

alert(message);

}

//獲取Flash對象的函數(shù),不同的對象有不同的方法。為了兼容,只能這樣寫。

function?getFlash(movieName){

if?(window.document[movieName])?{

window.document[movieName];

}

if?(navigator.appName.indexOf("Microsoft?Internet")?==?-1)?{

if?(document.embeds??document.embeds[movieName])

return?document.embeds[movieName];

}

else?{

return?document.getElementById(movieName);

}

}

//獲取Flash對象

var?flash1?=?getFlash('webPage');

//JavaScript調(diào)用ActionScript中注冊為JavaScriptShow1的函數(shù)

function?toFlash(){

var?text1?=?document.getElementById("text1").value;

flash1.JavaScriptShow1(text1);

}

/script

script type="text/javascript" //給ActionScript所調(diào)用的JavaScript函數(shù),message這個參數(shù)被ActionScript傳遞過來的值所填充 ? ? function show(message){ ? ? ? ? ? ? alert(message); ? ? } ? ? ?//獲取Flash對象的函數(shù),不同的對象有不同的方法。為了兼容,只能這樣寫。 ? ? function getFlash(movieName){ ? ? ? ? if (window.document[movieName]) { ? ? ? ? ? ? window.document[movieName]; ? ? ? ? } ? ? ? ? if (navigator.appName.indexOf("Microsoft Internet") == -1) { ? ? ? ? ? ? if (document.embeds document.embeds[movieName]) ? ? ? ? ? ? ? ? ?return document.embeds[movieName]; ? ? ? ? } ? ? ? ? else { ? ? ? ? ? ? return document.getElementById(movieName); ? ? ? ? } ? ? } ? ? ?//獲取Flash對象 ? ? var flash1 = getFlash('webPage'); ? ? ?//JavaScript調(diào)用ActionScript中注冊為JavaScriptShow1的函數(shù) ? ? function toFlash(){ ? ? ? ? var text1 = document.getElementById("text1").value; ? ? ? ? flash1.JavaScriptShow1(text1); ? ? } /script

三、總結(jié)

綜上所述,webPage.swf與swf.html的交互如下圖:

當(dāng)前文章:php讀取數(shù)據(jù)幀 php讀取文件內(nèi)容的方法和函數(shù)
標(biāo)題路徑:http://muchs.cn/article44/dossche.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、自適應(yīng)網(wǎng)站、標(biāo)簽優(yōu)化、Google品牌網(wǎng)站建設(shè)、網(wǎng)站收錄

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)