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

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            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)。兩種類型都很可靠,原因是沒有連接兩個(gè)進(jìn)程的外部通信函數(shù)。

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

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

            注意:
            文件系統(tǒng)中的路徑名是啟用了 NLS 的。

            下圖舉例說明了 AF_UNIX 地址系列的客戶機(jī)/服務(wù)器關(guān)系。有關(guān)將環(huán)境設(shè)置為使用 AF_UNIX 地址系列的詳細(xì)信息,參見套接字編程的先決條件


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

            套接字事件流:使用 AF_UNIX 地址系列的服務(wù)器應(yīng)用程序
            示例:使用 AF_UNIX 地址系列的服務(wù)器應(yīng)用程序使用以下函數(shù)調(diào)用序列:

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

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

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

              UNIX 域套接字的名稱空間由路徑名組成。當(dāng)套接字程序調(diào)用 bind() 函數(shù)時(shí),會在文件系統(tǒng)目錄中創(chuàng)建一項(xiàng)。如果路徑名已存在,則 bind() 失敗。因此,UNIX 域套接字程序應(yīng)總是調(diào)用 unlink() 函數(shù)以在結(jié)束時(shí)除去該目錄項(xiàng)。

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

            套接字事件流:使用 AF_UNIX 地址系列的客戶機(jī)應(yīng)用程序
            示例:使用 AF_UNIX 地址系列的客戶機(jī)應(yīng)用程序使用以下函數(shù)調(diào)用序列:

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

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

            2. 接收到套接字描述符后,使用 connect() 函數(shù)來建立與服務(wù)器的連接。
            3. send() 函數(shù)發(fā)送指定的 250 字節(jié)數(shù)據(jù),該數(shù)據(jù)是在服務(wù)器應(yīng)用程序中使用 SO_RCVLOWAT 套接字選項(xiàng)指定的。
            4. recv() 函數(shù)一直循環(huán),直到所有 250 字節(jié)數(shù)據(jù)都到達(dá)為止。
            5. close() 函數(shù)關(guān)閉所有打開的套接字描述符。

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

            国产美女久久久| 中文字幕无码久久久| 久久性精品| 亚洲国产二区三区久久| 无码超乳爆乳中文字幕久久| 伊人 久久 精品| 久久99国产精品久久99| 亚洲日本va午夜中文字幕久久 | 色8久久人人97超碰香蕉987| 四虎影视久久久免费| 国产免费久久精品丫丫| 国产午夜精品久久久久九九| 国产成人精品久久一区二区三区av | 久久精品国产亚洲沈樵| 久久久久这里只有精品| 久久久女人与动物群交毛片| 久久人妻少妇嫩草AV无码专区| 99久久综合狠狠综合久久止| 99久久人妻无码精品系列| 国产精品岛国久久久久| 久久综合亚洲色HEZYO社区| 久久无码AV中文出轨人妻| 色狠狠久久综合网| 久久亚洲私人国产精品vA| 中文成人无码精品久久久不卡| 日本福利片国产午夜久久| 久久中文字幕视频、最近更新 | 久久精品国产99国产电影网| 久久综合给合久久狠狠狠97色69| 久久人人爽人人澡人人高潮AV| 亚洲成色999久久网站| 精品国产福利久久久| 99久久精品国内| av无码久久久久不卡免费网站| 久久久久人妻精品一区| 日韩乱码人妻无码中文字幕久久 | 久久精品国产一区二区三区日韩| 久久亚洲国产最新网站| 久久免费美女视频| 97精品国产97久久久久久免费| 精品精品国产自在久久高清|