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

置頂隨筆

 老手拍磚。轉(zhuǎn)載請注明  ziyebuboka    http://www.shnenglu.com/ziyebuboka/
        總所周知,要想服務(wù)器的高效率實(shí)現(xiàn),那么多線程是不可避免的,但是游戲服務(wù)器的多玩家交互的特殊性又使得在邏輯層實(shí)現(xiàn)多線程成為了安全瓶頸,以往的架構(gòu)也是只有通過結(jié)構(gòu)功能的不同來實(shí)現(xiàn)多線程,比如 網(wǎng)絡(luò)層一個線程 邏輯層一個線程 等等,但是如此并不能有效的通過多線程方式來較好的實(shí)現(xiàn)服務(wù)器的高效處理。本文就是探討的如何通過結(jié)合游戲服務(wù)器的特殊性來異變當(dāng)前主流的網(wǎng)絡(luò)包架構(gòu)模式從而實(shí)現(xiàn)服務(wù)端的多線程。
      先來看下主流網(wǎng)絡(luò)包的架構(gòu)模式:
              網(wǎng)絡(luò)層單獨(dú)線程來對LinkManager進(jìn)行管理,收發(fā)消息加入到LinkMessageBuff(單個Link的消息緩存)中---》收到消息加入服務(wù)器消息隊(duì)列中(這里一般可以通過一個消息回調(diào)函數(shù)將消息BUFF引出加入到服務(wù)器的消息隊(duì)列中),而后是服務(wù)器的消息處理線程對消息隊(duì)列進(jìn)行處理,拿出消息做邏輯處理。
              如此架構(gòu),在通用模式下較好,較好的實(shí)現(xiàn)了模塊化方式,單獨(dú)庫的形式,并且與服務(wù)器的具體邏輯處理耦合度較低(只有服務(wù)器開啟的一次網(wǎng)絡(luò)包導(dǎo)出消息的回調(diào)函數(shù)的注冊),但是如此出現(xiàn)的情況是,消息加入到了服務(wù)器的主消息隊(duì)列,而后只有一個消息邏輯處理線程對其進(jìn)行操作,進(jìn)行各個邏輯處理,在某種程度上無法較好的實(shí)現(xiàn)多線程。http://www.shnenglu.com/ziyebuboka/
              這種情況下,我也做過討論和嘗試,一般的處理情況是在主消息隊(duì)列邏輯處理線程之下再分線程(比如可直接轉(zhuǎn)發(fā)線程,或者根據(jù)邏輯模塊轉(zhuǎn)發(fā)線程處理),但是得到的結(jié)果是,
               一個是安全上無法做到保證,比如說從主消息隊(duì)列再直接轉(zhuǎn)發(fā)分配到多個線程進(jìn)行處理,但是這里就無法保證消息處理的先后順序了,大家都很清楚,在一些玩家的邏輯操作上,先后順序是需要嚴(yán)格的保證的。
              一個是開發(fā)成本過高,比如實(shí)現(xiàn)單個邏輯模塊單獨(dú)線程(比如幫派 國家 隊(duì)伍的消息處理單獨(dú)),如此的話,在某種邏輯操作上,先后順序可得到保證,但是帶來的后果是開發(fā)成本與學(xué)習(xí)成本過高,在開發(fā)過程中將會陷入鎖的海洋。。。。而對于一般程序員來說,實(shí)在要求過高。。。而且也過于接近下層結(jié)構(gòu),無法有效隔離層次,實(shí)現(xiàn)較好的模塊化開發(fā)。。
      再來看看異變的架構(gòu):http://www.shnenglu.com/ziyebuboka/
               首先我們先來說下服務(wù)器結(jié)構(gòu),服務(wù)器中的場景(地圖)概念很重要,每一個玩家處在服務(wù)器中,最真實(shí)的就是處在服務(wù)器的某一個場景某一點(diǎn)上,每一個場景都必然具備一個PlayerManager來對玩家進(jìn)行管理。而每一個玩家對應(yīng)的正是一個Link。
               如果我們反向思維一下。略微的將LinkManager上移一個層次,將其作為一個場景中的單位,其實(shí)一些問題就好解決了。下面具體的說下
              我們把網(wǎng)絡(luò)層對LinkManager進(jìn)行管理收發(fā)消息的線程做多線程處理,但是此處有一個難點(diǎn),就是你無法知道與控制與為什么是這個線程管理這個Link 而另一個線程管理另幾個Link。
              我們將此線程處理也上移一個層次,與場景結(jié)合,一個場景一個線程,來管理處于此場景中的玩家Link,每個Link在自己所處于的場景線程中將對消息進(jìn)行邏輯處理,如此則將前面的幾個問題都解決了。安全上可保證,比如,因?yàn)樘幱谝粋€場景中的,則同步信息可保證安全,而對于上層邏輯也無需關(guān)注很多的線程概念。而對于不同場景間的交互信息(比如遠(yuǎn)距離組隊(duì),聊天消息),則可通過場景的轉(zhuǎn)發(fā)消息加入目標(biāo)場景消息隊(duì)列的機(jī)制來處理,因而消息處理的安全任然可以保證。
             得到的結(jié)果就是以場景為單位來做多線程對網(wǎng)絡(luò)層進(jìn)行管理,如此雖然在庫的耦合度上有所增加,但是很多問題都可解決了。此為專門增對游戲服的網(wǎng)絡(luò)包的特殊架構(gòu),而摒棄了過于通用性所帶來的弊端    
    下面具體的說下網(wǎng)絡(luò)層上是如何實(shí)現(xiàn):
                 每一個Link都具備了一個socket,玩家加入到一個場景,則將此Link加入到此場景的LinkMange,并將本socket加入到本場景的fd_set中,而后本場景內(nèi)只需要對存在于本場景fd_set中的socket做select處理,對本場景內(nèi)的Link做收發(fā)消息處理即可。(本場景LinkManager初始化時已加入服務(wù)器socket)http://www.shnenglu.com/ziyebuboka/
   

