• <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>

            牽著老婆滿街逛

            嚴以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            AF_UNIX 地址系列

            AF_UNIX 地址系列(使用 AF_UNIX 或 AF_UNIX_CCSID 地址系列的套接字)可以是面向連接的(類型 SOCK_STREAM),也可以是無連接的(類型 SOCK_DGRAM)。兩種類型都很可靠,原因是沒有連接兩個進程的外部通信函數。

            UNIX 域數據報套接字的運行方式與 UDP 數據報套接字有所不同。借助 UDP 數據報套接字,客戶機程序就不必調用 bind() 函數,原因是系統會自動指定未使用的端口號。于是服務器可將數據報發送回該端口號。但是,使用 UNIX 域數據報套接字,系統不會自動指定客戶機的路徑名。因此,使用 UNIX 域數據報的所有客戶機程序必須調用 bind() 函數。在客戶機的 bind() 上指定的精確路徑名就是傳遞至服務器的路徑名。因此,如果客戶機指定相對路徑名(即,并非以 / 開頭的全限定路徑名),除非服務器以同一當前目錄運行,否則它不能向客戶機發送數據報。

            應用程序可能對此地址系列使用的示例路徑名就是 /tmp/myserver 或 servers/thatserver。借助 servers/thatserver,可使用并非全限定(未指定 /)的路徑名。這表示該項在文件系統層次結構中的位置應根據當前工作目錄確定。

            注意:
            文件系統中的路徑名是啟用了 NLS 的。

            下圖舉例說明了 AF_UNIX 地址系列的客戶機/服務器關系。有關將環境設置為使用 AF_UNIX 地址系列的詳細信息,參見套接字編程的先決條件


            在服務器和客戶機 AF_UNIX 地址系列示例程序中使用的套接字事件流。

            套接字事件流:使用 AF_UNIX 地址系列的服務器應用程序
            示例:使用 AF_UNIX 地址系列的服務器應用程序使用以下函數調用序列:

            1. socket() 函數返回表示端點的套接字描述符。該語句還標識將對此套接字使用帶有流傳輸(SOCK_STREAM)的 UNIX 地址系列。該函數返回表示端點的套接字描述符。還可使用 socketpair() 函數初始化 UNIX 套接字。

              AF_UNIX 或 AF_UNIX_CCSID 是支持 socketpair() 函數的唯一地址系列。socketpair() 函數返回未命名的和已連接的套接字描述符。

            2. 在創建套接字描述符之后,bind() 函數獲取套接字的唯一名稱。

              UNIX 域套接字的名稱空間由路徑名組成。當套接字程序調用 bind() 函數時,會在文件系統目錄中創建一項。如果路徑名已存在,則 bind() 失敗。因此,UNIX 域套接字程序應總是調用 unlink() 函數以在結束時除去該目錄項。

            3. listen() 允許服務器接受入局客戶機連接。在此示例中,儲備設置為 10。這表示系統將對 10 個入局連接請求排隊,然后才開始拒絕入局請求。
            4. recv() 函數從客戶機應用程序接收數據。在此示例中,我們知道客戶機將發送超過 250 字節的數據。既然如此,就可以使用 SO_RCVLOWAT 套接字選項指定在所有 250 字節數據都到達之前不要喚醒 recv()
            5. send() 函數將數據回傳至客戶機。
            6. close() 函數關閉所有打開的套接字描述符。
            7. unlink() 函數從文件系統除去 UNIX 路徑名。

            套接字事件流:使用 AF_UNIX 地址系列的客戶機應用程序
            示例:使用 AF_UNIX 地址系列的客戶機應用程序使用以下函數調用序列:

            1. socket() 函數返回表示端點的套接字描述符。該語句還標識將對此套接字使用帶有流傳輸(SOCK_STREAM)的 UNIX 地址系列。該函數返回表示端點的套接字描述符。還可使用 socketpair() 函數初始化 UNIX 套接字。

              AF_UNIX 或 AF_UNIX_CCSID 是支持 socketpair() 函數的唯一地址系列。socketpair() 函數返回未命名的和已連接的套接字描述符。

            2. 接收到套接字描述符后,使用 connect() 函數來建立與服務器的連接。
            3. send() 函數發送指定的 250 字節數據,該數據是在服務器應用程序中使用 SO_RCVLOWAT 套接字選項指定的。
            4. recv() 函數一直循環,直到所有 250 字節數據都到達為止。
            5. close() 函數關閉所有打開的套接字描述符。

            posted on 2006-04-20 17:15 楊粼波 閱讀(7023) 評論(0)  編輯 收藏 引用 所屬分類: 網絡編程

            久久强奷乱码老熟女网站| 久久午夜无码鲁丝片午夜精品| 欧美伊香蕉久久综合类网站| 午夜精品久久久久久影视777| 久久影视国产亚洲| 2019久久久高清456| 久久亚洲精品成人AV| 久久99精品久久久久久噜噜| 久久精品无码一区二区WWW| 无码日韩人妻精品久久蜜桃 | 久久精品桃花综合| 久久久久亚洲精品无码蜜桃| 亚洲精品tv久久久久| 久久久无码精品亚洲日韩软件| 亚洲国产小视频精品久久久三级 | 99久久人妻无码精品系列蜜桃 | aaa级精品久久久国产片| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久久精品人妻一区二区三区蜜桃| 久久青青草原精品影院| 人妻中文久久久久| 狠狠色丁香久久婷婷综合五月| 91精品国产91久久久久福利| 亚洲成色999久久网站| 久久免费香蕉视频| 久久精品国产亚洲av日韩| 精品一区二区久久久久久久网站| 国产成人无码精品久久久免费 | 91精品国产91久久综合| 久久久久这里只有精品 | 精品国产乱码久久久久软件| 亚洲精品国精品久久99热一| 狠狠色婷婷综合天天久久丁香| 51久久夜色精品国产| 亚洲国产精品久久电影欧美| 久久精品国产黑森林| 日韩欧美亚洲综合久久影院d3| 日本久久中文字幕| 国产亚洲欧美精品久久久| 国产精品亚洲综合久久| 精品久久久久久久久久久久久久久|