青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

?第二部分Winsock API
?
?Wi n s o c k是網(wǎng)絡(luò)編程接口,而不是協(xié)議。它從U n i x平臺(tái)的B e r k e l e y(B S D)套接字方案借鑒了許多東西,后者能訪問多種網(wǎng)絡(luò)協(xié)議。在Wi n 3 2環(huán)境中,Wi n s o c k接口最終成為一個(gè)真正的“與協(xié)議無(wú)關(guān)”接口,尤其是在Winsock 2發(fā)布之后。
本部分開始之前,我們假定大家已具備了Wi n s o c k(或B S D套接字)的基本知識(shí),而且多少熟悉一些客戶機(jī)/服務(wù)器的Wi n s o c k基本知識(shí)。

第5章網(wǎng)絡(luò)原理和協(xié)議

建立Winsock 2規(guī)范的主要目的是提供一個(gè)與協(xié)議無(wú)關(guān)的傳送接口。

5.1 協(xié)議的特征
本章第一小節(jié)著重講解目前常用網(wǎng)絡(luò)傳送協(xié)議的一些基本特征。通過這里的學(xué)習(xí),大家可掌握與協(xié)議行為類型有關(guān)的一些背景知識(shí)。同時(shí),作為程序員,可大致知道特定協(xié)議在程序中的行為方式。

5.1.1 面向消息
對(duì)每個(gè)離散寫命令來(lái)說(shuō),如果傳送協(xié)議把它們(而且只有它們)當(dāng)做一條獨(dú)立的消息在網(wǎng)上傳送,我們就說(shuō)該協(xié)議是面向協(xié)議的。同時(shí),還意味著接收端在接收數(shù)據(jù)時(shí),返回的數(shù)據(jù)是發(fā)送端寫入的一條離散消息。接收端不能得到更多的消息,僅此而已。比如,在圖5 - 1中,
左邊的工作站向右邊的工作站提交了三條分別是1 2 8、6 4和3 2字節(jié)的消息。作為接收端的工作站發(fā)出三條讀取命令,緩沖區(qū)是2 5 6個(gè)字節(jié)。后來(lái)的各次調(diào)用返回的分別是1 2 8、 6 4 和3 2個(gè)字節(jié)。第一次讀取調(diào)用不會(huì)將這所有的三個(gè)數(shù)據(jù)包都返回,即使這些數(shù)據(jù)包已經(jīng)收到也如此。這稱為“保護(hù)消息邊界”(preserving message boundaries),,一般出現(xiàn)在交換結(jié)構(gòu)化數(shù)據(jù)時(shí)。
網(wǎng)絡(luò)游戲是“保護(hù)消息邊界”的較好范例。每個(gè)玩家均向別的玩家發(fā)出一個(gè)帶有地圖信息的數(shù)據(jù)包。這種通信后面的代碼很簡(jiǎn)單:一個(gè)玩家請(qǐng)求一個(gè)數(shù)據(jù)包,另一個(gè)玩家又準(zhǔn)確地從別的玩家處獲得一個(gè)地圖信息數(shù)據(jù)包。

