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

正文內(nèi)容

基于c局域網(wǎng)視頻聊天設(shè)計(jì)-展示頁(yè)

2024-09-12 18:25本頁(yè)面
  

【正文】 ps are nice and all but quite time consuming. strHostName = ()。 endregion // Return an array of the ip addresses assigned to this pc public static IPAddress [] GetAddresses() { IPAddress [] aryLocalAddr = null。 private volatile bool m_bShuttingDown。 region Member variables private ArrayList m_aryClients。 TcpService 類(lèi) namespace TCP { internal class TcpServer : IDisposable { // This is not the max number of connections you can have, it39。 服務(wù)器端連接,是指當(dāng)服務(wù)器端 socket接收到客戶(hù)端 socket的連接 請(qǐng)求后,就把服務(wù)器端 socket 的描述發(fā)給客戶(hù)端,一旦客戶(hù)端確認(rèn)了此描述,連接就建立了。 監(jiān)聽(tīng)連接,服務(wù)器端 socket 并不定位具體的客戶(hù)端 socket,而是處于等待連接的狀態(tài)。為此,客戶(hù)端的 socket 必須首先描述它要連接的服務(wù)器端socket(主要是指服務(wù)器 端 socket 的地址和端口號(hào) ),然后再定位所要連接的服務(wù)器端 socket,找到以后,就向服務(wù)器端 socket 請(qǐng)求連接。 程序描述 Socket 類(lèi): socket 之間 的連接可以分為三種類(lèi)型:客戶(hù)端連接,監(jiān)聽(tīng)連接以及服務(wù)器端連接。 面向連接的 c/s時(shí)序圖如圖 41所示 服務(wù)器 客戶(hù)端 客戶(hù)端 . . . 5 圖 41 程序時(shí)序圖 系統(tǒng)由服務(wù)器終端采集傳輸系統(tǒng)和客戶(hù)端接收系統(tǒng)兩部分組,系統(tǒng)構(gòu)架如圖 42所示 圖 42 系統(tǒng)架構(gòu) 程序設(shè)計(jì)分析 Accept() Recv() Send() Close() Listen() Bind() Socket() 服務(wù)器 發(fā)送數(shù)據(jù) 確認(rèn)發(fā)送數(shù)據(jù) 請(qǐng)求建立連接 Recv() Close() Send() Connect() Socket() 客戶(hù) 攝像頭 采集卡 服務(wù)器服務(wù)程序 網(wǎng)絡(luò)傳輸模塊 網(wǎng)絡(luò)接收模塊 客戶(hù)端程序 解碼 顯示 視頻流 控制指令 視頻流 控制指令 6 任務(wù)目標(biāo) 服務(wù)器端程序目標(biāo):服務(wù)器服務(wù)器端服務(wù)程序進(jìn)行數(shù)據(jù)采集(捕捉攝像頭捕獲數(shù)據(jù)),提供IP端口實(shí)現(xiàn)數(shù)據(jù)流的傳輸。 圖 31 c/s 結(jié)構(gòu) 4 程序流程圖及設(shè)計(jì) 程序時(shí)序圖與系統(tǒng)架構(gòu) 本系統(tǒng)采用面向連接的客戶(hù) /服務(wù)模型,服務(wù)器必須首先啟動(dòng),否則客戶(hù)進(jìn)程的 Connect()系統(tǒng)調(diào)用將返回錯(cuò)誤代碼表示連接失敗。 C/S 架構(gòu) 在網(wǎng)絡(luò)連接模式 中除對(duì)等網(wǎng)外 ,還有另一種形式的網(wǎng)絡(luò),即客戶(hù)機(jī) /服務(wù)器網(wǎng),Client/Server。 TCP將它的信息送到更高層的應(yīng)用程序,例如 Tel 的服務(wù)程序和客戶(hù)程序。 TCP將包排序并進(jìn)行錯(cuò)誤檢查,同時(shí)實(shí)現(xiàn)虛電路間的連接。也可以這樣說(shuō), IP 地址形成了許多服務(wù)的認(rèn)證基礎(chǔ),這些服務(wù)相信數(shù)據(jù)包是從一個(gè)有效的主機(jī)發(fā)送來(lái)的。 IP 數(shù)據(jù)包中含有發(fā)送它的主機(jī)的地址(源地址)和接收它的主機(jī)的地址 4 (目的地址)。 ? IP IP 層接收由更低層(網(wǎng)絡(luò)接口層例如以太網(wǎng)設(shè)備驅(qū)動(dòng)程序)發(fā)來(lái)的數(shù)據(jù)包,并把該數(shù)據(jù)包發(fā)送到更高層 TCP或 UDP層;相反, IP 層也把從 TCP或 UDP 層接收來(lái)的數(shù)據(jù)包傳送到更低層。用戶(hù)為了傳輸一個(gè)文件請(qǐng)求一個(gè)和其它計(jì)算機(jī)的連接,連接 建立后,就開(kāi)始傳輸文件。 ? 應(yīng)用層協(xié)議 相反地,應(yīng)用層協(xié)議用戶(hù)是可以看得到的。通過(guò)這一過(guò)程, IP 和其它網(wǎng)絡(luò)層的協(xié)議共同用于數(shù)據(jù)傳輸。它是在許多信息的基礎(chǔ)上工作的,好 比說(shuō)是機(jī)器的 IP 地址。這些協(xié)議是在系統(tǒng)表層以下工作的。 DirectShow 是一個(gè)開(kāi)放的框架,因此只要有合適的 Filter 來(lái)分析和解碼,可以支持任何格式。 運(yùn)用 DirectShow,可以很方便地從支持 WDM 驅(qū)動(dòng)模型的采集卡上采集數(shù)據(jù),并且調(diào)用其 API 函數(shù)進(jìn)行后期處理。DirectShow[ 1] 是微軟公司在 ActiveMovie 和 Video for Windows 的基礎(chǔ)上推出的基于 COM 的流媒體處理的開(kāi)發(fā)包,與 DirectX 開(kāi)發(fā)包一起發(fā) 布。監(jiān)控服務(wù)器通過(guò) Inter/Intra 輪詢(xún)網(wǎng)絡(luò)攝像機(jī)獲取視頻。 添加文件監(jiān)視服務(wù) 將生成的服務(wù)名為 Webcamservice 的服務(wù)添加視頻監(jiān)視功能: ? 首先,在 C 盤(pán)創(chuàng)建文件夾 w ? 將程序生成的 debug 中的文件復(fù)制到 w 文件夾 ? 在 C/windows/搜索 執(zhí)行文件 ,將其復(fù)制到 w 文件夾 2 ? 啟動(dòng) cmd,打開(kāi)命令提示符窗體鍵入如圖 21 所示 圖 21 添加服務(wù)功能 ? 用 start 命令啟動(dòng)服務(wù) Webcamservice 如圖 22 所示 圖 22 啟動(dòng) Webcamservice 3 項(xiàng)目的設(shè)計(jì)原理 3 DirectShow 技術(shù) 采用網(wǎng)絡(luò)攝像機(jī)的遠(yuǎn)程視頻監(jiān)控具有錄像時(shí)間長(zhǎng)、圖像質(zhì)量好、查詢(xún)速度快等優(yōu)點(diǎn),目前應(yīng)用非常廣泛。因?yàn)?Windows服 務(wù)程序沒(méi)有用戶(hù)界面,為了能使一個(gè)Windows服務(wù)程序能夠正常并有效的在系統(tǒng)環(huán)境下工作,程序員必須實(shí)現(xiàn)一系列的方法來(lái)完成其服務(wù)功能。同樣,一個(gè) Windows服務(wù)程序也不能像一般的應(yīng)用程序那樣被終止。對(duì)于自動(dòng)啟動(dòng)的 Windows服務(wù)程序,它們?cè)?Windows啟動(dòng)或是重啟之后用戶(hù)登錄之前就開(kāi)始執(zhí)行了。Windows 服務(wù)程序雖然是可執(zhí)行的,但是它不像一般的可執(zhí)行文件通過(guò)雙擊就能開(kāi)始運(yùn)行了,它必須有特定的啟動(dòng)方式。可擴(kuò)展性好。 1 1 緒論 視頻 監(jiān)控 是各行業(yè)重點(diǎn)部門(mén)或重要場(chǎng)所進(jìn)行 實(shí)時(shí)監(jiān)控 的物理基礎(chǔ),管理部門(mén)可通過(guò)它獲得有效數(shù)據(jù)、圖像或聲音信息,對(duì)突發(fā)性異常事件的過(guò)程進(jìn)行及時(shí)的監(jiān)視和記憶,用以提供高效、及時(shí)地指揮和高度、布置警力、處理案件等。 本系統(tǒng)采用 DirectShow 網(wǎng) 絡(luò)組播技術(shù)實(shí)現(xiàn)了視頻捕獲、視頻壓縮、網(wǎng)絡(luò)傳輸、視頻解碼和實(shí)時(shí)回放,減小了網(wǎng)絡(luò)帶寬占用,高效的傳輸視頻數(shù)據(jù),獨(dú)立于硬件。完全利用現(xiàn)有 1P 數(shù)據(jù)網(wǎng)絡(luò)傳輸數(shù)據(jù).不需要單獨(dú)布線,顯著降低了系統(tǒng)成本,縮短了系統(tǒng)開(kāi)發(fā)周期,并且可以容易的實(shí)現(xiàn)遠(yuǎn)程監(jiān)測(cè) 2 Windows 服務(wù) 一個(gè) Windows服務(wù)程序是在 Windows操作系統(tǒng)下能完成特定功能的可執(zhí)行的應(yīng)用程序。這些啟動(dòng)方式包括了自動(dòng)啟動(dòng)和手動(dòng)啟動(dòng)兩種 。 而對(duì)于手動(dòng)啟動(dòng)的 Windows 服務(wù)程序,你可以通過(guò)命令行工具的 NET START 命令來(lái)啟動(dòng)它,或是通過(guò)控制面板中管理工具下的服務(wù)一項(xiàng)來(lái)啟動(dòng)相應(yīng)的 Windows服務(wù)程序。因?yàn)?Windows服務(wù)程序一般是沒(méi)有用戶(hù)界面的,所以你也要通過(guò)命令行工具或是下面圖中的工具來(lái)停止它,或是在系統(tǒng)關(guān)閉時(shí)使得 Windows服務(wù)程序自動(dòng)停止。 Windows服務(wù)程序的應(yīng)用范圍很廣,典型的 Windows服務(wù)程序包含了硬件控制、應(yīng)用程序監(jiān)視、系統(tǒng)級(jí)應(yīng)用、診斷、報(bào)告、 Web和文件系統(tǒng)服務(wù)等功能。對(duì)于網(wǎng)絡(luò)攝像機(jī) 傳輸?shù)囊曨l數(shù)據(jù),需要專(zhuān)門(mén)的 Filter 來(lái)處理并在DirectShow 的框架下或回放,或保存。本文以視頻數(shù)據(jù)接收 Filter 的設(shè)計(jì)過(guò)程介紹基于 DirectShow 的視頻數(shù)據(jù)流的傳輸以及通過(guò)自定義的通訊協(xié)議的數(shù)據(jù)解析過(guò)程和 Filter 程序設(shè)計(jì)與實(shí)現(xiàn)過(guò)程。 DirectShow 為多媒體流的捕捉和回放以及二次開(kāi)發(fā)提供了強(qiáng)有力的支持。它廣泛地支持各種媒體格式,包括 Asf, Mpeg, Avi, Dv, Mp3,Wave等等,使得多媒體數(shù)據(jù)的回放變得輕而易舉。 TCP/IP 協(xié)議 在 TCP/IP協(xié)議組分兩種協(xié)議:網(wǎng)絡(luò)層的協(xié)議 , 應(yīng)用層的協(xié)議 ? 網(wǎng)絡(luò)層 協(xié)議 網(wǎng)絡(luò)層協(xié)議管理離散的計(jì)算機(jī)間的數(shù)據(jù)傳輸。 比 如,IP 協(xié)議為用戶(hù)和遠(yuǎn)程計(jì)算機(jī)提供了信息包的傳輸方法。在機(jī)器 IP 地址和其它信息的基礎(chǔ)上, IP 確保信息包能正確地到達(dá)目的機(jī)器。如果沒(méi)有網(wǎng)絡(luò)工具,用戶(hù)就看不到在系統(tǒng)里工作的 IP。比如,文件傳輸協(xié)議 (FTP)用戶(hù)是看得到的。在傳輸時(shí),用戶(hù)和遠(yuǎn)程計(jì)算機(jī)的交換的一部分是能看到的。 IP數(shù)據(jù)包是不可靠的,因?yàn)?IP并沒(méi)有做任何事情來(lái)確認(rèn)數(shù)據(jù)包是按順序發(fā)送的或者沒(méi)有被破壞。高層的 TCP和 UDP 服務(wù)在接收數(shù)據(jù)包時(shí),通常假設(shè)包中的源地址是有效的。 ? TCP 如果 IP數(shù)據(jù)包中有已經(jīng)封好的 TCP數(shù)據(jù)包,那么 IP 將把它們向上傳送到 TCP 層。 TCP數(shù)據(jù)包中包括序號(hào)和確認(rèn),所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。應(yīng)用程序輪流將信息送回 TCP 層, TCP 層便將它們向下傳送到 IP層,設(shè)備驅(qū)動(dòng)程序和物理介質(zhì),最后到接收方。在客戶(hù)機(jī) /服務(wù)器網(wǎng)絡(luò)中,服務(wù)器是網(wǎng)絡(luò)的核心,而客戶(hù)機(jī)是網(wǎng)絡(luò)的基礎(chǔ),客戶(hù)機(jī)依靠服務(wù)器獲得所需要的 網(wǎng)絡(luò)資源 ,而服務(wù)器為客戶(hù)機(jī)提供網(wǎng)絡(luò)必須的資源。無(wú)連接的服務(wù)進(jìn)程也必須首先啟動(dòng)以指定本地的套接字地址否則客戶(hù)進(jìn)程的數(shù)據(jù)服務(wù)請(qǐng)求傳送不到服務(wù)器進(jìn)程。 客戶(hù)端程序目標(biāo):客戶(hù)端程序通過(guò) IP協(xié)議與服務(wù)器端通信,接收并回放服務(wù)器端采集的視頻數(shù)據(jù)流。 客戶(hù)端連接是指由客戶(hù)端的 socket 提出連接請(qǐng)求,要連接的目標(biāo)是服務(wù)器端的 socket。當(dāng)然,服務(wù)器端的socket 此時(shí)未必正好處于準(zhǔn)備好狀態(tài),不過(guò),服務(wù)器端的 socket 會(huì)自動(dòng)維護(hù)客戶(hù)請(qǐng)求連接的隊(duì)列,然后在它認(rèn)為合適的時(shí)候向客戶(hù)端 socket 發(fā)出 允許連接 (accept)的信號(hào),這時(shí)客戶(hù)端 socket 與服務(wù)器端 socket 的連接就建立了。當(dāng)服務(wù)器端 socket 監(jiān)聽(tīng)到或者說(shuō) 接收到客戶(hù)端 socket 的連接請(qǐng)求,它就響應(yīng)客戶(hù)端 socket 的請(qǐng)求建立一個(gè)新的 socket 句柄并與客戶(hù) 端連接,而服務(wù)器端 socket 繼續(xù)處于監(jiān)聽(tīng)狀態(tài),還可以接收其它客戶(hù)端 socket 的連接請(qǐng)求。在本文中的聊天程序用的就是監(jiān)聽(tīng)連接,即服務(wù)器設(shè)置連接個(gè)數(shù)后進(jìn)行監(jiān)聽(tīng),客戶(hù)端進(jìn)行對(duì)服務(wù)器端的連接,這樣就可以進(jìn)行相互通信了。s the number // that can queue up waiting for you to Accept them. If more than MAXCONNECTION // more clients try to connect while you are servicing another, OnConnect is // probably taking too long. 7 const int MAXCONNECTIONS = 3。 private Socket m_sockListener。 private ManualResetEvent ShutDownReady。 string strHostName = 。 if USING_NET11 IPHostEntry ipEntry = ( strHostName )。 endif aryLocalAddr = 。 } return aryLocalAddr。 } public TcpServer(int nPortListen, IPAddress ip) { _TcpServer(nPortListen, ip)。t close the listener // whi
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1