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

正文內(nèi)容

串口設(shè)備遠(yuǎn)程監(jiān)控軟件設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-文庫吧

2025-06-08 07:11 本頁面


【正文】 類似于打電話機(jī)制,打電話的人是TCP客戶端,而接電話的是TCP服務(wù)端。UDP模式:UDP模式是基于非連接的模式,只要有數(shù)據(jù)發(fā)送即可立即發(fā)送,不需要事先連接,但是它無法保證數(shù)據(jù)不丟失,容易產(chǎn)生誤碼。在網(wǎng)口設(shè)備虛擬串口設(shè)備通信中,可以選擇基于三種工作模式的通信機(jī)制,即在虛擬串口PC端作為Server端的TCP通信模式、作為Client端的TCP通信模式和UDP通信模式。串口聯(lián)網(wǎng)通訊,主要通過串口服務(wù)器,把串口設(shè)備連接到互聯(lián)網(wǎng)中,從而達(dá)到通過網(wǎng)絡(luò)來控制串口設(shè)備的目的。其基本的硬件架構(gòu)如圖21所示:圖 02:串口聯(lián)網(wǎng)服務(wù)器應(yīng)用網(wǎng)絡(luò)架構(gòu)整個(gè)控制網(wǎng)絡(luò)中,串口設(shè)備通過RS232/RS485連接到串口服務(wù)器上,串口服務(wù)器通過路由器/交換器接入以太網(wǎng)。針對(duì)串口設(shè)備的通信協(xié)議,設(shè)計(jì)相應(yīng)的監(jiān)控軟件。運(yùn)行在PC機(jī)終端上的遠(yuǎn)程監(jiān)控軟件則可以通過以太網(wǎng)實(shí)現(xiàn)對(duì)串口設(shè)備的遠(yuǎn)程監(jiān)控。 VC++ (MFC)工具介紹 VC++Microsoft Visual C++,(簡稱Visual C++、MSVC、VC++或VC)微軟公司的C++開發(fā)工具,具有集成開發(fā)環(huán)境,可提供編輯C語言,C++以及C++/CLI等編程語言。VC++整合了便利的除錯(cuò)工具,特別是整合了微軟視窗程式設(shè)計(jì)(Windows API)、三維動(dòng)畫DirectX API,Microsoft .NET框架。目前最新的版本是Microsoft Visual C++ 2013。Microsoft Visual C++是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動(dòng)生成、靈活方便的類管理、代碼編寫和界面設(shè)計(jì)集成交互操作、可開發(fā)多種程序等優(yōu)點(diǎn),而且通過簡單的設(shè)置就可使其生成的程序框架支持?jǐn)?shù)據(jù)庫接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。它以擁有“語法高亮”,IntelliSense(自動(dòng)完成功能)以及高級(jí)除錯(cuò)功能而著稱。比如,它允許用戶進(jìn)行遠(yuǎn)程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動(dòng)正在調(diào)試的程序。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱。這些特征明顯縮短程式編輯、編譯及連結(jié)花費(fèi)的時(shí)間,在大型軟件計(jì)劃上尤其顯著。 Visual Studio 是微軟公司推出的開發(fā)環(huán)境,Visual Studio 可以用來創(chuàng)建 Windows 平臺(tái)下的 Windows應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和 Office插件。Visual Studio是目前最流行的Windows平臺(tái)應(yīng)用程序開發(fā)環(huán)境。 Visual Studio 2008 包括各種增強(qiáng)功能,例如可視化設(shè)計(jì)器(使用 .NET Framework 加速開發(fā))、對(duì) Web 開發(fā)工具的大量改進(jìn),以及能夠加速開發(fā)和處理所有類型數(shù)據(jù)的語言增強(qiáng)功能。Visual Studio 2008 為開發(fā)人員提供了所有相關(guān)的工具和框架支持,幫助創(chuàng)建引人注目的、令人印象深刻并支持 AJAX 的 Web應(yīng)用程序。 開發(fā)人員能夠利用這些豐富的客戶端和服務(wù)器端框架輕松構(gòu)建以客戶為中心的 Web應(yīng)用程序,這些應(yīng)用程序可以集成任何后端數(shù)據(jù)提供程序、在任何當(dāng)前瀏覽器內(nèi)運(yùn)行并完全訪問 ASP NET應(yīng)用程序服務(wù)和 Microsoft 平臺(tái)。MFC(MicrosoftFoundationClasses)是微軟基礎(chǔ)類庫的簡稱,是微軟公司實(shí)現(xiàn)的一個(gè)c++類庫,主要封裝了大部分的windows API函數(shù),vc++是微軟公司開發(fā)的c/c++的集成開發(fā)環(huán)境,所謂集成開發(fā)環(huán)境,就是說利用它你可以編輯,編譯,調(diào)試,而不是使用多種工具輪換操作,靈活性較大。有時(shí)人們說vc呢也指它的內(nèi)部編譯器,集成開發(fā)環(huán)境必須有一個(gè)編譯器內(nèi)核,要不有什么用,例如DevC++其中一個(gè)編譯器內(nèi)核就是gcc。 MFC除了是一個(gè)類庫以外,還是一個(gè)框架,你應(yīng)該試過,在vc++里新建一個(gè)MFC的工程,開發(fā)環(huán)境會(huì)自動(dòng)幫你產(chǎn)生許多文件。xx是版本,它封裝了mfc內(nèi)核,所以你在你的代碼看不到原本的SDK編程中的消息循環(huán)等等東西,因?yàn)镸FC框架幫你封裝好了,這樣你就可以專心的考慮你程序的邏輯,而不是這些每次編程都要重復(fù)的東西,但是由于是通用框架,沒有最好的針對(duì)性,當(dāng)然也就喪失了一些靈活性和效率但是MFC的封裝很淺,所以效率上損失不大,靈活性還可以,雖然也有很多缺陷,但還是一個(gè)比較好的東西。 MFC中最重要的封裝是對(duì)Win32 API的封裝,因此,理解Windows Object和MFC Object (C++對(duì)象,一個(gè)C++類的實(shí)例)之間的關(guān)系是理解MFC的關(guān)鍵之一。所謂Windows Object(Windows對(duì)象)是Win32下用句柄表示的Windows操作系統(tǒng)對(duì)象;所謂MFC Object (MFC對(duì)象)是C++對(duì)象,是一個(gè)C++類的實(shí)例,這里(本書范圍內(nèi))MFC Object是有特定含義的,指封裝Windows Object的C++ Object,并非指任意的C++ Object。MFC Object 和Windows Object是不一樣的,但兩者緊密聯(lián)系。 本章主要講述了本課題在軟硬件設(shè)計(jì)方面需要的基礎(chǔ)知識(shí),包括硬件方面串口聯(lián)網(wǎng)服務(wù)器的原理及工作模式,以及硬件架構(gòu)。軟件方面,介紹了編寫程序時(shí)所需要的VC++軟件,及MFC框架。能夠?yàn)楹竺嬷R(shí)的學(xué)習(xí)提供基礎(chǔ)的幫助。第三章串口聯(lián)網(wǎng)服務(wù)器通訊底層 通信底層設(shè)計(jì)串口聯(lián)網(wǎng)軟件底層以其硬件架構(gòu)為基礎(chǔ)??刂凭W(wǎng)絡(luò)的架構(gòu)采用C/S 模式架構(gòu)。其中串口服務(wù)器運(yùn)行TCP Server端,PC監(jiān)控終端則設(shè)計(jì)為TCP Client端。每一臺(tái)連接到串口服務(wù)器上的串口設(shè)備,都具有固定的IP及端口號(hào)。運(yùn)行在PC的Client監(jiān)控終端,通過Socket與運(yùn)行在串口服務(wù)器的Server端建立通信連接,進(jìn)而控制串口設(shè)備。如下圖51所示:圖 01:底層通信原理連接到網(wǎng)絡(luò)中的串口服務(wù)器,需要把串口服務(wù)器設(shè)置成TCP Server模式。以康海時(shí)代NC600系列串口服務(wù)器為例,其設(shè)置步驟如下:1) 用IE內(nèi)核的瀏覽器登錄串口服務(wù)器的IP地址,進(jìn)入設(shè)置主界面2) 在串口配置項(xiàng)里面配置好響應(yīng)設(shè)備串口的波特率燈參數(shù)。3) 在工作模式中把對(duì)應(yīng)的工作模式設(shè)置成TCP Server工作模式4) 保存提交。 MFC中TCP socket編程串口聯(lián)網(wǎng)網(wǎng)絡(luò)中,串口設(shè)備與PC端監(jiān)控軟件的通信,主要通過TCP socket套接字實(shí)現(xiàn)。TCP為面向連接的一種網(wǎng)絡(luò)連接方式,能夠保證數(shù)據(jù)通信的安全性。MFC中對(duì)socket編程有很好的支持,這為物聯(lián)網(wǎng)串口設(shè)備遠(yuǎn)程監(jiān)控提供了便利。 TCP socket基本原理TCP socket采用流式套接字進(jìn)行網(wǎng)絡(luò)連接。流式套接字提供沒有記錄邊界的數(shù)據(jù)流,即字節(jié)流。字節(jié)流能確保以正確的順序無重復(fù)地被送達(dá)。其主要的編程模型如下:圖 02:流式套接字編程模型在該模型中,服務(wù)器端創(chuàng)建并初始化套接字,監(jiān)聽來自客戶端的連接請(qǐng)求??蛻舳送瑯咏⑻捉幼?, 用于向服務(wù)器端發(fā)起連接請(qǐng)求。當(dāng)服務(wù)器接收到來自客戶機(jī)的連接請(qǐng)求后,與客戶機(jī)建立連接。連接成功后,則服務(wù)器和客戶機(jī)可以進(jìn)行數(shù)據(jù)收發(fā)通信。通信完成后,服務(wù)器和客戶機(jī)關(guān)閉套接字。 基本W(wǎng)indows Socket APIWindows 操作系統(tǒng)提供了很多用于Socket通信的API,可以很方便地開發(fā)Socket通信軟件。主要的API函數(shù)如下:1) WSAStartup 調(diào)用 windows Socket DLL 函數(shù)原型 int WSAStartup(WORD wVersionRequested, // 應(yīng)用程序要求的 sockets 版本LPWSADATA lpWSAData //指向數(shù)據(jù)結(jié)構(gòu) WSDATA 的指針,//得到 windows Socket 的具體信息) ;WSDATA 定義如下:typedef struct WSAData {WORD wVersion。WORD wHighVersion。ifdef _WIN64unsigned short iMaxSockets。unsigned short iMaxUdpDg。char FAR * lpVendorInfo。char szDescription[WSADESCRIPTION_LEN+1]。char szSystemStatus[WSASYS_STATUS_LEN+1]。elsechar szDescription[WSADESCRIPTION_LEN+1]。char szSystemStatus[WSASYS_STATUS_LEN+1]。unsigned short iMaxSockets。unsigned short iMaxUdpDg。char FAR * lpVendorInfo。endif} WSADATA, FAR * LPWSADATA。2)WSACleanup 結(jié)束對(duì) Windows Sockets DLL 的調(diào)用函數(shù)原型:int WSACleanup(void)。3)socket 用于建立 Sockets。函數(shù)原型:SOCKET socket(int af, // 地址族,一般是 AF_INETint type , //socket 類型,SOCK_STREAM 或 SOCK_DGRAMint protocol //協(xié)議類型,通常取值 0)。4)closesocket 關(guān)閉套接字函數(shù)原型:int closesocket(SOCKET s //要關(guān)閉的套接字)。5)bind 將一個(gè)本地地址和一個(gè) SOCKET 描述字連接起來函數(shù)原型:int bind(SOCKET s, // 要綁定的套接字const struct sockaddr FAR* name, // 指向 SOCKADDR 結(jié)構(gòu)的地址int namelen // 地址結(jié)構(gòu)的 sizeof)Tcp/ip SOCKADDR 的結(jié)構(gòu)為struct sockaddr{unsigned short sa_family。char sa_data[4]。}。struct sockaddr_in{short sin_family。unsigned short sin_port。struct in_addr sin_addr。char sin_zero[8]。}。6)listen 設(shè)定 socket 為監(jiān)聽狀態(tài)函數(shù)原型:int listen(SOCKET s, // 進(jìn)行監(jiān)聽的 socketint backlog // 客戶端可以連接的請(qǐng)求個(gè)數(shù))。7) accept 接受一個(gè) socket 的連接請(qǐng)求, 同時(shí)返回一個(gè)新的 socket ,新的 socket 用來在服務(wù)器與客戶端之間傳遞和接收信息。函數(shù)原型:SOCKET accept(SOCKET s, // 處于監(jiān)聽狀態(tài)的 socketstruct sockaddr FAR* addr, //將要接受地址的 sockaddr 指針int FAR* addrlen //地址的長度)。8)connect 連接客戶端的 socket 到指定的網(wǎng)絡(luò)服務(wù)器。連接成功后,客戶端用此 socket 與服務(wù)
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1