//補(bǔ)充1:
缺點(diǎn)的確有,從架構(gòu)上來說,層次互饒的確不好,但是具備了一定的好處,而且可以從設(shè)計(jì)模式的角度做好層次互分,我是這么認(rèn)為的
1:首先 如果還是在網(wǎng)絡(luò)層一個線程對所有SOCKET做處理 再轉(zhuǎn)發(fā)至各個場景消息隊(duì)列 由各個場景的消息處理線程對其做處理,也的確可實(shí)現(xiàn)消息處理的多線程,但是不可避免的,在SOCKET對LINK的管理上任然會出現(xiàn)性能瓶頸,因?yàn)樵谶M(jìn)出口上只有一條路(如果進(jìn)出口這里直接用多線程,則會出現(xiàn)無法知道與控制與為什么是這個線程管理這個Link 而另一個線程管理另幾個Link)
2:如果將LINK的管理層次上到場景級別,缺點(diǎn)是一定層度上與架構(gòu)第二層次互饒,但是優(yōu)點(diǎn)是對各個LINK的管理也不再是一條路了,由各個場景LINK管理線程對各個場景內(nèi)的LINK做管理,也是多條路了,而后再發(fā)至各個場景消息隊(duì)列,又各個場景消息處理線程對消息做邏輯層次處理,可解決瓶頸
3:從模式角度來解決耦合度的問題,制造SceneLinkManager 掛接各個場景,制造各個SceneLinkManager線程,服務(wù)器啟動根據(jù)場景來生成,而SceneLogic與PlayerLogic仍在上一層次,消息進(jìn)入隊(duì)列從Link找到Player,并且再制造每個場景的消息邏輯處理線程,消息隊(duì)列的邏輯處理只在這里面進(jìn)行,因而我們?nèi)匀徽J(rèn)為此Manager還是屬于網(wǎng)絡(luò)層次,對于上層邏輯無需關(guān)注SceneLinkManager的操作。  

