• <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)  編輯 收藏 引用 所屬分類: 網絡編程
            99久久免费国产精品特黄| 久久国产亚洲精品麻豆| 久久久久久久久波多野高潮| 久久婷婷色综合一区二区| 久久亚洲AV无码精品色午夜 | 国产成人久久777777| 久久久久久A亚洲欧洲AV冫| 国产成人精品久久| 青青草原1769久久免费播放| 亚洲国产一成久久精品国产成人综合 | 无码日韩人妻精品久久蜜桃 | 久久无码人妻一区二区三区午夜 | 亚洲精品高清久久| 亚洲人成无码网站久久99热国产| 久久精品九九亚洲精品| 999久久久国产精品| 久久综合香蕉国产蜜臀AV| 久久综合伊人77777麻豆| 久久99国产精品99久久| 久久精品国产亚洲AV不卡| 久久国产精品免费| 久久国产高清字幕中文| 色欲久久久天天天综合网精品| 怡红院日本一道日本久久| 亚洲中文精品久久久久久不卡| 四虎影视久久久免费| 99精品伊人久久久大香线蕉| 久久精品国产亚洲AV电影| 精品久久久无码人妻中文字幕| 欧美精品丝袜久久久中文字幕| 青青草原综合久久| 亚洲国产精品久久久久婷婷软件 | 久久久噜噜噜www成人网| 久久受www免费人成_看片中文| 成人a毛片久久免费播放| 久久这里只有精品久久| AAA级久久久精品无码片| AV无码久久久久不卡蜜桃| 久久国产免费观看精品3| 久久亚洲精品成人AV| 99久久人妻无码精品系列|