• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            ?第4章命名管道
            ?
            ?“命名管道”或“命名管線”(Named Pipes )是一種簡單的進程間通信( I P C)機制,?命名管道可在同一臺計算機的不同進程之間,或在跨越一個網絡的
            不同計算機的不同進程之間,支持可靠的、單向或雙向的數據通信。

            要記住的一個重點是,將命名管道作為一種網絡編程方案使用時,它實際上建立一個簡單的客戶機/服務器數據通信體系,可在其中可靠地傳輸數據。
            4.1.1 命名管道命名規范命名管道的標識是采用U N C格式進行的:
            \ \ s e r v e r \ P i p e \ [ p a t h ] n a m e
            上述字串可分為三部分來觀看: \ \ s e r v e r、\ P i p e和\ [ p a t h ] n a m e。第一部分\ \ s e r v e r指定一個服務器的名字。命名管道便是在那個服務器上創建的,而且要由它對進入的連接請求進行“監聽”。第二部分\ P i p e是一個不可變化的“硬編碼”字串(必須原樣照錄,但不用區分大小寫),用于指出該文件從屬于N P F S。而第三部分\ [ p a t h ] n a m e則使應用程序可以“唯一”定義
            及標定一個命名管道的名字,而且可在這里設置多級目錄。

            4.1.2 字節模式及消息模式
            命名管道提供了兩種基本通信模式:字節模式和消息模式。

            命名管道服務器應用只能在Windows NT或Windows 2000上工作——Windows 95和Windows 98 不允許應用程序創建命名管道!

            4.2.2 高級服務器的細節

            在前面的程序清單4 - 1中,我們展示了如何設計一個命名管道服務器應用,令其只負責對一個管道實例的控制。所有A P I調用都采用同步模式工作。在這種模式下,每個調用都會一直等到I / O請求完成,才會返回。命名管道服務器也能擁有多個管道實例,所以客戶機能夠建立
            同服務器的兩個或更多的連接;管道實例的數量要受到C r e a t e N a m e d P i p e這個A P I調用之n M a x I n s t a n c e s參數指定的數字的限制。要想同時控制不止一個的管道實例,服務器必須考慮使用多個線程,或者使用異步Win32 I/O機制(比如重疊式I / O以及完成端口等),分別為每個管道實例提供服務。

            采用異步I / O機制,服務器可從單獨一個應用程序線程中,同時為所有管
            道實例提供服務。在此,我們將解釋如何使用線程以及重疊式I / O,來開發更高級的服務器應用。

            1 . 線程
            要想開發一個高級服務器,令其使用線程,同時支持多個管道實例,整個過程是非常簡單的。我們要做的唯一事情便是為每個管道實例都創建一個線程.

            2. 重疊式I / O
            重疊式I / O是一種特殊的輸入/輸出機制,允許Win32 API函數(如R e a d F i l e和Wr i t e F i l e)在發出I / O請求之后,以異步方式工作。具體的工作原理是:向這些A P I函數傳遞一個O V E R L A P P E D
            (重疊式)結構,然后使用A P I函數G e t O v e r l a p p e d R e s u l t,從原來那個O V E R L A P P E D結構中,取得一次I / O請求的結果。如果在使用重疊式結構的前提下,調用一個Win32 API函數,那么調用無論如何都會立即返回!

            3. 安全模擬
            之所以會選擇命名管道作為自己的網絡編程方案,一個最好的理由便是它們依賴于Windows NT及Windows 2000的安全機制,Windows NT和Windows 2000安全機制具有“模擬”能力,允許一個命名管道服務器
            應用在客戶機的安全環境中執行。執行一個命名管道服務器應用時,它通常會在用于啟動該應用的那個進程的安全環境許可級別上工作。例如,假如擁有管理員權限的某人啟動了一個命名管道服務器,服務器便有權訪問Windows NT或Windows 2000系統上的幾乎任何資源。此時,假如在C r e a t e N a m e d P i p e中指定的S E C U R I T Y _ D E S C R I P TO R結構允許所有用戶訪問這個
            命名管道,就會埋下極大的安全隱患。

            4.5 小結
            本章向大家介紹了命名管道網絡編程技術,它為我們建立了一個簡單的客戶機/服務器數據通信體系,可確保數據進行可靠傳輸。接口依賴于Wi n d o w s重定向器,以便通過一個網絡來傳送數據。對命令管道而言,它最大的一項好處便是直接利用了Windows NT及Wi n d o w s2 0 0 0的安全機制,該機制是本書講到的其他網絡技術均不具備的一項好處!下面第二部分將向大家深入講解Wi n s o c k技術,以便應用程序利用一種網絡傳輸協議,進行“直接”通信。

            Posted on 2006-09-06 17:24 艾凡赫 閱讀(497) 評論(0)  編輯 收藏 引用 所屬分類: 網絡編程
            久久亚洲综合色一区二区三区| 亚洲综合熟女久久久30p| 久久久亚洲欧洲日产国码aⅴ| 欧美性大战久久久久久| 久久天天日天天操综合伊人av| 欧美亚洲另类久久综合婷婷| 波多野结衣久久精品| 亚洲AV无码久久| 亚洲精品久久久www| 狠狠人妻久久久久久综合蜜桃| 日韩欧美亚洲综合久久影院d3| 理论片午午伦夜理片久久| 久久综合狠狠综合久久综合88| 大香网伊人久久综合网2020| 久久久久97国产精华液好用吗| 九九久久自然熟的香蕉图片| 国产成人久久精品一区二区三区| 亚洲成av人片不卡无码久久| 91精品国产色综合久久| 久久国产免费观看精品3| 精品久久久久久久国产潘金莲| 久久综合久久伊人| 欧美成a人片免费看久久| 亚洲AⅤ优女AV综合久久久| 久久久久久久综合综合狠狠| 久久久久久久久久免免费精品| yy6080久久| 热99re久久国超精品首页| 精品久久久久久久久久中文字幕| 久久国产三级无码一区二区| 国产69精品久久久久观看软件 | 国产精品gz久久久| 午夜不卡久久精品无码免费| 亚洲精品乱码久久久久久自慰 | 无夜精品久久久久久| 精品国产乱码久久久久久郑州公司 | 国产精品永久久久久久久久久| 久久中文骚妇内射| 久久亚洲精品国产亚洲老地址| 91久久婷婷国产综合精品青草| 久久精品国产精品亚洲精品 |