//補(bǔ)充2:
@expter
你說的這個就是文里面一開始提到的主流線程的架構(gòu)模式了。網(wǎng)絡(luò)層一個,邏輯層一個。安全性等等肯定都是可以做到非常好的,但是效率上肯定就差了,其實(shí)各個場景本來就是獨(dú)立,完全可以單獨(dú)開線程,這個文討論的就是如何用安全高效的方式來解決多線程
10:27 不知道 在回復(fù)中所提到的也是一種主流方式,在消息的邏輯處理模塊為各個場景單獨(dú)開線程,但是網(wǎng)絡(luò)層收發(fā)消息的處理上仍然還是一個,所以我這里提出的就是可以依據(jù)游戲服務(wù)器的特殊性,以場景為單位來管理本場景內(nèi)的LINK,在網(wǎng)絡(luò)收發(fā)處為每個場景開線程來收發(fā)。
也有一種情況可以是直接在網(wǎng)絡(luò)層為link分組各個線程管理,比如預(yù)生成的1000個Link,0--499號Link是A線程管理,500--999是B線程管理,但是這樣會在消息同步等方面出現(xiàn)問題,比如A玩家和B玩家打架 A砍了B一刀,B砍了A一刀,這時候在先后順序上就有可能出現(xiàn)問題了,A的Link在A線程,B的Link在B線程,有可能是A的操作是先做,但是B線程先Tick了,導(dǎo)致B的砍一刀比A的砍一刀先處理了。。所以我這里提出是以場景為單位來管理Link 則這種問題就會避免了。。
我這里提出的模式就是網(wǎng)絡(luò)層以場景為單位線程管理本場景內(nèi)LINK,而后是各個場景再來各個的邏輯處理線程處理各個場景的消息隊(duì)列        


         結(jié)束語,本文寫的不好,有不清楚的地方提出我再加。歡迎評論與討論,也希望能得到更好的方式。 http://www.shnenglu.com/ziyebuboka/
posted @ 2010-04-25 00:35 ziyebuboka 閱讀(2762) | 評論 (10)編輯 收藏
     摘要:   閱讀全文
posted @ 2010-01-04 00:35 ziyebuboka 閱讀(3459) | 評論 (14)編輯 收藏
     摘要:   閱讀全文
posted @ 2009-12-31 00:30 ziyebuboka 閱讀(2316) | 評論 (11)編輯 收藏
     摘要:   閱讀全文
posted @ 2009-12-30 02:05 ziyebuboka 閱讀(3015) | 評論 (9)編輯 收藏

2010年4月25日