無(wú)保護(hù)消息邊界的協(xié)議通常稱作“基于流的協(xié)議”。大家要知道“基于流的協(xié)議”這一術(shù)語(yǔ)常用來(lái)指代附加特性。流服務(wù)的定義是連續(xù)的數(shù)據(jù)傳輸;不管消息邊界是否存在,接收端都會(huì)盡量地讀取有效數(shù)據(jù)。對(duì)發(fā)送端來(lái)說(shuō),意味著允許系統(tǒng)將原始消息分解成小消息或把幾條消息積累在一起,形成一個(gè)較大的數(shù)據(jù)包。對(duì)接收端來(lái)說(shuō),則是數(shù)據(jù)一到達(dá)網(wǎng)絡(luò)堆棧,
網(wǎng)絡(luò)堆棧就開始讀取它,并將它緩存下來(lái)等候進(jìn)程處理。在進(jìn)程請(qǐng)求處理大量數(shù)據(jù)時(shí),系統(tǒng)會(huì)在不溢出為客戶請(qǐng)求提供的緩沖區(qū)這一前提下,盡量返回更多的數(shù)據(jù)。在圖5 - 2中,發(fā)送端提交了三個(gè)數(shù)據(jù)包:分別是1 2 8、6 4和3 2個(gè)字節(jié);但是,本地系統(tǒng)堆棧自由地把這些數(shù)據(jù)聚合在一起,形成一個(gè)大的數(shù)據(jù)包。這種情況下,重組后的2個(gè)數(shù)據(jù)包就會(huì)一起傳輸。是否將各個(gè)獨(dú)立的數(shù)據(jù)包累積在一起受許多因素的影響,比如最大傳輸單元或N a g l e算法。在T C P / I P中,在將積累起來(lái)的數(shù)據(jù)發(fā)到線上之前, N a g l e算法在等候數(shù)據(jù)積累的主機(jī)中進(jìn)行。
在需要發(fā)送的數(shù)據(jù)積累到一定數(shù)量或預(yù)定時(shí)間已超過之前,這個(gè)主機(jī)會(huì)一直等下去。實(shí)施N a g l e算法時(shí),主機(jī)的通信方在發(fā)送主機(jī)確認(rèn)之前,會(huì)等一等外出數(shù)據(jù),主機(jī)的通信方就不必發(fā)送一個(gè)只有確認(rèn)的數(shù)據(jù)包。發(fā)送小數(shù)據(jù)包不僅沒有多少意義,而且還會(huì)徒增錯(cuò)誤檢查和確認(rèn),相當(dāng)煩人。
在接收端,網(wǎng)絡(luò)堆棧把所有進(jìn)來(lái)的數(shù)據(jù)包聚集在一起,歸入既定進(jìn)程。我們來(lái)看看圖5 - 2。
如果接收端執(zhí)行一次2 5 6字節(jié)緩沖區(qū)的讀取,系統(tǒng)馬上就會(huì)返回2 2 4個(gè)字節(jié)。如果接收端只要求讀取2 0個(gè)字節(jié),系統(tǒng)就會(huì)只返回2 0個(gè)字節(jié)。

偽流
偽流( p s e u d o - s t r e a m)這個(gè)術(shù)語(yǔ)常用于某種系統(tǒng)中,該系統(tǒng)使用的協(xié)議是基于消息的,
發(fā)送的數(shù)據(jù)分別在各自獨(dú)立的數(shù)據(jù)包內(nèi),接收端讀取并把消息緩存在一起,  這樣,接收應(yīng)用
程序便可讀取任意大小的數(shù)據(jù)塊。把圖5 - 1中的發(fā)送端和圖5 - 2中的接收端結(jié)合起來(lái),便可說(shuō)明
偽流的工作原理。發(fā)送端必須分別發(fā)送各自獨(dú)立的數(shù)據(jù)包,但接收端可以對(duì)收到的數(shù)據(jù)包自
由組合。一般情況下,可把偽流視作一個(gè)普通的“面向流的協(xié)議”。


5.1.2 面向連接和無(wú)連接
通常情況下,一個(gè)協(xié)議提供面向連接的服務(wù),或提供無(wú)連接的服務(wù)。面向連接的服務(wù)中,
進(jìn)行數(shù)據(jù)交換之前,必須與通信方建立一條路徑。這樣既確定了通信方之間存在路由,又保證了通信雙方都是活動(dòng)的、都可彼此響應(yīng),但其特點(diǎn)是在通信雙方之間建立一個(gè)通信信道需要很多開支。除此以外,大部分面向連接的協(xié)議為保證投遞無(wú)誤,可能會(huì)因?yàn)閳?zhí)行額外的計(jì)算來(lái)驗(yàn)證正確性,因此,進(jìn)一步增加開支。而無(wú)連接協(xié)議卻不保證接收端是否正在收聽。無(wú)連接服務(wù)類似于郵政服務(wù):發(fā)信人把信裝入郵箱即可。至于收信人是否想收到這封信或郵局是否會(huì)因?yàn)楸╋L(fēng)雨未能按時(shí)將信件投遞到收信人處等等,發(fā)信人都不得而知。


5.1.3 可靠性和次序性
在設(shè)計(jì)用于特定協(xié)議的應(yīng)用程序來(lái)說(shuō),可靠性和次序性是我們必須了解的最具決定性的特性。大多數(shù)情況下,可靠性和次序性與協(xié)議是無(wú)連接的,還是面向連接的密切相關(guān)。

