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

正文內(nèi)容

基于網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)-資料下載頁(yè)

2025-06-27 21:23本頁(yè)面
  

【正文】 信息; NetworkStream 類則提供用于25網(wǎng)絡(luò)訪問的基礎(chǔ)數(shù)據(jù)流等,常見的許多 Inter 服務(wù)都可以見到 Socket 的蹤影,如 Tel、Http、Email、Echo 等,這些服務(wù)盡管通訊協(xié)議 Protocol 的定義不同,但是其基礎(chǔ)的傳輸都是采用的 Socket。其實(shí),Socket 可以象流Stream 一樣被視為一個(gè)數(shù)據(jù)通道,這個(gè)通道架設(shè)在應(yīng)用程序端(客戶端)和遠(yuǎn)程服務(wù)器端之間,而后,數(shù)據(jù)的讀取(接收)和寫入(發(fā)送)均針對(duì)這個(gè)通道來(lái)進(jìn)行??梢?,在應(yīng)用程序端或者服務(wù)器端創(chuàng)建了 Socket 對(duì)象之后,就可以使用 Send/SentTo 方法將數(shù)據(jù)發(fā)送到連接的 Socket,或者使用Receive/ReceiveFrom 方法接收來(lái)自連接 Socket 的數(shù)據(jù);針對(duì) Socket 編程,.NET 框架的 Socket 類是 Winsock32 API 提供的套接字服務(wù)的托管代碼版本。其中為實(shí)現(xiàn)網(wǎng)絡(luò)編程提供了大量的方法,大多數(shù)情況下,Socket 類方法只是將數(shù)據(jù)封送到它們的本機(jī) Win32 副本中并處理任何必要的安全檢查。在使用之前,你需要首先創(chuàng)建 Socket 對(duì)象的實(shí)例,這可以通過(guò) Socket 類的構(gòu)造方法來(lái)實(shí)現(xiàn):Socket(addressFamily,SocketType, protocolType);其中,addressFamily 參數(shù)指定 Socket 使用的尋址方案,SocketType 參數(shù)指定 Socket 的類型,protocolType 參數(shù)指定 Socket 使用的協(xié)議。 一旦創(chuàng)建 Socket,在客戶端,你將可以通過(guò) Connect 方法連接到指定的服務(wù)器,并通過(guò) Send/SendTo 方法向遠(yuǎn)程服務(wù)器發(fā)送數(shù)據(jù),而后可以通過(guò)Receive/ReceiveFrom 從服務(wù)端接收數(shù)據(jù);而在服務(wù)器端,你需要使用 Bind 方法綁定所指定的接口使 Socket 與一個(gè)本地終結(jié)點(diǎn)相聯(lián),并通過(guò) Listen 方法偵聽該接口上的請(qǐng)求,當(dāng)偵聽到用戶端的連接時(shí),調(diào)用 Accept 完成連接的操作,創(chuàng)建新的 Socket 以處理傳入的連接請(qǐng)求。使用完 Socket 后,記住使用 Shutdown 方法禁用 Socket,并使用 Close 方法關(guān)閉 Socket。其間用到的方法/函數(shù)有:1) public void Connect(EndPoint remoteEP)。建立到遠(yuǎn)程設(shè)備的連接2) public int Send(byte[], int, SocketFlags)。從數(shù)據(jù)中的指示位置開始將數(shù)據(jù)發(fā)送到連接的 Socket。3) public int SendTo(byte[], EndPoint)。將數(shù)據(jù)發(fā)送到特定終結(jié)點(diǎn)。4) public int Receive(byte[],int,SocketFlags)。將數(shù)據(jù)從連接的 Socket 接收到接收緩沖區(qū)的特定位置。5) public int ReceiveFrom(byte[], int, SocketFlags, ref EndPoint)。接收數(shù)據(jù)緩沖區(qū)中特定位置的數(shù)據(jù)并存儲(chǔ)終結(jié)點(diǎn)。6) public void Bind( EndPoint localEP )。使 Socket 與一個(gè)本地終結(jié)點(diǎn)相關(guān)聯(lián)。267) public void Listen( int backlog )。將 Socket 置于偵聽狀態(tài)。8) public Socket Accept()。創(chuàng)建新的 Socket 以處理傳入的連接請(qǐng)求。9) public void Shutdown( SocketShutdown how )。禁用某 Socket 上的發(fā)送和接收。10) public void Close()。強(qiáng)制 Socket 連接關(guān)閉。以上許多方法包含 EndPoint 類型的參數(shù),在 Inter 中,TCP/IP 使用一個(gè)網(wǎng)絡(luò)地址和一個(gè)服務(wù)端口號(hào)來(lái)唯一標(biāo)識(shí)設(shè)備。網(wǎng)絡(luò)地址標(biāo)識(shí)網(wǎng)絡(luò)上的特定設(shè)備;端口號(hào)標(biāo)識(shí)要連接到的該設(shè)備上的特定服務(wù)。網(wǎng)絡(luò)地址和服務(wù)端口的組合稱為終結(jié)點(diǎn),在 .NET 框架中正是由 EndPoint 類表示這個(gè)終結(jié)點(diǎn),它提供表示網(wǎng)絡(luò)資源或服務(wù)的抽象,用以標(biāo)志網(wǎng)絡(luò)地址等信息。.Net 同時(shí)也為每個(gè)受支持的地址族定義了 EndPoint 的子代;對(duì)于 IP 地址族,該類為 IPEndPoint。IPEndPoint 類包含應(yīng)用程序連接到主機(jī)上的服務(wù)所需的主機(jī)和端口信息,通過(guò)組合服務(wù)的主機(jī) IP 地址和端口號(hào),IPEndPoint 類形成到服務(wù)的連接點(diǎn)。用到 IPEndPoint 類的時(shí)候就不可避免地涉及到計(jì)算機(jī) IP 地址,.Net 中有兩種類可以得到 IP 地址實(shí)例:IPAddress 類。IPAddress 類包含計(jì)算機(jī)在 IP 網(wǎng)絡(luò)上的地址。其 Parse方法可將 IP 地址字符串轉(zhuǎn)換為 IPAddress 實(shí)例。Dns 類:向使用 TCP/IP Inter 服務(wù)的應(yīng)用程序提供域名服務(wù)。其 Resolve 方法查詢 DNS 服務(wù)器以將用戶友好的域名映射到數(shù)字形式的 Inter 地址。 Resolve 方法 返回一個(gè) IPHostEnty 實(shí)例,該實(shí)例包含所請(qǐng)求名稱的地址和別名的列表。大多數(shù)情況下,可以使用 AddressList 數(shù)組中返回的第一個(gè)地址。也可以使用 GetHostName 方法得到 IPHostEntry 實(shí)在使用以上方法時(shí),你將可能需要處理 2 種異常。1)SocketException 異常。訪問 Socket 時(shí)操作系統(tǒng)發(fā)生錯(cuò)誤引發(fā) ArgumentNullException 異常,參數(shù)為空引用引發(fā) 。2)ObjectDisposedException 異常。Socket 已經(jīng)關(guān)閉引發(fā)。 確定了遠(yuǎn)程設(shè)備的地址并選擇了用于連接的端口后,應(yīng)用程序可以嘗試建立與遠(yuǎn)程設(shè)備的連接。Socket 類支持兩種基本模式:同步和異步。其區(qū)別在于:在同步模式中,對(duì)執(zhí)行網(wǎng)絡(luò)操作的函數(shù)(如 Send 和 Receive)的調(diào)用一直等到操作完成后才將控制返回給調(diào)用程序。在異步模式中,這些調(diào)用立即返回。 另外,很多時(shí)候,Socket 編程視情況不同需要在客戶端和服務(wù)器端分別予以實(shí)現(xiàn),在客戶端編制應(yīng)用程序向服務(wù)端指定端口發(fā)送請(qǐng)求,同時(shí)編制服務(wù)端27應(yīng)用程序處理該請(qǐng)求。遠(yuǎn)程主機(jī)指定端口接受到這一請(qǐng)求后,就可利用其公用服務(wù)。 客戶端仿真程序設(shè)計(jì)與實(shí)現(xiàn)在整個(gè)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中,本文最重要的也是工作量最大的部分就是客戶端視頻圖像的接收模塊,由于未能有相應(yīng)的硬件發(fā)送數(shù)據(jù)端,所以下面我們將以本機(jī)同時(shí)作為服務(wù)端和客戶端進(jìn)行通信,從而模擬視頻數(shù)據(jù)的收發(fā),實(shí)現(xiàn)視頻監(jiān)控。 仿真程序模塊劃分根據(jù)實(shí)際的應(yīng)用需要在本系統(tǒng)中,客戶端軟件的功能主要分為以下幾個(gè)模塊:1)連接服務(wù)模塊。此模塊是其它幾個(gè)模模塊能夠工作的前提,只有在客戶端連接到服務(wù)端后才能進(jìn)行相關(guān)圖像及視頻數(shù)據(jù)的抓取和保存。2)圖像采集模塊。通過(guò)該模塊,用戶可以將接收到的視頻數(shù)據(jù)根據(jù)需要保存為圖像。3)視頻采集模塊。通過(guò)該模塊,用戶可以將接收到的視頻數(shù)據(jù)根據(jù)需要保存為視頻文件。4)播放視頻模塊。不管是為了娛樂還是為了觀看監(jiān)控現(xiàn)場(chǎng)的視頻,這個(gè)模塊主要是用來(lái)觀看用戶已經(jīng)錄制好的視頻文件,從而保證即使沒有相應(yīng)的播放器,用戶也可以觀看保存下來(lái)的視頻,當(dāng)然也可以在一定的程度上節(jié)省了打開其它播放器的時(shí)間和節(jié)省系統(tǒng)資源。5)界面顯示模塊。用戶可以自己定制自己想要的界面,畢竟任何一個(gè)不變界面能滿足所有用戶的喜好,所以這個(gè)模塊極大地體現(xiàn)了客戶程序的開放性和自定義性,能夠讓用戶定義背景顏色或者字體。6)信息顯示模塊。用來(lái)顯示相關(guān)的連接服務(wù)端的信息及其在抓拍圖像或者錄像過(guò)程中遇到的一些異常情況。方便出現(xiàn)問題時(shí)有據(jù)可依。 連接服務(wù)模塊服務(wù)連接模塊的相關(guān)項(xiàng)如圖 16 所示。28圖 16 連接服務(wù)模塊連接服務(wù)模塊的相關(guān)流程如圖 17。圖 17 連接服務(wù)器流程圖1) 設(shè)置服務(wù)器端的 IP 地址。在啟動(dòng)客戶端軟件后,第一件要做的事就是設(shè)置 IP 地址,為了保存用戶設(shè)置的 IP 地址,在程序中定義了一個(gè)類型為是是否否設(shè)置服務(wù)端 IP 地址合法 IP 地址?連接服務(wù)器成功?斷開服務(wù) 錄像抓圖提示信息29IPAddress 的變量: ipaddress(見附錄 D,如有特別說(shuō)明,否則本章所有的變量及方法均出自附錄 D),當(dāng)用戶在 serverIPAddressWindow 中輸入正確的 IP 地址后將會(huì)通過(guò)其構(gòu)造函數(shù)傳給 MonitoringWindow 中的 ipaddress。在此我們必須要解決在兩個(gè)窗體間進(jìn)行通信的問題,一個(gè)可行的并且已經(jīng)證明是不錯(cuò)的方法是在 serverIPAddressWindow 類中添加一個(gè) videoWindow(videoWindow 是MonitoringWindow 窗體中的一個(gè)類)類型的變量,并在 MonitoringWindow 窗體中創(chuàng)建 serverIPAddressWindow 窗體的時(shí)候?qū)⒈旧碜鳛樽兞總魅?。由于?C中類是引用類型的所以任何在 serverIPAddressWindow 中對(duì) videoWindow 的改變都會(huì)反應(yīng)到 videoWindow 本身。從而當(dāng) serverIPAddressWindow 重新設(shè)置 IP 地址時(shí)新的 IP 地址將會(huì)被保存在 videoWindow 的 ipaddress 中。serverIPAddressWindow 的構(gòu)造函數(shù)為:public ServerIPAddressWindow(VideoWindow vw);在 MonitoringWindow 中創(chuàng)建 serverIPAddressWindow 時(shí)用 this 代替 vw 即可。由于 IP 地址是由有限的數(shù)字范圍組成的(每個(gè)段的 IP 數(shù)字為 0255) ,而不能是其它的字符,為了保證輸入的 IP 地址的正確性,必須在給 ipaddress 傳遞值之前對(duì)其進(jìn)行相應(yīng)的處理,從而確保在連接服務(wù)器的時(shí)候不會(huì)發(fā)生連接不上服務(wù)的情況。所以對(duì)于任何輸入大于 255 或者小于 0 的值的時(shí)候?qū)⒉唤oipaddress 傳值并且將文本框的背景置紅色予以提示,對(duì)于任何輸入不是數(shù)字的字符,在鍵盤將值傳給系統(tǒng)之前,程序?qū)⒔厝∠嚓P(guān)消息而不予以處理這樣文本框中就不會(huì)顯示。關(guān)鍵代碼如下:if (( 48 || 57) amp。amp。 ( != 8)) = true。在輸入正確的IP地址后,為了讓程序界面看起來(lái)更加簡(jiǎn)潔,則可以隱藏serverIPAddressWindow窗體。調(diào)用方法Hide()即可。當(dāng)用戶重新要輸入IP地址的時(shí)候調(diào)用Show()方法即可顯示serverIPAddressWindow窗體。2) 連接服務(wù)器。在設(shè)置了正確的 IP 地址后,ipaddress 已經(jīng)存儲(chǔ)了正確的 IP 地址,于是利用 ipaddress 可以開始初始化 ipEndPoint 對(duì)象,代碼如下:ipEndPoint = new IPEndPoint(ipaddress, portNumber)。由于在服務(wù)端程序已經(jīng)將端口號(hào)綁定為 8888,所心在初始化 portNumber時(shí)它的值也設(shè)置成了 8888,通過(guò)初始化 ipEndPoint 我們可以找到服務(wù)器所在的地址,當(dāng)然要想與服務(wù)器進(jìn)行通信必須創(chuàng)建 Socket 對(duì)象,如下:clientSocket = new Socket(, , );30然后調(diào)用 ConnectServer()函數(shù)與服務(wù)器進(jìn)行連接。如果成功連接上了服務(wù)器則置標(biāo)志 isSuccessedToConnectServer 為 true。如果失去了同服務(wù)器的連接則置 isSuccessedToConnectServer 為 false,通過(guò)判斷isSuccessedToConnectServer 的值決定是否向服務(wù)端發(fā)送請(qǐng)求,從而可以避免因失去連接后向服務(wù)器發(fā)送請(qǐng)求產(chǎn)生異常。3) 斷開與服務(wù)器的連接。調(diào)用 ()方法即可斷開與服務(wù)器的連接并置 isSuccessedToConnectServer 為 false,但并不會(huì)釋放所有的相關(guān)資源,只是暫時(shí)不與服務(wù)器通信而已,當(dāng)用戶下次連接服務(wù)器的時(shí)候會(huì)使用保存在 ipaddres 中的值重新與服務(wù)器建立連接,而不必重新啟動(dòng)客戶端應(yīng)用程序。4) 退出程序。斷開與服務(wù)器的連接,停止接收數(shù)據(jù),釋放所有資源,關(guān)閉應(yīng)用程序。 圖像采集模塊連接服務(wù)器成功后,客戶端便開始向服務(wù)器發(fā)送請(qǐng)求,開始接收數(shù)據(jù)。流程如圖 18。接收完成否否接收數(shù)據(jù)是否等待服務(wù)響應(yīng)未斷開連接?網(wǎng)絡(luò)流可寫?發(fā)送請(qǐng)求線程休眠網(wǎng)絡(luò)流可讀?線程休眠是是31成功接收到來(lái)自服務(wù)器的圖像數(shù)據(jù)后,用戶即可以對(duì)圖像加以抓拍保存。按成功接收到數(shù)據(jù)后,便可以進(jìn)行數(shù)據(jù)存儲(chǔ)。抓拍方式不同可以分為兩類:1) 單拍。默認(rèn)情況下,我們使用的是單拍,為了保證程序的正常運(yùn)行,必須將所有與多拍有關(guān)的選項(xiàng)標(biāo)志為不可用。在圖像采集模塊中與多拍有關(guān)的主要項(xiàng)為“每幀間距”和“連拍次數(shù)” 。通過(guò)將它們的 Enable 屬性置為 false 即可達(dá)到禁用的目的。于是在用戶每一次調(diào)用 GrabOneFrameImage()的時(shí)候只保存一幀圖像到指定的位置。2) 多拍。多拍時(shí)為了設(shè)置相關(guān)的每幀間距和連拍次數(shù),將“每幀間距”和“連拍次數(shù)”的 Enable 屬性置為 true 便可以重新使用它們。程序中用于存儲(chǔ)每幀間距的變量為 intervalBetweenTwoFrame(以秒為單位),用于存儲(chǔ)連拍次數(shù)的變量為
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1