復(fù)活個幾天
posted @ 2010-04-25 00:58 ziyebuboka 閱讀(306) | 評論 (0)編輯 收藏
 老手拍磚。轉(zhuǎn)載請注明  ziyebuboka    http://www.shnenglu.com/ziyebuboka/
        總所周知,要想服務(wù)器的高效率實(shí)現(xiàn),那么多線程是不可避免的,但是游戲服務(wù)器的多玩家交互的特殊性又使得在邏輯層實(shí)現(xiàn)多線程成為了安全瓶頸,以往的架構(gòu)也是只有通過結(jié)構(gòu)功能的不同來實(shí)現(xiàn)多線程,比如 網(wǎng)絡(luò)層一個線程 邏輯層一個線程 等等,但是如此并不能有效的通過多線程方式來較好的實(shí)現(xiàn)服務(wù)器的高效處理。本文就是探討的如何通過結(jié)合游戲服務(wù)器的特殊性來異變當(dāng)前主流的網(wǎng)絡(luò)包架構(gòu)模式從而實(shí)現(xiàn)服務(wù)端的多線程。
      先來看下主流網(wǎng)絡(luò)包的架構(gòu)模式:
              網(wǎng)絡(luò)層單獨(dú)線程來對LinkManager進(jìn)行管理,收發(fā)消息加入到LinkMessageBuff(單個Link的消息緩存)中---》收到消息加入服務(wù)器消息隊(duì)列中(這里一般可以通過一個消息回調(diào)函數(shù)將消息BUFF引出加入到服務(wù)器的消息隊(duì)列中),而后是服務(wù)器的消息處理線程對消息隊(duì)列進(jìn)行處理,拿出消息做邏輯處理。
              如此架構(gòu),在通用模式下較好,較好的實(shí)現(xiàn)了模塊化方式,單獨(dú)庫的形式,并且與服務(wù)器的具體邏輯處理耦合度較低(只有服務(wù)器開啟的一次網(wǎng)絡(luò)包導(dǎo)出消息的回調(diào)函數(shù)的注冊),但是如此出現(xiàn)的情況是,消息加入到了服務(wù)器的主消息隊(duì)列,而后只有一個消息邏輯處理線程對其進(jìn)行操作,進(jìn)行各個邏輯處理,在某種程度上無法較好的實(shí)現(xiàn)多線程。http://www.shnenglu.com/ziyebuboka/
              這種情況下,我也做過討論和嘗試,一般的處理情況是在主消息隊(duì)列邏輯處理線程之下再分線程(比如可直接轉(zhuǎn)發(fā)線程,或者根據(jù)邏輯模塊轉(zhuǎn)發(fā)線程處理),但是得到的結(jié)果是,
               一個是安全上無法做到保證,比如說從主消息隊(duì)列再直接轉(zhuǎn)發(fā)分配到多個線程進(jìn)行處理,但是這里就無法保證消息處理的先后順序了,大家都很清楚,在一些玩家的邏輯操作上,先后順序是需要嚴(yán)格的保證的。
              一個是開發(fā)成本過高,比如實(shí)現(xiàn)單個邏輯模塊單獨(dú)線程(比如幫派 國家 隊(duì)伍的消息處理單獨(dú)),如此的話,在某種邏輯操作上,先后順序可得到保證,但是帶來的后果是開發(fā)成本與學(xué)習(xí)成本過高,在開發(fā)過程中將會陷入鎖的海洋。。。。而對于一般程序員來說,實(shí)在要求過高。。。而且也過于接近下層結(jié)構(gòu),無法有效隔離層次,實(shí)現(xiàn)較好的模塊化開發(fā)。。
      再來看看異變的架構(gòu):http://www.shnenglu.com/ziyebuboka/
               首先我們先來說下服務(wù)器結(jié)構(gòu),服務(wù)器中的場景(地圖)概念很重要,每一個玩家處在服務(wù)器中,最真實(shí)的就是處在服務(wù)器的某一個場景某一點(diǎn)上,每一個場景都必然具備一個PlayerManager來對玩家進(jìn)行管理。而每一個玩家對應(yīng)的正是一個Link。
               如果我們反向思維一下。略微的將LinkManager上移一個層次,將其作為一個場景中的單位,其實(shí)一些問題就好解決了。下面具體的說下
              我們把網(wǎng)絡(luò)層對LinkManager進(jìn)行管理收發(fā)消息的線程做多線程處理,但是此處有一個難點(diǎn),就是你無法知道與控制與為什么是這個線程管理這個Link 而另一個線程管理另幾個Link。
              我們將此線程處理也上移一個層次,與場景結(jié)合,一個場景一個線程,來管理處于此場景中的玩家Link,每個Link在自己所處于的場景線程中將對消息進(jìn)行邏輯處理,如此則將前面的幾個問題都解決了。安全上可保證,比如,因?yàn)樘幱谝粋€場景中的,則同步信息可保證安全,而對于上層邏輯也無需關(guān)注很多的線程概念。而對于不同場景間的交互信息(比如遠(yuǎn)距離組隊(duì),聊天消息),則可通過場景的轉(zhuǎn)發(fā)消息加入目標(biāo)場景消息隊(duì)列的機(jī)制來處理,因而消息處理的安全任然可以保證。
             得到的結(jié)果就是以場景為單位來做多線程對網(wǎng)絡(luò)層進(jìn)行管理,如此雖然在庫的耦合度上有所增加,但是很多問題都可解決了。此為專門增對游戲服的網(wǎng)絡(luò)包的特殊架構(gòu),而摒棄了過于通用性所帶來的弊端    
    下面具體的說下網(wǎng)絡(luò)層上是如何實(shí)現(xiàn):
                 每一個Link都具備了一個socket,玩家加入到一個場景,則將此Link加入到此場景的LinkMange,并將本socket加入到本場景的fd_set中,而后本場景內(nèi)只需要對存在于本場景fd_set中的socket做select處理,對本場景內(nèi)的Link做收發(fā)消息處理即可。(本場景LinkManager初始化時已加入服務(wù)器socket)http://www.shnenglu.com/ziyebuboka/
   