5.1.4 從容關(guān)閉
從容關(guān)閉只出現(xiàn)在面向連接的協(xié)議中。在這種關(guān)閉過程中,一方開始關(guān)閉通信會(huì)話,但另一方仍然可以讀取線上或網(wǎng)絡(luò)堆棧上已掛起的數(shù)據(jù)。如果面向連接的協(xié)議不支持從容關(guān)閉,
只要其中一方關(guān)閉了通信信道,都會(huì)導(dǎo)致連接立即中斷,數(shù)據(jù)丟失,接收端不能讀取數(shù)據(jù)這些情況出現(xiàn)。

5.1.5 廣播數(shù)據(jù)
廣播數(shù)據(jù)即數(shù)據(jù)從一個(gè)工作站發(fā)出,局域網(wǎng)內(nèi)的其他所有工作站都能收到它。這一特征
適用于無(wú)連接協(xié)議,因?yàn)長(zhǎng) A N上的所有機(jī)器都可獲得并處理廣播消息。。一般情況下,路由器都不會(huì)傳送廣播包。 ?

5.1.6 多播數(shù)據(jù)
多播是指一個(gè)進(jìn)程發(fā)送數(shù)據(jù)的能力,這些數(shù)據(jù)即將由一個(gè)或多個(gè)接收端進(jìn)行接收。進(jìn)程加入一個(gè)多播會(huì)話的方法和采用的基層協(xié)議有關(guān)。視頻會(huì)議應(yīng)用常常使用多播。

5.1.7 服務(wù)質(zhì)量
服務(wù)質(zhì)量( Q o S)是應(yīng)用的一種能力,用以請(qǐng)求針對(duì)專門用途分配特定的帶寬。

5.1.8 部分消息
部分消息只用于面向消息的協(xié)議。

5.1.9 路由選擇的考慮
一個(gè)重要考慮就是協(xié)議是否可路由。如果協(xié)議可路由,就可在兩個(gè)工作站之間建立一條成功的通信路徑(要么是面向連接的回路,要么是數(shù)據(jù)報(bào)的數(shù)據(jù)路徑),不管這兩個(gè)工作站之間存在的網(wǎng)絡(luò)硬件是什么。路由器不對(duì)發(fā)自非路由協(xié)議的數(shù)據(jù)包進(jìn)行轉(zhuǎn)發(fā),即便數(shù)據(jù)包的既定目的地在其連接的子網(wǎng)上。

5.2 支持的協(xié)議
Wi n 3 2平臺(tái)提供的最有用的特征之一是能夠同步支持多種不同的網(wǎng)絡(luò)協(xié)議。
利用Wi n s o c k編程接口的好
處之一是因?yàn)樗且粋€(gè)與協(xié)議無(wú)關(guān)的接口。不管使用的是哪一種協(xié)議,它們的操作大多數(shù)是
相通的。

要想獲得系統(tǒng)中安裝的網(wǎng)絡(luò)協(xié)議的相關(guān)信息,調(diào)用這個(gè)函數(shù)W S A E n u m P r o t o c o l s即可,
打開Winsock在可以調(diào)用一個(gè)Wi n s o c k函數(shù)之前,必須先加載一個(gè)版本正確的Wi n s o c k庫(kù)。Wi n s o c k
啟動(dòng)例程是W S A S t a r t u p,它的定義是:
int WSAStartup(WORD wVe r s i o n R e q u e s t e d , L P W S A D ATA lpWSAData)
第一個(gè)參數(shù)是準(zhǔn)備加載的Wi n s o c k庫(kù)的版本號(hào)。就目前的Wi n 3 2平臺(tái)而言,Winsock 2
庫(kù)的最新版本是2 . 2。唯一的例外是Windows CE,它只支持Winsock 1.1版。如果需要
Winsock 2.2版,指定這個(gè)值( 0 x 0 2 0 2)或使用宏M A K E W O R D ( 2 , 2 )即可。高位字節(jié)指定
副版本,而低位字節(jié)則指定主版本。
第二個(gè)參數(shù)是W S A D ATA結(jié)構(gòu),它是調(diào)用完成之后立即返回的。W S A D ATA包含了W S A S t a r t u p加載的關(guān)于Wi n s o c k版本的信息。
大致說(shuō)來(lái),在W S A D ATA結(jié)構(gòu)中,返回的唯一有用的信息是w Ve r s i o n和w H i g h Ve r s i o n。
屬于最大套接字和最大U D P長(zhǎng)度的條目應(yīng)該從自己正在使用的特定協(xié)議目錄條目中獲取。

