freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于linux的嵌入式web服務(wù)器thttpd的應(yīng)用研究與實(shí)現(xiàn)(編輯修改稿)

2025-07-15 14:20 本頁面
 

【文章內(nèi)容簡(jiǎn)介】 下進(jìn)行通信,系統(tǒng)還采用了串口外接調(diào)制解調(diào)器通過電話網(wǎng)來實(shí)現(xiàn)與遠(yuǎn)程客戶機(jī)的通信。網(wǎng)絡(luò)建立的實(shí)現(xiàn)就要用到 PPP協(xié)議(Point to Point Protocol點(diǎn)對(duì)點(diǎn)協(xié)議)。在程序運(yùn)行的時(shí)候先要讀取 PPP通信的控制信息,判斷是否使用 PPP進(jìn)行通信,否則默認(rèn)使用 Ethernet來進(jìn)行數(shù)據(jù)的傳輸。而不是同時(shí)開啟這兩種模式。 由于 PPP通信并不區(qū)分客戶端和服務(wù)器,把負(fù)責(zé)認(rèn)證和 IP分配的端認(rèn)為是服務(wù)器,而不需要認(rèn)證和使用服務(wù)器提供 IP的端認(rèn)為是客戶端。設(shè)計(jì)了 LinkManger類、PPPDaemon類、PPPModemLink類、ModemCommand類、PPPException類,用來實(shí)現(xiàn) PPP通信。其中 LinkManger類:用于管理 PPP連接,啟動(dòng)經(jīng)由網(wǎng)絡(luò)接到遠(yuǎn)端服務(wù)器的出站連接,生成一個(gè) PPPDaemon實(shí)例用來設(shè)置 IP,驗(yàn)證用戶名和密碼。并實(shí)現(xiàn)接收 PPP事務(wù)。 PPPModemLink類首先打開一個(gè)串口并進(jìn)行初始化,初始化完成后,把一個(gè)串口的對(duì)象傳遞給 PPP,然后創(chuàng)建 ModemCommand對(duì)象來控制與調(diào)制解調(diào)器的串行通信,并通過 SerialPortEvenlistener接口監(jiān)視 CD以檢測(cè)調(diào)制解調(diào)器是否掛起。其定義了 Modem的初始化和復(fù)位方法:initializeLink()和 resetModem()。 ModemCommand類負(fù)責(zé)和 modem具體的串行通信,其分別定義了 sendmand()、 waitFoResponse()和 receiveCommand()方法。分別用來發(fā)送、等待和接收命令。當(dāng)操作超時(shí),則拋出 DataLinkException;waitforMatc()主要用來供 sendCommand()和 receiveCommand()進(jìn)行調(diào)用,用來判斷接收到的字符串是否和匹配字符串一致。當(dāng)相應(yīng)操作超時(shí),則拋出 DataLinkException。 嵌入式 Web服務(wù)器接口模塊的實(shí)現(xiàn) 在本系統(tǒng)中為了滿足不同工業(yè)控制系統(tǒng)的需要,設(shè)計(jì)有串口、CAN總線接口、Modem接口和 RS485接口。系統(tǒng)在啟動(dòng)時(shí),從系統(tǒng)的 FLASH中讀取 120個(gè)字節(jié)的初始化信息,并據(jù)此來判斷是否開啟接口,并對(duì)所開啟的接口進(jìn)行初始化。由于各個(gè)模塊的初始化函數(shù)己經(jīng)存在,因此系統(tǒng)初始化時(shí),只要調(diào)用相應(yīng)的函數(shù)就夠了。PPP已經(jīng)在網(wǎng)絡(luò)模塊部分介紹,而 RS485的使用和普通串口的初始化相似,本部分主要介紹 RS232和 CAN。 RS232串口驅(qū)動(dòng)函數(shù)設(shè)計(jì) 系統(tǒng)的開發(fā)語言是 Java,但 Java本身不提供對(duì)串口操作的類,要實(shí)現(xiàn)對(duì)串口的讀寫操作,需要用第三方 API函數(shù)完成,實(shí)際的開發(fā)過程中,使用串口通訊協(xié)議開發(fā)包 ,它是 J2SE的標(biāo)準(zhǔn)擴(kuò)展,支持 RS231串口,并提供了一種與平臺(tái)無關(guān)的串口通信機(jī)制。 串口驅(qū)動(dòng)主要實(shí)現(xiàn)對(duì)串口的讀寫操作,給應(yīng)用程序提供發(fā)詢接收數(shù)據(jù)的接口。串口正常工作之前,需要進(jìn)行初始化設(shè)置,因此驅(qū)動(dòng)中還有初始化函數(shù)。串口的驅(qū)動(dòng)函數(shù)串口的驅(qū)動(dòng)函數(shù)主要包括: serialInit()用來初始化 UART、serialRead()用來接收字節(jié)組、 serialWrite()用來發(fā)送字節(jié)組。 CAN總線模塊 CAN接口在工業(yè)控制系統(tǒng)的運(yùn)用越來越廣泛,操作系統(tǒng)提供了對(duì) ,如要對(duì) CAN進(jìn)行操作,首先要建立一個(gè) CAN的對(duì)象。 CanBus canTest = new CanBus()。 由于 DS80C400只提供一個(gè) CAN控制器,所以只能選用 CANBUS0。一旦對(duì)象被初始化,就需要設(shè)置 CAN的速率。 CAN速率的設(shè)置通過設(shè)置 Prescaler,TSEGI,TSEGZ和同步段來完成。CAN的計(jì)算速率為:CAN波特率=晶振頻率/Prescaler+(TSEG1+TSEG2)。 將上述設(shè)置完成后,就可以使 CAN控制器使能了:();要想完成幀的發(fā)送和接收,除了在信息中心設(shè)置接收和發(fā)送模式外,還必須先定義一個(gè) CanFrame的對(duì)象即 CanFrame frame =new CanFrame();要接收一個(gè) CAN的幀時(shí),信息是以 CanFrame對(duì)象的形式進(jìn)行接收,并且調(diào)用 (frame);如要發(fā)送數(shù)據(jù),也必須將數(shù)據(jù)封裝層 CanFrame對(duì)象的形式進(jìn)行發(fā)送,并且調(diào)用 (frame)。 本系統(tǒng)將瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)和客戶端/服務(wù)器(C/S)結(jié)構(gòu)相結(jié)合,客戶端仍只需使用易于操作的 Web瀏覽器,使用該模式不僅統(tǒng)一了用戶界面,為用戶對(duì)系統(tǒng)的查詢和操作提供了極大的方便,系統(tǒng)還通過 Java Applet平衡了服務(wù)器端與瀏覽器端的負(fù)載狀況。 為了對(duì)控制對(duì)象進(jìn)行遠(yuǎn)程操作, Web頁面需要給用戶提供三個(gè)功能:一是現(xiàn)場(chǎng)設(shè)備查詢,主要是對(duì)現(xiàn)場(chǎng)設(shè)備的運(yùn)行狀態(tài)和采集數(shù)據(jù)進(jìn)行查詢;二是設(shè)備遠(yuǎn)程控制,提供對(duì)運(yùn)行現(xiàn)場(chǎng)某些參數(shù)的修改能力;三是報(bào)警 (如高限報(bào)警、下限報(bào)警等 ),如果現(xiàn)場(chǎng)設(shè)備超過設(shè)定的報(bào)警值,一方面會(huì)在網(wǎng)頁上發(fā)出聲音警報(bào)。此外還會(huì)在后臺(tái)向指定的郵箱發(fā)送報(bào)警郵件。 網(wǎng)頁的交互方式 Web系統(tǒng)主要采用 HTTP協(xié)議。HTTP采用請(qǐng)求/響應(yīng)的握手方式,每個(gè) HTTP交互都由從客戶端發(fā)往服務(wù)器的請(qǐng)求和從服務(wù)器發(fā)往客戶端的響應(yīng)組成。HTTP采用 TCP連接,而且該連接狀態(tài)僅在此次連接中保持,無論服務(wù)器或是瀏覽器都不會(huì)記憶上次的連接狀態(tài)。在設(shè)計(jì)中首先采用 類,實(shí)現(xiàn)在 80端口等待客戶端的請(qǐng)求。其主要實(shí)現(xiàn)如下: HTTPServer d = new HTTPServer(80)。 然后給出將對(duì)應(yīng)的 HTML頁面返回到瀏覽器。 (“”)。初始化結(jié)束后,Web服務(wù)器進(jìn)入正常的工作狀態(tài)以輪詢的方式來進(jìn)行處理。 實(shí)驗(yàn)環(huán)境的安裝與調(diào)試
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1