//補(bǔ)充1:
缺點(diǎn)的確有,從架構(gòu)上來說,層次互饒的確不好,但是具備了一定的好處,而且可以從設(shè)計(jì)模式的角度做好層次互分,我是這么認(rèn)為的
1:首先 如果還是在網(wǎng)絡(luò)層一個線程對所有SOCKET做處理 再轉(zhuǎn)發(fā)至各個場景消息隊(duì)列 由各個場景的消息處理線程對其做處理,也的確可實(shí)現(xiàn)消息處理的多線程,但是不可避免的,在SOCKET對LINK的管理上任然會出現(xiàn)性能瓶頸,因?yàn)樵谶M(jìn)出口上只有一條路(如果進(jìn)出口這里直接用多線程,則會出現(xiàn)無法知道與控制與為什么是這個線程管理這個Link 而另一個線程管理另幾個Link)
2:如果將LINK的管理層次上到場景級別,缺點(diǎn)是一定層度上與架構(gòu)第二層次互饒,但是優(yōu)點(diǎn)是對各個LINK的管理也不再是一條路了,由各個場景LINK管理線程對各個場景內(nèi)的LINK做管理,也是多條路了,而后再發(fā)至各個場景消息隊(duì)列,又各個場景消息處理線程對消息做邏輯層次處理,可解決瓶頸
3:從模式角度來解決耦合度的問題,制造SceneLinkManager 掛接各個場景,制造各個SceneLinkManager線程,服務(wù)器啟動根據(jù)場景來生成,而SceneLogic與PlayerLogic仍在上一層次,消息進(jìn)入隊(duì)列從Link找到Player,并且再制造每個場景的消息邏輯處理線程,消息隊(duì)列的邏輯處理只在這里面進(jìn)行,因而我們?nèi)匀徽J(rèn)為此Manager還是屬于網(wǎng)絡(luò)層次,對于上層邏輯無需關(guān)注SceneLinkManager的操作。  

//補(bǔ)充2:
@expter
你說的這個就是文里面一開始提到的主流線程的架構(gòu)模式了。網(wǎng)絡(luò)層一個,邏輯層一個。安全性等等肯定都是可以做到非常好的,但是效率上肯定就差了,其實(shí)各個場景本來就是獨(dú)立,完全可以單獨(dú)開線程,這個文討論的就是如何用安全高效的方式來解決多線程
10:27 不知道 在回復(fù)中所提到的也是一種主流方式,在消息的邏輯處理模塊為各個場景單獨(dú)開線程,但是網(wǎng)絡(luò)層收發(fā)消息的處理上仍然還是一個,所以我這里提出的就是可以依據(jù)游戲服務(wù)器的特殊性,以場景為單位來管理本場景內(nèi)的LINK,在網(wǎng)絡(luò)收發(fā)處為每個場景開線程來收發(fā)。
也有一種情況可以是直接在網(wǎng)絡(luò)層為link分組各個線程管理,比如預(yù)生成的1000個Link,0--499號Link是A線程管理,500--999是B線程管理,但是這樣會在消息同步等方面出現(xiàn)問題,比如A玩家和B玩家打架 A砍了B一刀,B砍了A一刀,這時候在先后順序上就有可能出現(xiàn)問題了,A的Link在A線程,B的Link在B線程,有可能是A的操作是先做,但是B線程先Tick了,導(dǎo)致B的砍一刀比A的砍一刀先處理了。。所以我這里提出是以場景為單位來管理Link 則這種問題就會避免了。。
我這里提出的模式就是網(wǎng)絡(luò)層以場景為單位線程管理本場景內(nèi)LINK,而后是各個場景再來各個的邏輯處理線程處理各個場景的消息隊(duì)列        


         結(jié)束語,本文寫的不好,有不清楚的地方提出我再加。歡迎評論與討論,也希望能得到更好的方式。 http://www.shnenglu.com/ziyebuboka/