在結(jié)束Wi n s o c k庫(kù),而且不再需要調(diào)用任何Wi n s o c k函數(shù)時(shí),會(huì)卸載這個(gè)庫(kù),并釋放資源。這個(gè)函數(shù)的定義是:
int WSACleanup (void);
記住,每次調(diào)用W S A S t a r t u p,都需要調(diào)用相應(yīng)的W S A C l e a n u p,因?yàn)槊看螁?dòng)調(diào)用都
會(huì)增加對(duì)加載Winsock DLL的引用次數(shù),它要求調(diào)用同樣多次的W S A C l e a n u p,以此抵消
引用次數(shù)。

5.4 Windows套接字

。所謂套接字,就是一個(gè)指向傳輸提
供者的句柄。Wi n 3 2中,套接字不同于文件描述符,所以它是一個(gè)獨(dú)立的類型—S O C K E T。
套接字是由兩個(gè)函數(shù)建立的:
SOCKET WSASocket(int af,
???????? int type,
???????? int protocol,
???????? LPWSAPROTOCOL_INOF lpProtocolInfo,
???????? GROUP g,
???????? DWORD dwFlag
???????? );
SOCKET socket(int af,
???????int type,
???????int protocol
???????);
第一個(gè)參數(shù)a f,是協(xié)議的地址家族。比如,如果想建立一個(gè)U D P或T C P套接字,可用常量A F _ I N E T來(lái)指代互聯(lián)網(wǎng)協(xié)議( I P)。
第二個(gè)參數(shù)t y p e,是協(xié)議的套接字類型。套接字的類型可以是下面五個(gè)值:
?S O C K _ S T R E A M、S O C K _ D G R A M、S O C K _ S E Q PA C K E T、S O C K _ R AW和S O C K _ R D M。
第三個(gè)參數(shù)是p r o t o c o l。指定的地址家族和套接字類型有多個(gè)條目時(shí),就可用
這個(gè)字段來(lái)限定使用特定傳輸。

最后兩個(gè)W S A S o c k e t標(biāo)志很簡(jiǎn)單。組參數(shù)始終為0,因?yàn)槟壳吧袩o(wú)可支持套接字組的
Wi n s o c k版本。要指定一個(gè)或多個(gè)下列標(biāo)志,可用d w F l a g s參數(shù):
■ W S A _ F L A G _ O V E R L A P P E D
■ W S A _ F L A G _ M U LT I P O I N T _ C _ R O O T
■ W S A _ F L A G _ M U LT I P O I N T _ C _ L E A F
■ W S A _ F L A G _ M U LT I P O I N T _ D _ R O O F
■ W S A _ F L A G _ M U LT I P O I N T _ D _ L E A F
第一個(gè)標(biāo)志W(wǎng) S A _ F L A G _ O V E R L A P P E D,用于指定這個(gè)套接字具備重疊I / O(是適用于
Wi n s o c k的可能實(shí)現(xiàn)的通信模式之一)。這個(gè)主題將在第8章詳細(xì)討論。調(diào)用s o c k e t建立一個(gè)套
接字時(shí), W S A _ F L A G _ O V E R L A P P E D便是默認(rèn)設(shè)置。一般說(shuō)來(lái),在使用W S A S o c k e t時(shí),最好
始終保持設(shè)定該標(biāo)志。后面四個(gè)標(biāo)志用于處理多播套接字。


原始套接字
利用W S A S o c k e t建立套接字時(shí),可向函數(shù)調(diào)用傳送一個(gè)W S A P R O TO CO L _ I N F O結(jié)構(gòu),以
定義準(zhǔn)備建立的那個(gè)套接字的類型;盡管如此,還是可建立一些套接字類型(在傳輸提供者
目錄中,它們沒有相應(yīng)的條目)。最佳示例是I P協(xié)議下的原始套接字。原始套接字一種通信,
允許你把其他協(xié)議封裝在U D P數(shù)據(jù)包中,比如說(shuō)“互聯(lián)網(wǎng)控制消息協(xié)議”(I C M P)。I C M P的
目的是投遞互聯(lián)網(wǎng)主機(jī)間的控制、錯(cuò)誤和信息型消息。由于I C M P不提供任何數(shù)據(jù)傳輸功能,
因此不能把它與U D P或T C P同等看待,但它和I P本身屬于同一個(gè)級(jí)別。

Winsock API安裝在“會(huì)話層”和“傳送層”之間。

5.6 選擇適當(dāng)?shù)膮f(xié)議
T C P / I P就是首選協(xié)議之一,至少?gòu)闹С帜芰臀④浀馁澲@一角度來(lái)看,是
這樣的

5.7 小結(jié)
通過本章的學(xué)習(xí),大家已了解為應(yīng)用程序選擇網(wǎng)絡(luò)傳輸時(shí)應(yīng)該知道的基本特性。在為指100計(jì)計(jì)第二部分附Winsock API
下載定的協(xié)議開發(fā)成功的網(wǎng)絡(luò)應(yīng)用程序時(shí),了解這些特性是至關(guān)重要的。我們還有計(jì)劃地深入探討了如何獲得安裝在系統(tǒng)中的傳輸提供者列表和如何查詢特定屬性。最后,我們還學(xué)習(xí)了如何為指定的傳輸建立套接字,方法是為W S A S o c k e t或s o c k e t函數(shù)指定正確的參數(shù),再利用
W S A E n u m P r o t o c o l s查詢目錄條目以及通過W S A P R O TO C O L _ I N F O結(jié)構(gòu),把函數(shù)投遞到W S A S o c k e t。下一章,我們將進(jìn)一步探討各主要協(xié)議的定址方法。

?