posted @ 2010-04-25 00:35 ziyebuboka 閱讀(2762) | 評論 (10)編輯 收藏

2010年1月4日

     摘要:   閱讀全文
posted @ 2010-01-04 00:35 ziyebuboka 閱讀(3459) | 評論 (14)編輯 收藏

2009年12月31日

     摘要:   閱讀全文
posted @ 2009-12-31 00:30 ziyebuboka 閱讀(2316) | 評論 (11)編輯 收藏

2009年12月30日

     摘要:   閱讀全文
posted @ 2009-12-30 02:05 ziyebuboka 閱讀(3015) | 評論 (9)編輯 收藏
  不是高手
   年底了,落寞,又一年,開博也是為了整理一下,拿筆不行,就打字了,等明年這時候再看看能到什么程度
  2012快到了,多搞搞吧
posted @ 2009-12-30 00:50 ziyebuboka 閱讀(337) | 評論 (0)編輯 收藏
僅列出標(biāo)題  

導(dǎo)航

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

統(tǒng)計(jì)

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲免费播放| 99亚洲一区二区| 久久精品国产久精国产爱| 亚洲视频精品| 国产乱码精品一区二区三区五月婷| 亚洲免费影视第一页| 亚洲欧美日韩天堂| 黄色一区二区三区四区| 欧美h视频在线| 欧美日韩国产高清视频| 亚洲在线一区二区三区| 香蕉免费一区二区三区在线观看 | 在线视频欧美日韩精品| 国产精品亚洲片夜色在线| 久久夜色精品国产亚洲aⅴ| 久久久久久夜精品精品免费| 亚洲日本成人女熟在线观看| 夜夜嗨av一区二区三区 | 亚洲综合999| 国产一区二区三区在线观看网站| 欧美福利专区| 国产精品久久久久久久7电影| 香蕉久久a毛片| 久久免费国产精品| 亚洲视频在线观看一区| 久久国产综合精品| 亚洲最黄网站| 久久高清一区| 亚洲影院色无极综合| 久久精品久久综合| 中国av一区| 麻豆精品视频| 久久av红桃一区二区小说| 欧美插天视频在线播放| 小辣椒精品导航| 欧美精品www| 久久综合九色九九| 国产精品视频xxxx| 亚洲精品激情| 在线欧美福利| 欧美伊人久久大香线蕉综合69| 一本一本久久a久久精品牛牛影视| 亚洲综合日韩中文字幕v在线| 亚洲精品视频在线播放| 久久国产乱子精品免费女| 亚洲一区欧美| 欧美精品日韩三级| 欧美暴力喷水在线| 国产伪娘ts一区| 亚洲午夜激情免费视频| 一区二区三区**美女毛片| 麻豆freexxxx性91精品| 久久天天躁狠狠躁夜夜av| 国产精品免费看片| 一区二区久久久久| 一区二区三区久久| 欧美激情中文字幕一区二区| 欧美成年人网站| 欲香欲色天天天综合和网| 午夜精品福利一区二区蜜股av| 亚洲一区二区三区色| 欧美极品aⅴ影院| 亚洲国产影院| 99成人免费视频| 欧美伦理91i| 亚洲精品韩国| 亚洲一区日韩在线| 国产精品大片| 亚洲欧美一区二区视频| 久久精品国产亚洲aⅴ| 国产麻豆一精品一av一免费| 亚洲欧美视频一区| 久久精品视频va| 国产亚洲一级高清| 久久成年人视频| 欧美不卡视频| 99精品视频一区二区三区| 欧美喷潮久久久xxxxx| 99精品国产在热久久婷婷| 亚洲免费在线观看| 国产免费成人| 久久久精品日韩欧美| 欧美成人一区二区| 国产精品99久久久久久白浆小说 | 欧美日韩爆操| 一本综合久久| 久久久精品一区| 亚洲二区三区四区| 欧美日韩国产成人在线免费| 中文有码久久| 毛片av中文字幕一区二区| 亚洲精品久久久久久久久| 欧美视频在线观看视频极品| 亚洲欧美激情一区二区| 欧美成人影音| 亚洲一卡二卡三卡四卡五卡| 国产色产综合产在线视频| 裸体一区二区三区| 一本色道久久综合狠狠躁篇的优点 | 亚洲精一区二区三区| 欧美三级网址| 久久免费视频这里只有精品| av成人手机在线| 久久综合伊人| 亚洲视频一区二区免费在线观看| 国产精品稀缺呦系列在线| 久久综合久久久| 在线综合亚洲欧美在线视频| 免费不卡亚洲欧美| 亚洲欧美日韩综合一区| 亚洲激情视频| 国产亚洲精品综合一区91| 欧美精品一区二区高清在线观看| 亚洲欧美国产视频| 亚洲人成网站在线播| 久久综合狠狠综合久久激情| 亚洲一区欧美二区| 亚洲卡通欧美制服中文| 国内精品国产成人| 国产精品久久久久一区| 欧美极品一区| 久久综合图片| 久久高清福利视频| 亚洲欧美日韩国产中文| aa日韩免费精品视频一| 欧美激情一区二区三区在线视频| 久久精品亚洲一区二区三区浴池| 亚洲小说春色综合另类电影| 亚洲经典在线看| 在线观看一区二区视频| 国产精品一级二级三级| 欧美视频三区在线播放| 欧美伦理视频网站| 免费成人网www| 久久一区激情| 久久综合色8888| 久久久噜噜噜久噜久久| 久久精品视频在线| 西瓜成人精品人成网站| 性欧美暴力猛交69hd| 亚洲中无吗在线| 亚洲一区一卡| 亚洲伊人久久综合| 亚洲免费综合| 欧美一区二区三区免费观看视频| 亚洲一区三区电影在线观看| 亚洲一区欧美一区| 亚洲欧美在线一区二区| 午夜精品福利视频| 欧美一区二区三区免费视频| 欧美亚洲综合网| 久久xxxx| 久久婷婷av| 欧美激情视频免费观看| 欧美日韩国产色综合一二三四| 欧美日韩1080p| 国产精品久久久久久久久久妞妞| 国产精品欧美风情| 国产午夜精品久久久久久久| 国产在线不卡视频| 在线日韩av| 夜夜嗨av一区二区三区网站四季av| 99国产精品视频免费观看| 亚洲天堂av电影| 久久岛国电影| 欧美激情一区二区三级高清视频 | 午夜亚洲性色福利视频| 久久激情综合网| 欧美成人一区二区三区| 亚洲精品一区久久久久久| 亚洲午夜国产一区99re久久| 欧美在线一级视频| 欧美经典一区二区| 国产精品乱码| 亚洲国产精品国自产拍av秋霞| 在线亚洲+欧美+日本专区| 久久福利视频导航| 亚洲国产精品123| 亚洲色无码播放| 久久综合网hezyo| 欧美视频中文在线看 | 欧美另类亚洲| 国产一区二区日韩| 在线亚洲观看| 久久夜色精品国产欧美乱极品| 亚洲精品国精品久久99热一| 欧美一区二区三区免费观看| 欧美国产日本| 国产曰批免费观看久久久| 99精品国产一区二区青青牛奶| 欧美一区二区三区四区夜夜大片| 欧美成人精品激情在线观看| 亚洲一级一区| 欧美国产日韩一二三区| 国产一区亚洲| 亚洲综合日韩在线| 亚洲欧洲日本国产| 久久中文欧美| 好看的日韩视频| 欧美尤物一区|