Posted on 2006-09-06 19:00 艾凡赫 閱讀(437) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 網(wǎng)絡(luò)編程
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美大片一区二区三区| 欧美理论电影在线播放| 亚洲男人天堂2024| 亚洲精品一区二区三| 欧美日韩一区高清| 欧美性淫爽ww久久久久无| 欧美亚洲专区| 久久久久久久久综合| 欧美一区二区日韩| 久久久精品国产99久久精品芒果| 欧美丝袜一区二区三区| 欧美另类高清视频在线| 欧美护士18xxxxhd| 国产精品劲爆视频| 欧美日韩在线一二三| 免费高清在线一区| 久久人人爽人人爽爽久久| 亚洲国产黄色| 久久久av毛片精品| 午夜在线a亚洲v天堂网2018| 亚洲欧美视频在线观看视频| 国产欧美另类| 亚洲午夜伦理| 国产精品成人免费| 一本一本久久a久久精品综合麻豆 一本一本久久a久久精品牛牛影视 | 国产精品永久免费| 国产精品国产| 亚洲美女精品久久| 欧美顶级少妇做爰| 欧美jizzhd精品欧美巨大免费| 久久亚洲精品一区二区| 久久伊人免费视频| 亚洲综合精品一区二区| 国产精品成人一区二区艾草| 亚洲精品视频在线| 欧美主播一区二区三区美女 久久精品人 | 亚洲国产二区| 亚洲欧美日韩视频二区| 亚洲国产一区在线观看| 久久riav二区三区| 国产精品高潮粉嫩av| 午夜久久福利| 久久久av水蜜桃| 欧美喷水视频| 欧美电影免费网站| 欧美日韩亚洲一区二区| 亚洲少妇诱惑| 久久综合久久久久88| 欧美一区二区三区在线播放| 香蕉亚洲视频| 亚洲九九精品| 久久久精品一区| 欧美在线短视频| 国产精品国产三级国产aⅴ入口| 久久影院午夜论| 亚洲精品国产精品国自产观看| 国产午夜久久久久| 欧美精品二区三区四区免费看视频| 蜜臀久久99精品久久久画质超高清| 欧美在线观看网址综合| 亚洲国产成人精品女人久久久| 亚洲日产国产精品| 在线亚洲免费视频| 亚洲欧美国产va在线影院| 国产精品大片wwwwww| 一区二区三区日韩| 久久精品国产久精国产思思| 国产日韩av高清| 美女91精品| 亚洲理伦在线| 理论片一区二区在线| 欧美午夜宅男影院在线观看| 国产精品欧美激情| 亚洲欧美国产精品桃花| 亚洲四色影视在线观看| 国产精品家教| 亚洲福利电影| 国产精品大全| 欧美激情中文不卡| 中文欧美日韩| 久久精品视频免费播放| 亚洲女同同性videoxma| 久久精品国语| 亚洲视频每日更新| 久久全球大尺度高清视频| 一区二区久久久久| 女人色偷偷aa久久天堂| 欧美一区二区三区在线观看 | 亚洲影院一区| 亚洲精品久久久久久久久久久久久| 欧美成人精品一区| 99国产精品99久久久久久粉嫩| 亚洲在线一区二区| 亚洲欧美视频在线观看视频| 欧美成人精品一区| 国产精品区一区二区三区| 久久这里只有| 一区二区三区四区五区精品| 亚洲一区免费| 先锋影音网一区二区| 国产欧美亚洲视频| 欧美成年人视频网站欧美| 欧美成人一区在线| 欧美在线视频二区| 欧美日韩精品在线播放| 久久久久久夜| 欧美亚州一区二区三区| 欧美电影资源| 亚洲黄色有码视频| 亚洲国产小视频| 欧美精品久久99| 中日韩美女免费视频网址在线观看| 久久久99精品免费观看不卡| 激情综合色综合久久| 香蕉久久国产| 欧美福利一区二区| 亚洲国产成人精品视频| 日韩视频一区| 欧美日韩高清在线| 亚洲一区免费看| 亚洲国产专区| 欧美在线播放高清精品| 国产欧美日韩亚洲| 欧美午夜精品电影| 欧美成人中文字幕| 亚洲自拍偷拍麻豆| 亚洲国产成人久久综合一区| 小黄鸭精品aⅴ导航网站入口| 国产女人水真多18毛片18精品视频| 一区二区三区久久精品| 久久激情视频久久| 在线视频欧美日韩| 久久av一区二区三区| 久久精品国产一区二区三区免费看| 亚洲无线一线二线三线区别av| 艳妇臀荡乳欲伦亚洲一区| 国产色婷婷国产综合在线理论片a| 久久精品中文| 99国产精品视频免费观看一公开 | 亚洲天堂成人| 国产精品黄页免费高清在线观看| 亚洲精选在线观看| 久久综合九色综合欧美就去吻 | 久久免费午夜影院| 国产精品精品视频| 亚洲欧美999| 欧美一区亚洲二区| 国产综合久久| 欧美一区二区播放| 欧美视频在线观看一区| 这里只有视频精品| 久久av二区| 在线观看日韩www视频免费| 欧美+亚洲+精品+三区| 亚洲三级色网| 亚洲欧美网站| 一区三区视频| 亚洲风情在线资源站| 亚洲精品无人区| 国产精品免费看| 久久久久亚洲综合| 亚洲人在线视频| 欧美制服丝袜第一页| 亚洲国产高清aⅴ视频| 欧美小视频在线观看| 久久精品国产99| 亚洲精品国产日韩| 久久精品国亚洲| 99re66热这里只有精品4| 国产精品成人一区二区网站软件 | 久久国产精品久久久| 久久综合婷婷| 在线亚洲精品| 精品电影一区| 国产精品久久久久久久久免费樱桃 | 每日更新成人在线视频| 亚洲美女免费视频| 国产一区二区中文字幕免费看| 亚洲高清二区| 亚洲欧美成人综合| 亚洲精品护士| 国产真实久久| 国产精品美女视频网站| 玖玖精品视频| 性xx色xx综合久久久xx| 亚洲精品之草原avav久久| 久久免费的精品国产v∧| 一区二区三区色| 亚洲国产精品综合| 国产亚洲精品高潮| 国产精品久久久久久妇女6080| 一本大道久久a久久精二百| 老司机精品视频一区二区三区| 国产一区二区主播在线| 国产精品爱啪在线线免费观看| 亚洲人成在线免费观看| 久久精品视频播放| 香蕉久久久久久久av网站| 一区二区三区高清在线观看| 91久久久精品|