久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UNet详解(转)

發(fā)布時(shí)間:2024/8/23 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UNet详解(转) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Unity Networking(UNet)函數(shù)時(shí)序統(tǒng)計(jì)和分析

背景和概述

Unity Networking是官方自Unity5.1以來推出的新網(wǎng)絡(luò)通信解決方案。UNet是非官方但更民間更精簡的叫法。

本文需要讀者有基礎(chǔ)的UNet知識。

了解UNet時(shí)序,可以更好更嚴(yán)謹(jǐn)?shù)鼐帉慤Net相關(guān)的業(yè)務(wù)邏輯代碼。
本文針對UNet的HLAPI進(jìn)行時(shí)序統(tǒng)計(jì)和分析。
本文可作為工具文檔,需要時(shí)可進(jìn)行時(shí)序查閱。

在有時(shí)序統(tǒng)計(jì)的基礎(chǔ)上,本文再參考Unity Networking 5.3源代碼(Bitbucket網(wǎng)站可能需要翻墻)進(jìn)行整合分析,可以幫助了解底層發(fā)生的具體邏輯。

當(dāng)前將Unity(就算是Headless)運(yùn)行在Linux服務(wù)器上,會(huì)出現(xiàn)一定的性能問題。聯(lián)系咨詢過Unity內(nèi)部開發(fā)同學(xué)Ian和一位和藹大胖子,獲知Headless所剔除的功能模塊并不多,僅僅是最終不提交(也不能提交)到GPU、DSP而已。原話是“Modulization is hard”、“Should not run Unity on the server”。
所以當(dāng)前,應(yīng)避免粗暴地將Unity運(yùn)行在“關(guān)鍵”服務(wù)器上。

  • 應(yīng)從業(yè)務(wù)層著手剔除Headless模式下所啟用的業(yè)務(wù)功能(如模型、渲染、物理、音效等)
  • 將Unity運(yùn)行于“非關(guān)鍵”服務(wù)器(比如用于外掛分析,等)是可能可行的
  • 將Unity無狀態(tài)地運(yùn)行,多“關(guān)鍵”服務(wù)器(比如用于戰(zhàn)斗)共享該Unity服務(wù)器,是有成功案例的
  • 但粗暴地每一局游戲都在服務(wù)器運(yùn)行一個(gè)Unity進(jìn)程是欠妥的

可惜的是,UNet的默認(rèn)思路正是最后一種。由于Ian并非UNet Team的開發(fā)同學(xué),所以其并不十分了解將于Unity5.4(但被delay了)的Server Library所完成的功能。但一種推測是,Server Library正是為了避免將Unity運(yùn)行于服務(wù)器,而是提供UNet、Unity的基礎(chǔ)功能(Math等),讓我們服務(wù)器同學(xué)利用UNet接口,重新實(shí)現(xiàn)邏輯。

測試方法

測試Unity版本為5.3.1。運(yùn)行平臺(tái)是OSX。
測試NetworkManager通過NBNetworkManager繼承并override掉關(guān)鍵函數(shù);測試Player的Prefab名字為NBPlayer。通過在這個(gè)Prefab加上測試腳本TestNetworkBehaviour進(jìn)行日志輸出。
通過分析日志,可以統(tǒng)計(jì)UNet函數(shù)的時(shí)序。


函數(shù)時(shí)序概括

以下為關(guān)鍵函數(shù)的羅列,以供快速查詢之用。
如需可細(xì)看下一章節(jié)的詳細(xì)文檔及分析。

Dedicated Server情況

NetworkManagerNetworkBehaviour
Server初始化階段Server初始化階段
Awake()?
Start()?
OnStartServer()?
ServerChangeScene()?
OnServerSceneChanged()?
Client初始化階段Client初始化階段
OnServerConnect()?
OnServerReady()?
Player初始化階段Player初始化階段
OnServerAddPlayer()?
?Awake()
?OnEnable()
?OnStartServer()
?OnRebuildObservers()
?OnSerialize()(多次)
?Start()
Player運(yùn)轉(zhuǎn)階段Player運(yùn)轉(zhuǎn)階段
?FixedUpdate()(多次)
?Update()(多次)
?OnSerialize()(多次)
Player銷毀階段Player銷毀階段
?OnDisable()
?OnDestroy()
OnServerDisconnect?
Server銷毀階段Server銷毀階段
OnStopServer()?

Remote Client情況

NetworkManagerNetworkBehaviour
Client初始化階段Client初始化階段
Awake()?
Start()?
OnStartClient()?
OnClientConnect()?
OnClientSceneChanged()?
Player初始化階段Player初始化階段
?Awake()
?OnEnable()
?OnDeserialize()
?PreStartClient()
?OnStartClient()
?OnStartLocalPlayer()
?OnStartAuthority()
(后面運(yùn)轉(zhuǎn)階段也可能調(diào)到)
?OnDeserialize()(多次)
?Start()
Player運(yùn)轉(zhuǎn)階段Player運(yùn)轉(zhuǎn)階段
?FixedUpdate()(多次)
?Update()(多次)
?OnDeserialize()(多次)
Player銷毀階段Player銷毀階段
?OnNetworkDestroy()
?OnDisable()
?OnDestroy()
Client銷毀階段Client銷毀階段
OnStopClient()?

Host情況

NetworkManagerNetworkBehaviour
Host初始化階段Host初始化階段
Awake()?
Start()?
OnStartHost()?
OnStartServer()?
ServerChangeScene()?
OnServerConnect()
(LocalClient混雜進(jìn)來的Server函數(shù))
?
OnStartClient()
(LocalClient混雜進(jìn)來的Client函數(shù))
?
OnClientConnect()
(LocalClient混雜進(jìn)來的Client函數(shù))
?
OnServerSceneChanged()?
OnClientSceneChanged()
(LocalClient混雜進(jìn)來的Client函數(shù))
?
OnServerReady()
(LocalClient混雜進(jìn)來的Server函數(shù))
?
OnServerAddPlayer()
(LocalClient混雜進(jìn)來的Server函數(shù))
?
OnServerConnect()?
OnServerReady()?
Player初始化階段Player初始化階段
OnServerAddPlayer()?
?Awake()
?OnEnable()
?OnStartServer()
?PreStartClient()
?OnStartClient()
?OnRebuildObservers()
?OnSerialize()(多次)
?OnSetLocalVisibility()
?Start()
Player運(yùn)轉(zhuǎn)階段Player運(yùn)轉(zhuǎn)階段
?FixedUpdate()(多次)
?Update()(多次)
?OnSerialize()(多次)
Player銷毀階段Player銷毀階段
?OnNetworkDestroy()
?OnDisable()
?OnDestroy()
OnServerDisconnect?
Host銷毀階段Host銷毀階段
OnStopHost()?
OnStopServer()?
ServerChangeScene()
(LocalClient混雜進(jìn)來的Server函數(shù))
?
OnStopClient()
(LocalClient混雜進(jìn)來的Client函數(shù))
?

函數(shù)時(shí)序的詳細(xì)文檔及分析

以下為嚴(yán)格按照時(shí)間次序進(jìn)行羅列的UNet函數(shù)時(shí)序,附上官方文檔。重要地方也結(jié)合源碼進(jìn)行解釋。

Dedicated Server情況

Dedicated Server的Server初始化階段

NetworkManager.Awake()
NetworkManager目前的Awake()(被不好地設(shè)計(jì))為非virtual的私有方法。所以子類應(yīng)注意不能再定義Awake(),否則將hide掉基類的Awake()。

NetworkManager.Start()

NetworkManager (NewBorn.NBNetworkManager).Start()

NetworkManager.OnStartServer()

public void OnStartServer();
Description
This hook is invoked when a server is started - including when a host is started.
StartServer has multiple signatures, but they all cause this hook to be called.

Server初始化函數(shù)。調(diào)用肯定比看似相似的OnStartClient()早。
注意在OnStartServer()之后,才進(jìn)行網(wǎng)絡(luò)Connect的初始化、才進(jìn)行場景的切換。

NetworkManager (NewBorn.NBNetworkManager).OnStartServer()

NetworkManager.ServerChangeScene()

public void ServerChangeScene(string newSceneName);
Parameters
newSceneName?The name of the scene to change to. The server will change scene immediately, and a message will be sent to connected clients to ask them to change scene also.
Description
This causes the server to switch scenes and sets the networkSceneName.
Clients that connect to this server will automatically switch to this scene. This is called autmatically if onlineScene or offlineScene are set, but it can be called from user code to switch scenes again while the game is in progress. This automatically sets clients to be not-ready. The clients must call NetworkClient.Ready() again to participate in the new scene.

StartServer()里、OnStartServer()之后,調(diào)用ServerChangeScene()進(jìn)行場景切換。之后在任意時(shí)刻,也可以手動(dòng)調(diào)用它進(jìn)行中途的場景切換。
在ServerChangeScene()里,會(huì)發(fā)出MsgType.Scene通知當(dāng)前已連接上的Client也進(jìn)行場景的切換。

  • Battle_Demo_Official

  • NetworkManager (NewBorn.NBNetworkManager).ServerChangeScene()

  • NetworkManager.OnServerSceneChanged()

    public void OnServerSceneChanged(string sceneName);
    Parameters
    sceneName?The name of the new scene.
    Description
    Called on the server when a scene is completed loaded, when the scene load was initiated by the server with ServerChangeScene().

    Server完成場景切換后的一個(gè)回調(diào)。
    在本回調(diào)之前,Server會(huì)收集場景所有已有NetworkIdentity的GameObject,并發(fā)出Spawn的Message,從而通知已連接上的Client進(jìn)行Spawn。

  • Battle_Demo_Official

  • NetworkManager (NewBorn.NBNetworkManager).OnServerSceneChanged()

  • 2016-01-01T10:57:28.8472060+08:00

  • 至此,Server的初始化階段結(jié)束。之后(通過上面的時(shí)間10:57:28和下面的時(shí)間11:04:10就可以看出時(shí)間差),當(dāng)有Client連接進(jìn)Server的時(shí)候,函數(shù)流程就進(jìn)入該Client的初始化階段。

    Dedicated Server的Client初始化階段

    NetworkManager.OnServerConnect()

    public void OnServerConnect(Networking.NetworkConnection conn);
    Parameters
    conn?Connection from client.
    Description
    Called on the server when a new client connects.

    新玩家新Client和Server建立連接后的回調(diào)函數(shù)。
    Client剛連接上來,第一個(gè)問題肯定是“我現(xiàn)在在什么場景?”。所以在本回調(diào)之前,Server會(huì)發(fā)出MsgType.Scene,通知客戶端進(jìn)行場景加載。

  • hostId: 0 connectionId: 1 isReady: False channel count: 2

  • NetworkManager (NewBorn.NBNetworkManager).OnServerConnect()

  • 2016-01-01T11:04:10.7621350+08:00

  • NetworkManager.OnServerReady()

    public void OnServerReady(Networking.NetworkConnection conn);
    Parameters
    conn?Connection from client.
    Description
    Called on the server when a client is ready.
    The default implementation of this function calls NetworkServer.SetClientReady() to continue the network setup process

    當(dāng)Client“準(zhǔn)備好”(加載好場景,一些自定義的初始化)后,需要發(fā)送MsgType.Ready給Server。
    Server收到這個(gè)Message了之后,就會(huì)調(diào)用本OnServerReady()函數(shù)。
    Client準(zhǔn)備好了之后,接著問題是“我Client當(dāng)前場景有什么網(wǎng)絡(luò)對象可見和需要同步?”
    所以在OnServerReady()里會(huì)調(diào)用NetworkServer.SetClientReady(),進(jìn)行該Client的可見性檢測,然后在NetworkServer.SendSpawnMessage()里下發(fā)MsgType.ObjectSpawn進(jìn)行Spawn。

  • hostId: 0 connectionId: 1 isReady: False channel count: 2

  • NetworkManager (NewBorn.NBNetworkManager).OnServerReady()

  • 至此,Client已經(jīng)連接好、加載好場景、同步好已有的網(wǎng)絡(luò)對象。
    所以Server將進(jìn)入Player初始化階段。

    Dedicated Server的Player初始化階段

    NetworkManager.OnServerAddPlayer()

    public void OnServerAddPlayer(Networking.NetworkConnection conn, short playerControllerId);
    Parameters
    conn?Connection from client.
    playerControllerId?Id of the new player.
    extraMessageReader?An extra message object passed for the new player.
    Description
    Called on the server when a client adds a new player with ClientScene.AddPlayer.
    The default implementation for this function creates a new player object from the playerPrefab.

    新連接上來的Client連接好了、場景準(zhǔn)備好了、其他有NetworkIdentity的GameObject同步好了,接下來準(zhǔn)備為該Client準(zhǔn)備屬于它自己的Player了。
    通過調(diào)用ClientScene.AddPlayer()發(fā)出MsgType.AddPlayer可以通知服務(wù)器添加屬于該connection的Player,然后Server就響應(yīng)該Message會(huì)調(diào)用OnServerAddPlayer()。
    用戶可以在OnServerAddPlayer()自定義新建Player的邏輯,包括直接Instantiate新Player、或者從自己的Spawn機(jī)制里取出Player、給Player修改初始化屬性等。
    然后,在OnServerAddPlayer()里就會(huì)調(diào)用NetworkServer.AddPlayerForConnection(),繼而一系列初始化Player邏輯(生成netId、決定Observer、收集SyncVar、發(fā)送MsgType.Spawn給Client),通知Client真正去創(chuàng)建Player。

  • hostId: 0 connectionId: 1 isReady: True channel count: 2, 0

  • NetworkManager (NewBorn.NBNetworkManager).OnServerAddPlayer()

  • 至此,Player的Prefab在Server已被Instantiate出來,繼而調(diào)用

    • NetworkServer.AddPlayerForConnection()、
    • NetworkServer.FinishPlayerForConnection()
    • NetworkServer.SpawnObject()

    等函數(shù),正式開始NetworkIdentity/NetworkBehaviour的函數(shù)流程。
    NetworkBehaviour和NetworkIdentity是相互依存的。許多NetworkBehaviour的UNet相關(guān)函數(shù)事實(shí)上都是在其配對的NetworkIdentity中被NetworkIdentity所觸發(fā)調(diào)用的。

    NetworkBehaviour.Awake()
    留意到這次測試Player的GameObject的instanceID是-10746。

    只有l(wèi)ocalPlayerAuthority=True
    這個(gè)UNet配置變量是合法的。其他UNet變量都是非法的。

  • go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=0

  • playerControllerId=-1

  • connectionToClient=

  • connectionToServer=

  • isClient=False

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).Awake()

  • NetworkBehaviour.OnEnable()

  • go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=0

  • playerControllerId=-1

  • connectionToClient=

  • connectionToServer=

  • isClient=False

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnEnable()

  • NetworkBehaviour.OnStartServer()

    public void OnStartServer();
    Description
    This hook is invoked when a server is started - including when a host is started.
    StartServer has multiple signatures, but they all cause this hook to be called.

    在NetworkIdentity.OnStartServer()里,

    • 會(huì)cache住NetworkIdentity所同GameObject的所有NetworkBehaviour
    • 會(huì)生成netId給自己
    • 通過NetworkServer.instance.SetLocalObjectOnServer(),更新isServer的標(biāo)志位
    • 調(diào)用這些NetworkBehaviour的OnStartServer()函數(shù)。

    所以這個(gè)時(shí)候,netId和isServer合法了。

  • go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 2 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnStartServer()

  • NetworkBehaviour.OnRebuildObservers()

    public bool OnRebuildObservers(HashSet<NetworkConnection> observers, bool initialize);
    Parameters
    observers?The new set of observers for this object.
    initialize?True if the set of observers is being built for the first time.
    Returns
    bool?Return true if this function did work.
    Description
    Callback used by the visibility system to (re)construct the set of observers that can see this object.
    Implementations of this callback should add network connections of players that can see this object to the observers set.

    這個(gè)新的NetworkIdentity在Server創(chuàng)建了,但哪些Client是其真正的“觀察者”(Observer)呢?只有這些觀察者Client,才需要在他們的運(yùn)行時(shí)里創(chuàng)建這個(gè)新NetworkIdentity及其GameObject。

    NetworkIdentity會(huì)調(diào)用其所有NetworkBehaviour的OnRebuildObservers()。
    默認(rèn)情況下,是當(dāng)前已連接的所有Client都能觀察到這個(gè)新NetworkIdentity。
    但如果有NetworkBehaviour的OnRebuildObservers()返回了true,則以HashSet<NetworkConnection> observers里存在的連接作為Observer。

  • observers=System.Collections.Generic.HashSet`1[UnityEngine.Networking.NetworkConnection], initialize=True,

  • go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 2 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnRebuildObservers()

  • NetworkBehaviour.OnSerialize()

    public bool OnSerialize(Networking.NetworkWriter writer, bool initialState);
    Parameters
    writer?Writer to use to write to the stream.
    initialState?If this is being called to send initial state.
    Returns
    bool?True if data was written.
    Description
    Virtual function to override to send custom serialization data.

    決定了Observer后、給這些Observer發(fā)送MsgType.Spawn之前,需要在Server把這個(gè)新NetworkIdentity的GameObject的所有同步屬性進(jìn)行序列化。

    OnSerialize()和OnDeserialize()
    是用于自定義NetworkBehaviour中變量的序列化和反序列化的虛函數(shù)。前者必然是只在Server被調(diào)用、后者必然是只在Client被調(diào)用。
    事實(shí)上,[SyncVar]修飾的變量和SyncList變量都是通過編譯時(shí)UNet將這些變量的序列化反序列化邏輯自動(dòng)生成在OnSerialize()和OnDeserialize()中的。
    所以要注意,如果你在NetworkBehaviour中顯式override掉了這兩個(gè)函數(shù),則該NetworkBehaviour的[SyncVar]修飾的變量和SyncList變量都需要你自行編寫代碼實(shí)現(xiàn)序列化反序列化。

  • serializeCount=1, writer=UnityEngine.Networking.NetworkWriter, initialState=True,

  • go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 2 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnSerialize()

  • NetworkBehaviour.Start()

    一幀真正開始。

  • go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 2 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).Start()

  • 至此,在Dedicated Server的Player初始化階段已結(jié)束。接下來是Player運(yùn)轉(zhuǎn)階段。

    Dedicated Server的Player運(yùn)轉(zhuǎn)階段

    NetworkBehaviour.FixedUpdate()(多次)

  • fixedUpdateCount=22, go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 2 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).FixedUpdate()

  • NetworkBehaviour.Update()(多次)

  • updateCount=22, go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 2 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).Update()

  • NetworkBehaviour.OnSerialize()(多次)

  • serializeCount=16, writer=UnityEngine.Networking.NetworkWriter, initialState=False,

  • go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 2 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnSerialize()

  • Dedicated Server的Player銷毀階段

    通過調(diào)用NetworkServer.Destroy(gameObject);,gameObject進(jìn)入銷毀階段。

    NetworkBehaviour.OnDisable()

  • go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 2 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnDisable()

  • NetworkBehaviour.OnDestroy()
    留意到所有變量皆已非法。
    留意到在Server并不會(huì)調(diào)用OnNetworkDestroy()。

  • go.instanceID=-10746,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=0

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 2 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnDestroy()

  • 至此,Player的NetworkIdentity/NetworkBehaviour流程結(jié)束。

    NetworkManager.OnServerDisconnect()

    public void OnServerDisconnect(Networking.NetworkConnection conn);
    Parameters
    conn?Connection from client.
    Description?Called on the server when a client disconnects.

  • hostId: 0 connectionId: 2 isReady: False channel count: 2

  • NetworkManager (NewBorn.NBNetworkManager).OnServerDisconnect()

  • Dedicated Server的Server銷毀階段

    略。因?yàn)樵赟erver kill掉Unity不能及時(shí)輸出日志。

    至此,Player的整個(gè)Dedicated Server流程結(jié)束。


    Remote Client情況

    在上面已有Dedicated Server情況的前提下,Remote Client情況將適度從簡,僅針對差異性進(jìn)行描述。

    Remote Client的Client初始化階段

    NetworkManager.Awake()
    NetworkManager目前的Awake()(被不好地設(shè)計(jì))為非virtual的私有方法。所以子類應(yīng)注意不能再定義Awake(),否則將hide掉基類的Awake()。

    NetworkManager.Start()

    NetworkManager (NewBorn.NBNetworkManager).Start()

    NetworkManager.OnStartClient()

    public void OnStartClient(Networking.NetworkClient client);
    Parameters
    client?The NetworkClient object that was started.
    Description
    This is a hook that is invoked when the client is started.
    StartClient has multiple signatures, but they all cause this hook to be called.

    當(dāng)調(diào)用NetworkManager.StartClient()的時(shí)候,在其內(nèi)部進(jìn)行:

    • Client注冊各種Client相關(guān)的MsgType監(jiān)聽(MsgType.Connect/Disconnect/Scene/)
    • 連接,
    • 然后會(huì)調(diào)用OnStartClient()。
  • UnityEngine.Networking.NetworkClient

  • NetworkManager (NewBorn.NBNetworkManager).OnStartClient()

  • Client連接成功后,第一個(gè)問題肯定是“我現(xiàn)在在什么場景?”。通過之前Dedicated Server情況的分析可知,Server會(huì)在Client連接成功后、OnServerConnect()之前通過MsgType.Scene通知客戶端切換場景。
    所以此時(shí)之后,Client將進(jìn)行場景加載并成功。

    BattleStarter.Awake()(場景中本就有的GameObject)

    BattleStarter (NewBorn.BattleStarter).Awake()

    GlobalObject.OnLevelWasLoaded()(加載場景前就DontDestroyOnLoad的GameObject)

    GlobalObject (MoreFun.GlobalObjectComponent).OnLevelWasLoaded()

    NetworkManager.OnClientConnect()

    public void OnClientConnect(Networking.NetworkConnection conn);
    Parameters
    conn?Connection to the server.
    Description
    Called on the client when connected to a server.
    The default implementation of this function sets the client as ready and adds a player.

    當(dāng)場景加載成功后,才在NetworkManager.FinishLoadScene()里調(diào)用OnClientConnect()。
    在OnClientConnect()里,當(dāng)沒有OnlineScene或當(dāng)前就是OnlineScene時(shí),就會(huì)立刻調(diào)用ClientScene.Ready()告訴Server本Client已準(zhǔn)備好。
    所以此時(shí)的isReady是False。

  • hostId: 0 connectionId: 1 isReady: False channel count: 2

  • NetworkManager (NewBorn.NBNetworkManager).OnClientConnect()

  • NetworkManager.OnClientSceneChanged()

    public void OnClientSceneChanged(Networking.NetworkConnection conn);
    Parameters
    conn?The network connection that the scene change message arrived on.
    Description
    Called on clients when a scene has completed loaded, when the scene load was initiated by the server.
    Scene changes can cause player objects to be destroyed. The default implementation of OnClientSceneChanged in the NetworkManager is to add a player object for the connection if no player object exists.

    當(dāng)場景加載成功后、調(diào)用OnClientConnect()后、在NetworkManager.FinishLoadScene()里繼續(xù)調(diào)用OnClientSceneChanged()。

    OnClientSceneChanged()必然會(huì)調(diào)用ClientScene.Ready()告訴Server本Client已準(zhǔn)備好。所以根據(jù)之前的Dedicated Server情況分析可知,Server會(huì)在OnServerReady()里會(huì)調(diào)用NetworkServer.SetClientReady(),進(jìn)行該Client的可見性檢測、并進(jìn)行已在Server的NetworkIdentity的GameObject進(jìn)行反序列化和Spawn。
    然后,如果NetworkManager配置成AutoCreatePlayer為true,則OnClientSceneChanged()還會(huì)在本Client找不到LocalPlayer時(shí)調(diào)用ClientScene.AddPlayer(0)通知Server生成本Client的玩家。

  • hostId: 0 connectionId: 1 isReady: False channel count: 2

  • NetworkManager (NewBorn.NBNetworkManager).OnClientSceneChanged()

  • 其他Player的GameObject的其他腳本的Awake()
    因此,其他Player就會(huì)比LocalPlayer先行在本Client被Spawn出來。

  • go.instanceID=-64522

  • NBPlayer(Clone) (NewBorn.PlayerController).Awake()

  • BattleStarter.OnStartClient()
    本身就在場景里的有NetworkIdentity的GameObject也比LocalPlayer先行被Spawn出來。

    BattleStarter (NewBorn.BattleStarter).OnStartClient()

    至此,Remote Client的Client本身就初始化好了。
    接下來,由于ClientScene.OnObjectSpawn()監(jiān)聽了MsgType.ObjectSpawn,所以當(dāng)Server生成本Client的LocalPlayer(或者Spawn其他任意GameObject時(shí)),本Client都會(huì)進(jìn)入NetworkIdentity/NetworkBehaviour的函數(shù)流程。

    Remote Client的Player初始化階段

    NetworkBehaviour.Awake()
    只有l(wèi)ocalPlayerAuthority=True這個(gè)UNet配置變量是合法的。其他UNet變量都是非法的。

  • go.instanceID=-65642,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=0

  • playerControllerId=-1

  • connectionToClient=

  • connectionToServer=

  • isClient=False

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).Awake()

  • NetworkBehaviour.OnEnable()

  • go.instanceID=-65642,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=0

  • playerControllerId=-1

  • connectionToClient=

  • connectionToServer=

  • isClient=False

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnEnable()

  • NetworkBehaviour.OnDeserialize()

    public void OnDeserialize([Networking.NetworkReader reader, bool initialState);
    Parameters
    reader?Reader to read from the stream.
    initialState?True if being sent initial state.
    Description
    Virtual function to override to receive custom serialization data.

    Server把這個(gè)新NetworkIdentity的GameObject的所有同步屬性進(jìn)行序列化會(huì)連同發(fā)送MsgType.Spawn一并下發(fā)。
    所以Client接受Server的數(shù)據(jù)后也通過OnDeserialize()在本地進(jìn)行反序列化。留意到這是第一次反序列化initialState=True。

    OnSerialize()和OnDeserialize()
    是用于自定義NetworkBehaviour中變量的序列化和反序列化的虛函數(shù)。前者必然是只在Server被調(diào)用、后者必然是只在Client被調(diào)用。
    事實(shí)上,[SyncVar]修飾的變量和SyncList變量都是通過編譯時(shí)UNet將這些變量的序列化反序列化邏輯自動(dòng)生成在OnSerialize()和OnDeserialize()中的。
    所以要注意,如果你在NetworkBehaviour中顯式override掉了這兩個(gè)函數(shù),則該NetworkBehaviour的[SyncVar]修飾的變量和SyncList變量都需要你自行編寫代碼實(shí)現(xiàn)序列化反序列化。

  • deserializeCount=1, reader=NetBuf sz:87 pos:87, initialState=True,

  • go.instanceID=-65642,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=0

  • playerControllerId=-1

  • connectionToClient=

  • connectionToServer=

  • isClient=False

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnDeserialize()

  • NetworkBehaviour.PreStartClient()

    public void PreStartClient();
    Description
    An internal method called on client objects to resolve GameObject references.

    留意到經(jīng)過上一步的OnDeserialize()之后,合法變量為

    • netId=7。
    • isClient=True。
    • isServer=False。
    • gameObject.name已經(jīng)改變?yōu)楦鷖erver所給予的名字(NBPlayer7)。
    • 事實(shí)上,所有SyncVar此時(shí)皆已合法。
  • go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=-1

  • connectionToClient=

  • connectionToServer=

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).PreStartClient()

  • NetworkBehaviour.OnStartClient()

    public void OnStartClient();
    Description
    Called on every NetworkBehaviour when it is activated on a client.
    Objects on the host have this function called, as there is a local client on the host. The values of SyncVars on object are guaranteed to be initialized correctly with the latest state from the server when this function is called on the client.

    和PreStartClient()沒什么區(qū)別。當(dāng)然,SyncVar已經(jīng)合法。

  • go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=-1

  • connectionToClient=

  • connectionToServer=

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnStartClient()

  • NetworkBehaviour.OnStartLocalPlayer()

    public void OnStartLocalPlayer();
    Description
    Called when the local player object has been set up.
    This happens after OnStartClient(), as it is triggered by an ownership message from the server. This is an appropriate place to activate components or functionality that should only be active for the local player, such as cameras and input.

    在一個(gè)Client運(yùn)行時(shí)中,只有一個(gè)Connection,有很多個(gè)Player。眾多Player中,只有和這個(gè)Connection綁定起來的Player,才“提拔為”LocalPlayer,代表的是本Client玩家的“MyPlayer”。所以,此時(shí)合法的變量就比較好理解了。
    合法變量:

    • playerControllerId=0
    • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2
    • isLocalPlayer=True

    Server發(fā)送MsgType.Owner給Client,然后Client就進(jìn)行LocalPlayer的更新。
    注意,從源碼看來。LocalPlayer可以有多個(gè)。

    另,應(yīng)注意,LocalPlayer的“Local”,和Host模式下的LocalClient的“Local”可不是同一個(gè)概念,應(yīng)分清區(qū)別:

    • LocalClient的Local可理解為“同機(jī)器的”:是Host模式下,和Server同處于一部物理機(jī)器上的一種特殊的Client。LocalClient的并列相反概念是RemoteClient,RemoteClient是指和Server處于不同物理機(jī)器上的常見Client。
    • LocalPlayer的Local可理解為“我自己的”,不管是RemoteClient,還是LocalClient,它們都會(huì)有本客戶端的自己的LocalPlayer。LocalPlayer的并列相反概念是DumbPlayer(作者本人喜歡的叫法),DumbPlayer是指本客戶端代表其他玩家的Player。
  • go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=

  • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=True

  • isLocalPlayer=True

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnStartLocalPlayer()

  • NetworkBehaviour.OnStartAuthority()

    public void OnStartAuthority();
    Description
    This is invoked on behaviours that have authority, based on context and the LocalPlayerAuthority value on the NetworkIdentity.
    This is called after OnStartServer and OnStartClient.When NetworkIdentity.AssignClientAuthority() is called on the server, this will be called on the client that owns the object. When an object is spawned with NetworkServer.SpawnWithClientAuthority(), this will be called on the client that owns the object.

    當(dāng)一個(gè)NetworkIdentity配置有LocalPlayerAuthority時(shí),此NetworkIdentity認(rèn)為是可以授權(quán)給Client的。只有一個(gè)Client真正有Authority的時(shí)候,才可以在該GameObject的NetworkBehaviour中發(fā)送Command給Server。
    什么時(shí)候Client才真正有Authority呢?LocalPlayer都是有Authority的。另自Unity5.2開始,也允許非Player在運(yùn)行時(shí)通過在Server調(diào)用NetworkIdentity.AssignClientAuthority()或NetworkServer.SpawnWithClientAuthority()將Authority賦予特定的Connection,即指定該Connection的Client也擁有該非Player的Authority,即允許該Client也可以在該非Player的NetworkBehaviour中發(fā)Command給Server。此時(shí)OnStartAuthority()這個(gè)函數(shù)是可以在那個(gè)時(shí)候再被調(diào)用到的。

    Authority要么只有Server擁有,要么只有Client擁有。

    合法變量:

    • hasAuthority=True
  • go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=

  • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=True

  • isLocalPlayer=True

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnStartAuthority()

  • NetworkBehaviour.Start()
    一幀真正開始。

  • go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=

  • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=True

  • isLocalPlayer=True

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).Start()

  • 至此,NetworkBehaviour的初始化階段已結(jié)束。接下來是正常運(yùn)轉(zhuǎn)階段。

    Remote Client的Player運(yùn)轉(zhuǎn)階段

    NetworkBehaviour.FixedUpdate()(多次)

  • fixedUpdateCount=15, go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=

  • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=True

  • isLocalPlayer=True

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).FixedUpdate()

  • NetworkBehaviour.Update()(多次)

  • updateCount=4, go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=

  • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=True

  • isLocalPlayer=True

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).Update()

  • NetworkBehaviour.OnDeserialize()(多次)

  • deserializeCount=5, reader=NetBuf sz:28 pos:28, initialState=False, go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=

  • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=True

  • isLocalPlayer=True

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnDeserialize()

  • Remote Client的Player銷毀階段

    通過調(diào)用NetworkServer.Destroy(gameObject);,gameObject進(jìn)入銷毀階段。

    NetworkBehaviour.OnNetworkDestroy()

    public void OnNetworkDestroy();
    Description
    This is invoked on clients when the server has caused this object to be destroyed.
    This can be used as a hook to invoke effects or do client specific cleanup.

    留意只有客戶端才會(huì)被調(diào)用OnNetworkDestroy()。

  • go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=

  • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=True

  • isLocalPlayer=True

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnNetworkDestroy()

  • NetworkBehaviour.OnDisable()

  • go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=

  • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=True

  • isLocalPlayer=True

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnDisable()

  • NetworkBehaviour.OnDestroy()

  • go.instanceID=-65642,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=

  • connectionToServer=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=True

  • isLocalPlayer=True

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnDestroy()

  • Remote Client的Client銷毀階段

    通過點(diǎn)擊NetworkManagerHUD的Stop按鈕,停止Remote Client。

    NetworkManager.OnStopHost()

    public void OnStopHost();
    Description
    This hook is called when a host is stopped.

    NetworkManagerHUD有bug。Remote Client情況點(diǎn)擊它也調(diào)用StopHost(),所以O(shè)nStopHost()也會(huì)被錯(cuò)誤地調(diào)用。
    正式情況應(yīng)忽略。

    NetworkManager (NewBorn.NBNetworkManager).OnStopHost()

    NetworkManager.OnStopClient()

    public void OnStopClient();
    Description
    This hook is called when a client is stopped.

    在NetworkManager.StopClient()調(diào)用時(shí),先調(diào)用NetworkManager.OnStopClient(),然后再斷連接、清除GameObject、跳轉(zhuǎn)到OfflineScene。

    NetworkManager (NewBorn.NBNetworkManager).OnStopClient()

    至此,Remote Client整個(gè)流程結(jié)束。


    Host情況

    在已有上面Dedicated Server、Remote Client的情況,Host情況也將適當(dāng)從略。

    Host初始化階段

    NetworkManager.Start()

    NetworkManager (NewBorn.NBNetworkManager).Start()

    NetworkManager.StartHost()

    public Networking.NetworkClient StartHost();
    Returns
    NetworkClient?The client object created - this is a "local client".
    Description
    This starts a network "host" - a server and client in the same application.
    The client returned from StartHost() is a special "local" client that communicates to the in-process server using a message queue instead of the real network. But in almost all other cases, it can be treated as a normal client.

    NetworkManager (NewBorn.NBNetworkManager).StartHost()

    NetworkManager.OnStartHost()

    NetworkManager (NewBorn.NBNetworkManager).OnStartHost()

    NetworkManager.OnStartServer()

    NetworkManager (NewBorn.NBNetworkManager).OnStartServer()

    NetworkManager.ServerChangeScene()

  • Battle_Demo_Official

  • NetworkManager (NewBorn.NBNetworkManager).ServerChangeScene()

  • NetworkManager.OnServerConnect()(2次)(LocalClient混雜進(jìn)來的Server函數(shù))

  • hostId: -1 connectionId: 0 isReady: False channel count: 0

  • NetworkManager (NewBorn.NBNetworkManager).OnServerConnect()

  • NetworkManager.OnStartClient()(LocalClient混雜進(jìn)來的Client函數(shù))

  • UnityEngine.Networking.LocalClient

  • NetworkManager (NewBorn.NBNetworkManager).OnStartClient()

  • NetworkManager.OnClientConnect()(LocalClient混雜進(jìn)來的Client函數(shù))

  • hostId: -1 connectionId: 0 isReady: False channel count: 0

  • NetworkManager (NewBorn.NBNetworkManager).OnClientConnect()

  • NetworkManager.OnServerSceneChanged()

  • Battle_Demo_Official

  • NetworkManager (NewBorn.NBNetworkManager).OnServerSceneChanged()

  • NetworkManager.OnClientSceneChanged()(LocalClient混雜進(jìn)來的Client函數(shù))

  • hostId: -1 connectionId: 0 isReady: False channel count: 0

  • NetworkManager (NewBorn.NBNetworkManager).OnClientSceneChanged()

  • NetworkManager.OnServerReady()(LocalClient混雜進(jìn)來的Server函數(shù))

  • hostId: -1 connectionId: 0 isReady: False channel count: 0

  • NetworkManager (NewBorn.NBNetworkManager).OnServerReady()

  • NetworkManager.OnServerAddPlayer()(LocalClient混雜進(jìn)來的Server函數(shù))

  • hostId: -1 connectionId: 0 isReady: True channel count: 0, 0

  • NetworkManager (NewBorn.NBNetworkManager).OnServerAddPlayer()

  • 至此,Host的Server初始化邏輯(混雜著LocalClient的初始化邏輯)結(jié)束。
    進(jìn)入Player初始化階段。

    Host情況的Player初始化階段

    NetworkManager.OnServerConnect()

  • hostId: 0 connectionId: 1 isReady: False channel count: 2

  • NetworkManager (NewBorn.NBNetworkManager).OnServerConnect()

  • NetworkManager.OnServerReady()

  • hostId: 0 connectionId: 1 isReady: False channel count: 2

  • NetworkManager (NewBorn.NBNetworkManager).OnServerReady()

  • NetworkManager.OnServerAddPlayer()

  • hostId: 0 connectionId: 1 isReady: True channel count: 2, 0

  • NetworkManager (NewBorn.NBNetworkManager).OnServerAddPlayer()

  • 至此,開始Player的Prefab在Host已被Instantiate出來。正式開始NetworkIdentity/NetworkBehaviour的函數(shù)流程。

    NetworkBehaviour.Awake()

  • go.instanceID=-78256,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=0

  • playerControllerId=-1

  • connectionToClient=

  • connectionToServer=

  • isClient=False

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).Awake()

  • NetworkBehaviour.OnEnable()

  • go.instanceID=-78256,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=0

  • playerControllerId=-1

  • connectionToClient=

  • connectionToServer=

  • isClient=False

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnEnable()

  • NetworkBehaviour.OnStartServer()
    合法變量:

    • netId=2。由于是Host,所以不需調(diào)用OnDeserialize()。立刻確定了netId。
    • isServer=True
  • go.instanceID=-78256,go=NBPlayer(Clone) (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=False

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer(Clone) (MoreFun.TestNetworkBehaviour).OnStartServer()

  • NetworkBehaviour.PreStartClient()

  • go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).PreStartClient()

  • NetworkBehaviour.OnStartClient()

  • go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnStartClient()

  • NetworkBehaviour.OnRebuildObservers()

  • observers=System.Collections.Generic.HashSet`1[UnityEngine.Networking.NetworkConnection], initialize=True,

  • go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnRebuildObservers()

  • NetworkBehaviour.OnSerialize()(多次)

  • serializeCount=1, writer=UnityEngine.Networking.NetworkWriter, initialState=True, go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnSerialize()

  • NetworkBehaviour.OnSetLocalVisibility()

    public void OnSetLocalVisibility(bool vis);
    Parameters
    vis?New visibility state.
    Description
    Callback used by the visibility system for objects on a host.
    Objects on a host (with a local client) cannot be disabled or destroyed when they are not visibile to the local client. So this function is called to allow custom code to hide these objects. A typical implementation will disable renderer components on the object. This is only called on local clients on a host.

  • vis=True, go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnSetLocalVisibility()

  • NetworkBehaviour.Start()

  • go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).Start()

  • 至此,Host情況的NetworkIdentity/NetworkBehaviour的初始化階段已結(jié)束。接下來是正常運(yùn)轉(zhuǎn)階段。

    Host情況的Player運(yùn)轉(zhuǎn)階段

    NetworkBehaviour.FixedUpdate()(多次)

  • fixedUpdateCount=5,

  • go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).FixedUpdate()

  • NetworkBehaviour.Update()(多次)

  • updateCount=4,

  • go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).Update()

  • NetworkBehaviour.OnSerialize()(多次)

  • serializeCount=4, writer=UnityEngine.Networking.NetworkWriter, initialState=False, go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnSerialize()

  • Host情況的Player銷毀階段

    通過調(diào)用NetworkServer.Destroy(gameObject);,gameObject進(jìn)入銷毀階段。

    NetworkBehaviour.OnNetworkDestroy()

  • go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=True

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnNetworkDestroy()

  • NetworkBehaviour.OnDisable()

  • go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=7

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnDisable()

  • NetworkBehaviour.OnDestroy()

  • go.instanceID=-78256,go=NBPlayer7 (UnityEngine.GameObject)

  • netId=0

  • playerControllerId=0

  • connectionToClient=hostId: 0 connectionId: 1 isReady: True channel count: 2

  • connectionToServer=

  • isClient=True

  • isServer=False

  • localPlayerAuthority=True

  • hasAuthority=False

  • isLocalPlayer=False

  • NBPlayer7 (MoreFun.TestNetworkBehaviour).OnDestroy()

  • NetworkManager.OnServerDisconnect()

  • hostId: 0 connectionId: 1 isReady: False channel count: 2

  • NetworkManager (NewBorn.NBNetworkManager).OnServerDisconnect()

  • 至此,Host情況的Player流程結(jié)束。

    Host銷毀流程

    NetworkManager.OnStopHost()

    NetworkManager (NewBorn.NBNetworkManager).OnStopHost()

    NetworkManager.OnStopServer()

    NetworkManager (NewBorn.NBNetworkManager).OnStopServer()

    NetworkManager.ServerChangeScene()

  • BattleOffline

  • NetworkManager (NewBorn.NBNetworkManager).ServerChangeScene()

  • NetworkManager.OnStopClient()

    NetworkManager (NewBorn.NBNetworkManager).OnStopClient()

    至此,Host情況全部流程結(jié)束。

    轉(zhuǎn)自http://www.jianshu.com/p/63bb685a36d6

    總結(jié)

    以上是生活随笔為你收集整理的UNet详解(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    丰满妇女强制高潮18xxxx | 久久精品人人做人人综合 | 成年美女黄网站色大免费视频 | 天海翼激烈高潮到腰振不止 | 欧美激情一区二区三区成人 | 99麻豆久久久国产精品免费 | 中文字幕av无码一区二区三区电影 | 18禁黄网站男男禁片免费观看 | 色一情一乱一伦一区二区三欧美 | 日日橹狠狠爱欧美视频 | 国产乱人伦av在线无码 | 中文字幕乱码人妻无码久久 | 久久久久av无码免费网 | 亚洲精品久久久久avwww潮水 | 99麻豆久久久国产精品免费 | 午夜成人1000部免费视频 | 十八禁视频网站在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | а√天堂www在线天堂小说 | 欧美亚洲国产一区二区三区 | 日本熟妇浓毛 | 最近的中文字幕在线看视频 | 波多野结衣高清一区二区三区 | 伊人色综合久久天天小片 | 精品久久久中文字幕人妻 | 好男人社区资源 | 亚洲爆乳精品无码一区二区三区 | 国产免费久久精品国产传媒 | 久久久www成人免费毛片 | 国产两女互慰高潮视频在线观看 | 亚洲熟女一区二区三区 | 俺去俺来也www色官网 | 狠狠cao日日穞夜夜穞av | 日本熟妇人妻xxxxx人hd | 久久久久99精品成人片 | 亚洲中文字幕无码一久久区 | 夜精品a片一区二区三区无码白浆 | 一个人看的视频www在线 | 国产精品99久久精品爆乳 | 扒开双腿吃奶呻吟做受视频 | 国产黄在线观看免费观看不卡 | 小鲜肉自慰网站xnxx | 久久久久成人片免费观看蜜芽 | 久久久久人妻一区精品色欧美 | 天堂久久天堂av色综合 | 欧美乱妇无乱码大黄a片 | 国精产品一品二品国精品69xx | 狂野欧美性猛xxxx乱大交 | 国産精品久久久久久久 | 欧美丰满少妇xxxx性 | 国产精品亚洲综合色区韩国 | 亚洲日韩精品欧美一区二区 | 无码人妻久久一区二区三区不卡 | 国产色视频一区二区三区 | 99久久久无码国产精品免费 | 免费中文字幕日韩欧美 | 免费人成在线观看网站 | 特黄特色大片免费播放器图片 | 久久99热只有频精品8 | 无码人妻av免费一区二区三区 | 岛国片人妻三上悠亚 | 人妻天天爽夜夜爽一区二区 | 亚洲成色在线综合网站 | 免费观看激色视频网站 | 三级4级全黄60分钟 | 国产后入清纯学生妹 | 国产色精品久久人妻 | 亚洲熟妇色xxxxx亚洲 | 在线精品亚洲一区二区 | 一本加勒比波多野结衣 | 一个人看的www免费视频在线观看 | 日本在线高清不卡免费播放 | 亚洲国产精品毛片av不卡在线 | 国产亚洲tv在线观看 | 中文字幕日韩精品一区二区三区 | 亚洲人亚洲人成电影网站色 | 亚洲成在人网站无码天堂 | 亚洲の无码国产の无码影院 | 无码国产乱人伦偷精品视频 | 亚洲高清偷拍一区二区三区 | 欧美日韩久久久精品a片 | 日本熟妇人妻xxxxx人hd | 国产精品内射视频免费 | 国产成人精品久久亚洲高清不卡 | 精品午夜福利在线观看 | 两性色午夜免费视频 | 亚洲国产精品毛片av不卡在线 | 亚洲精品欧美二区三区中文字幕 | 国产av人人夜夜澡人人爽麻豆 | 中文字幕av日韩精品一区二区 | 亚洲综合无码久久精品综合 | 国产麻豆精品一区二区三区v视界 | 国产在线一区二区三区四区五区 | 麻豆果冻传媒2021精品传媒一区下载 | 日本肉体xxxx裸交 | 精品国精品国产自在久国产87 | 欧美人妻一区二区三区 | 中文字幕无码视频专区 | 男人的天堂av网站 | 亚洲中文字幕乱码av波多ji | 国产精品视频免费播放 | 欧美日韩人成综合在线播放 | 日产精品99久久久久久 | 亚洲一区二区观看播放 | 久久久久成人片免费观看蜜芽 | 亚洲人成人无码网www国产 | 婷婷五月综合激情中文字幕 | 少妇激情av一区二区 | 一二三四社区在线中文视频 | 欧美真人作爱免费视频 | 国产精品久久久久久久9999 | 亚洲一区av无码专区在线观看 | 久久久久久a亚洲欧洲av冫 | 成人三级无码视频在线观看 | 国产精品久久福利网站 | 99精品国产综合久久久久五月天 | 巨爆乳无码视频在线观看 | 日韩av激情在线观看 | 国产无av码在线观看 | 久久精品中文字幕大胸 | 久久久久久a亚洲欧洲av冫 | 1000部啪啪未满十八勿入下载 | 亚洲综合无码久久精品综合 | 俄罗斯老熟妇色xxxx | 欧美丰满少妇xxxx性 | 欧洲熟妇色 欧美 | 日韩人妻少妇一区二区三区 | 亚洲人亚洲人成电影网站色 | 在线亚洲高清揄拍自拍一品区 | 亚洲国产精品无码一区二区三区 | 中文字幕无码乱人伦 | 综合网日日天干夜夜久久 | 夜夜高潮次次欢爽av女 | 国产无套内射久久久国产 | 国产热a欧美热a在线视频 | ass日本丰满熟妇pics | 樱花草在线社区www | 成在人线av无码免观看麻豆 | 狠狠色丁香久久婷婷综合五月 | 一本久道久久综合婷婷五月 | 婷婷综合久久中文字幕蜜桃三电影 | 精品国产乱码久久久久乱码 | 99re在线播放 | 一本精品99久久精品77 | 九九久久精品国产免费看小说 | 国产精品久久国产三级国 | 九九久久精品国产免费看小说 | 人人妻人人澡人人爽人人精品 | 国产精品久免费的黄网站 | 一本加勒比波多野结衣 | 久激情内射婷内射蜜桃人妖 | 真人与拘做受免费视频一 | 国产一区二区三区四区五区加勒比 | 一本久道久久综合婷婷五月 | 娇妻被黑人粗大高潮白浆 | 日韩亚洲欧美中文高清在线 | 青青青手机频在线观看 | 免费人成网站视频在线观看 | 国产精品鲁鲁鲁 | 久久zyz资源站无码中文动漫 | 国产精品二区一区二区aⅴ污介绍 | 色综合视频一区二区三区 | 欧美成人午夜精品久久久 | 国产三级久久久精品麻豆三级 | 亚洲国产综合无码一区 | 色综合久久中文娱乐网 | 日本护士毛茸茸高潮 | 成 人 免费观看网站 | av无码不卡在线观看免费 | 国产精品无码mv在线观看 | 麻豆蜜桃av蜜臀av色欲av | 美女极度色诱视频国产 | 亚洲男人av香蕉爽爽爽爽 | 日韩精品一区二区av在线 | 欧美人妻一区二区三区 | 中文字幕人妻无码一区二区三区 | 久久久久久久久蜜桃 | 久久久久久国产精品无码下载 | yw尤物av无码国产在线观看 | 亚拍精品一区二区三区探花 | 又粗又大又硬又长又爽 | 色一情一乱一伦一区二区三欧美 | 人妻少妇精品视频专区 | 欧美国产日产一区二区 | 亚洲精品久久久久中文第一幕 | 日本一区二区更新不卡 | 人人妻人人澡人人爽欧美精品 | 亚洲精品成人av在线 | 人人妻人人澡人人爽人人精品 | 精品偷自拍另类在线观看 | 亚洲а∨天堂久久精品2021 | 两性色午夜免费视频 | 无码国内精品人妻少妇 | 老熟女乱子伦 | 亚洲综合在线一区二区三区 | 久久久无码中文字幕久... | 无码人妻久久一区二区三区不卡 | 老司机亚洲精品影院无码 | 国产亚洲精品久久久久久国模美 | 蜜桃av抽搐高潮一区二区 | 女人被爽到呻吟gif动态图视看 | 欧美日韩一区二区免费视频 | 麻豆av传媒蜜桃天美传媒 | 成人无码视频在线观看网站 | 精品无码一区二区三区爱欲 | 国产特级毛片aaaaaa高潮流水 | 97久久超碰中文字幕 | 99在线 | 亚洲 | 小sao货水好多真紧h无码视频 | 日本免费一区二区三区最新 | 内射白嫩少妇超碰 | 中文字幕中文有码在线 | 成人综合网亚洲伊人 | 国产猛烈高潮尖叫视频免费 | 在线播放亚洲第一字幕 | 国内少妇偷人精品视频免费 | 图片区 小说区 区 亚洲五月 | 麻豆精产国品 | www国产亚洲精品久久久日本 | 欧美日韩亚洲国产精品 | 永久黄网站色视频免费直播 | 中文字幕乱码人妻无码久久 | 四虎国产精品一区二区 | 人妻少妇精品无码专区二区 | 免费人成在线观看网站 | 国产一区二区三区影院 | 少妇高潮一区二区三区99 | 18禁黄网站男男禁片免费观看 | 一个人看的www免费视频在线观看 | 国产肉丝袜在线观看 | 亚洲欧美国产精品专区久久 | 日本大乳高潮视频在线观看 | 国产激情一区二区三区 | 亚洲国产欧美国产综合一区 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 中文字幕人妻无码一区二区三区 | 国产成人一区二区三区在线观看 | 日韩亚洲欧美精品综合 | 亚洲天堂2017无码 | 亚洲男人av天堂午夜在 | 娇妻被黑人粗大高潮白浆 | 国产成人综合在线女婷五月99播放 | 国产精品嫩草久久久久 | 久久久久久久女国产乱让韩 | 久久www免费人成人片 | 女人被爽到呻吟gif动态图视看 | 亚洲精品综合一区二区三区在线 | 国产精品高潮呻吟av久久 | 无码国模国产在线观看 | 国产9 9在线 | 中文 | 国产乱人伦av在线无码 | 亚洲综合伊人久久大杳蕉 | 亚洲自偷自拍另类第1页 | 国产亚洲精品久久久闺蜜 | 亚洲成色在线综合网站 | 久久久久久九九精品久 | 欧美日韩一区二区免费视频 | 粗大的内捧猛烈进出视频 | 99久久99久久免费精品蜜桃 | aa片在线观看视频在线播放 | 国产精品-区区久久久狼 | 国产精品无码mv在线观看 | 国产精品久久久av久久久 | 熟妇女人妻丰满少妇中文字幕 | 全黄性性激高免费视频 | 亚洲综合无码一区二区三区 | 欧美35页视频在线观看 | 欧美一区二区三区 | 免费人成在线视频无码 | 人妻少妇被猛烈进入中文字幕 | 久久99精品国产麻豆 | 一本久道高清无码视频 | 任你躁国产自任一区二区三区 | 国产片av国语在线观看 | 国产人妻久久精品二区三区老狼 | 久激情内射婷内射蜜桃人妖 | 亚洲精品成人福利网站 | 国内揄拍国内精品少妇国语 | 又大又硬又爽免费视频 | 暴力强奷在线播放无码 | 九九热爱视频精品 | 99久久久国产精品无码免费 | 精品亚洲韩国一区二区三区 | 在线观看欧美一区二区三区 | 亚洲中文字幕无码中字 | 成人免费视频一区二区 | 秋霞成人午夜鲁丝一区二区三区 | 人妻中文无码久热丝袜 | 水蜜桃av无码 | 少妇的肉体aa片免费 | 狂野欧美激情性xxxx | 日日躁夜夜躁狠狠躁 | 久久久精品欧美一区二区免费 | 一个人免费观看的www视频 | 又大又黄又粗又爽的免费视频 | av无码久久久久不卡免费网站 | 十八禁真人啪啪免费网站 | 2019午夜福利不卡片在线 | 欧美老人巨大xxxx做受 | 一二三四社区在线中文视频 | 国产成人综合色在线观看网站 | 亚洲国产精品无码一区二区三区 | 亚洲s码欧洲m码国产av | 狠狠cao日日穞夜夜穞av | 无码人妻精品一区二区三区不卡 | 76少妇精品导航 | 亚无码乱人伦一区二区 | 小sao货水好多真紧h无码视频 | 荫蒂添的好舒服视频囗交 | 人妻少妇精品无码专区动漫 | 国产一精品一av一免费 | 久久综合九色综合欧美狠狠 | 成人欧美一区二区三区黑人 | 亚洲欧美精品伊人久久 | 巨爆乳无码视频在线观看 | 无码中文字幕色专区 | 国内精品久久久久久中文字幕 | 成人片黄网站色大片免费观看 | 天天躁日日躁狠狠躁免费麻豆 | 人妻中文无码久热丝袜 | 18禁黄网站男男禁片免费观看 | 女人高潮内射99精品 | 少女韩国电视剧在线观看完整 | 99久久精品无码一区二区毛片 | 少妇久久久久久人妻无码 | 天天av天天av天天透 | 亚无码乱人伦一区二区 | 激情内射亚州一区二区三区爱妻 | 久久精品人人做人人综合 | 久久亚洲精品成人无码 | 婷婷五月综合缴情在线视频 | 久久久久av无码免费网 | 久久99精品国产.久久久久 | 欧美大屁股xxxxhd黑色 | 中文字幕无码热在线视频 | 中文字幕av无码一区二区三区电影 | 国产成人精品优优av | 亚洲人成人无码网www国产 | 国产av无码专区亚洲awww | 九月婷婷人人澡人人添人人爽 | 麻豆av传媒蜜桃天美传媒 | 国产精品.xx视频.xxtv | 成人免费视频在线观看 | 国产成人综合色在线观看网站 | 97久久超碰中文字幕 | 麻豆国产人妻欲求不满谁演的 | 久久综合久久自在自线精品自 | 国产精品久久久久影院嫩草 | 精品人人妻人人澡人人爽人人 | 精品久久久久久人妻无码中文字幕 | 亚洲成a人片在线观看无码3d | 久久久久免费看成人影片 | 日本精品高清一区二区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 欧美丰满少妇xxxx性 | 人妻少妇精品无码专区动漫 | 久久国产36精品色熟妇 | 亚洲精品久久久久avwww潮水 | 国产精品毛片一区二区 | 色一情一乱一伦一区二区三欧美 | 亚洲s色大片在线观看 | 十八禁视频网站在线观看 | 两性色午夜免费视频 | 俺去俺来也www色官网 | 成熟妇人a片免费看网站 | 欧美人妻一区二区三区 | 老头边吃奶边弄进去呻吟 | 欧美成人午夜精品久久久 | 黄网在线观看免费网站 | 亚洲日本va中文字幕 | 成人性做爰aaa片免费看 | 日本成熟视频免费视频 | 色婷婷综合激情综在线播放 | 国产 精品 自在自线 | 成人无码精品1区2区3区免费看 | 欧美人与禽猛交狂配 | 欧美性生交xxxxx久久久 | 日韩欧美中文字幕公布 | 成人毛片一区二区 | 图片区 小说区 区 亚洲五月 | 久久精品国产大片免费观看 | 亚洲成a人片在线观看日本 | 欧美zoozzooz性欧美 | 久久人人97超碰a片精品 | 鲁大师影院在线观看 | 黑人玩弄人妻中文在线 | 国产在线精品一区二区高清不卡 | 精品 日韩 国产 欧美 视频 | 77777熟女视频在线观看 а天堂中文在线官网 | 无码av免费一区二区三区试看 | 国产黄在线观看免费观看不卡 | 无码福利日韩神码福利片 | 荡女精品导航 | 成 人影片 免费观看 | 国产亚洲人成a在线v网站 | 爆乳一区二区三区无码 | 精品欧美一区二区三区久久久 | 久久精品人人做人人综合 | 成人无码精品1区2区3区免费看 | 97人妻精品一区二区三区 | 国产成人无码午夜视频在线观看 | 成人动漫在线观看 | 欧美阿v高清资源不卡在线播放 | 四十如虎的丰满熟妇啪啪 | 狠狠色色综合网站 | a在线观看免费网站大全 | 99久久人妻精品免费一区 | 熟女少妇在线视频播放 | 少妇无码一区二区二三区 | 国产一区二区三区日韩精品 | 麻豆蜜桃av蜜臀av色欲av | 亚洲综合伊人久久大杳蕉 | 欧美人与禽猛交狂配 | 久久www免费人成人片 | 国产午夜福利亚洲第一 | 国产精品久久久久久亚洲毛片 | 亚洲 欧美 激情 小说 另类 | 无码纯肉视频在线观看 | 亚洲 激情 小说 另类 欧美 | 大地资源中文第3页 | 黑森林福利视频导航 | 精品国产乱码久久久久乱码 | 日韩精品乱码av一区二区 | 中文字幕无码热在线视频 | 久久99精品国产麻豆蜜芽 | 久久久www成人免费毛片 | 一本久道久久综合婷婷五月 | 亚洲国产成人a精品不卡在线 | 亚洲综合伊人久久大杳蕉 | 成人女人看片免费视频放人 | 亚洲成a人片在线观看日本 | 日韩亚洲欧美精品综合 | 亚洲人成影院在线观看 | 欧美日韩视频无码一区二区三 | 成人性做爰aaa片免费看 | 亚洲日韩av片在线观看 | 18精品久久久无码午夜福利 | 午夜男女很黄的视频 | 日本免费一区二区三区最新 | a国产一区二区免费入口 | 精品一区二区三区波多野结衣 | 亚洲一区二区观看播放 | 少妇愉情理伦片bd | 国内揄拍国内精品少妇国语 | 熟妇人妻无码xxx视频 | 久久aⅴ免费观看 | 亚洲 日韩 欧美 成人 在线观看 | 日韩精品无码一区二区中文字幕 | 亚洲成av人片天堂网无码】 | 亚洲国产精品久久久天堂 | 粗大的内捧猛烈进出视频 | 精品国产青草久久久久福利 | 久久这里只有精品视频9 | 99久久精品无码一区二区毛片 | 丰满岳乱妇在线观看中字无码 | 偷窥日本少妇撒尿chinese | 377p欧洲日本亚洲大胆 | 性做久久久久久久免费看 | 午夜无码区在线观看 | av在线亚洲欧洲日产一区二区 | 亚洲综合伊人久久大杳蕉 | 欧美 日韩 人妻 高清 中文 | 窝窝午夜理论片影院 | 久久久国产精品无码免费专区 | 麻豆国产97在线 | 欧洲 | 亚洲a无码综合a国产av中文 | 精品无人区无码乱码毛片国产 | 青春草在线视频免费观看 | 欧洲精品码一区二区三区免费看 | 狠狠色噜噜狠狠狠7777奇米 | 久久97精品久久久久久久不卡 | 欧美 日韩 亚洲 在线 | 亚洲色偷偷男人的天堂 | 久久国产精品精品国产色婷婷 | 亚洲日本va午夜在线电影 | 99久久99久久免费精品蜜桃 | 精品国产一区二区三区四区在线看 | 亚洲国产欧美国产综合一区 | 免费无码午夜福利片69 | 又大又硬又黄的免费视频 | 亚洲毛片av日韩av无码 | 澳门永久av免费网站 | 日日摸夜夜摸狠狠摸婷婷 | 国产熟女一区二区三区四区五区 | 国产精品人人妻人人爽 | 国产综合在线观看 | 十八禁真人啪啪免费网站 | 少妇厨房愉情理9仑片视频 | 亚洲一区av无码专区在线观看 | 76少妇精品导航 | 黑人巨大精品欧美黑寡妇 | 国产在线aaa片一区二区99 | 中文字幕精品av一区二区五区 | 亚洲精品国产精品乱码不卡 | 亚洲色大成网站www | 日本一卡二卡不卡视频查询 | 久久伊人色av天堂九九小黄鸭 | 青青草原综合久久大伊人精品 | 蜜桃视频插满18在线观看 | 中文字幕人妻无码一区二区三区 | 亚洲呦女专区 | 中文字幕av无码一区二区三区电影 | 国产人妻久久精品二区三区老狼 | 中文无码成人免费视频在线观看 | 无码人妻精品一区二区三区不卡 | 日本一本二本三区免费 | 日本在线高清不卡免费播放 | 无码一区二区三区在线观看 | 黑人粗大猛烈进出高潮视频 | 国产真实伦对白全集 | 国产精品毛多多水多 | 强伦人妻一区二区三区视频18 | 久久99精品久久久久久 | 欧美野外疯狂做受xxxx高潮 | 老熟妇乱子伦牲交视频 | av无码久久久久不卡免费网站 | 日日摸日日碰夜夜爽av | 国产精品99久久精品爆乳 | 女人高潮内射99精品 | 东京无码熟妇人妻av在线网址 | 高潮毛片无遮挡高清免费 | 日本www一道久久久免费榴莲 | 中文字幕人妻无码一夲道 | 97色伦图片97综合影院 | 内射巨臀欧美在线视频 | 亚洲aⅴ无码成人网站国产app | 熟妇人妻无乱码中文字幕 | 国产特级毛片aaaaaaa高清 | 国产乱码精品一品二品 | 精品国产麻豆免费人成网站 | 成人欧美一区二区三区黑人免费 | 亚洲小说图区综合在线 | 樱花草在线播放免费中文 | 无码av岛国片在线播放 | 波多野结衣一区二区三区av免费 | 老熟妇仑乱视频一区二区 | 伊人久久大香线蕉亚洲 | 欧美zoozzooz性欧美 | 一本久久a久久精品亚洲 | www成人国产高清内射 | 亚洲成av人片在线观看无码不卡 | 亚洲第一无码av无码专区 | 亚洲阿v天堂在线 | 久久午夜无码鲁丝片 | 亚洲呦女专区 | 东京热男人av天堂 | 免费人成在线观看网站 | 一本一道久久综合久久 | 永久黄网站色视频免费直播 | 欧美国产日产一区二区 | 无码国产乱人伦偷精品视频 | 国产精品鲁鲁鲁 | 国产真实乱对白精彩久久 | 亚洲男人av天堂午夜在 | 蜜桃臀无码内射一区二区三区 | 国产精品久久久久久亚洲毛片 | 亚洲国产成人av在线观看 | 无码吃奶揉捏奶头高潮视频 | 精品午夜福利在线观看 | 久久国产自偷自偷免费一区调 | 日日摸天天摸爽爽狠狠97 | 国产精品99爱免费视频 | 久久国产精品_国产精品 | 荫蒂被男人添的好舒服爽免费视频 | 成在人线av无码免观看麻豆 | 国产亚洲精品久久久久久大师 | 内射巨臀欧美在线视频 | 99久久久无码国产精品免费 | 天天摸天天碰天天添 | 狠狠cao日日穞夜夜穞av | 国产片av国语在线观看 | 人妻天天爽夜夜爽一区二区 | 我要看www免费看插插视频 | 久久久亚洲欧洲日产国码αv | 特级做a爰片毛片免费69 | 丰满妇女强制高潮18xxxx | 两性色午夜视频免费播放 | 亚洲日韩精品欧美一区二区 | 国产人成高清在线视频99最全资源 | 国产人妖乱国产精品人妖 | 国产人成高清在线视频99最全资源 | 88国产精品欧美一区二区三区 | 久久精品国产99精品亚洲 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 亚洲国产成人av在线观看 | 成人欧美一区二区三区 | 思思久久99热只有频精品66 | 亚洲中文字幕在线无码一区二区 | 亚洲 高清 成人 动漫 | 亚洲色欲久久久综合网东京热 | 亚洲爆乳精品无码一区二区三区 | 精品欧洲av无码一区二区三区 | 国产在线精品一区二区三区直播 | 大地资源中文第3页 | 国产亚洲精品精品国产亚洲综合 | 又色又爽又黄的美女裸体网站 | 噜噜噜亚洲色成人网站 | 中文无码伦av中文字幕 | 日韩精品无码免费一区二区三区 | 麻豆成人精品国产免费 | 无码吃奶揉捏奶头高潮视频 | 男女作爱免费网站 | 撕开奶罩揉吮奶头视频 | 精品久久8x国产免费观看 | 全黄性性激高免费视频 | 日韩精品乱码av一区二区 | 精品午夜福利在线观看 | 国产99久久精品一区二区 | 国产精品对白交换视频 | 伊在人天堂亚洲香蕉精品区 | 中文久久乱码一区二区 | 国内精品人妻无码久久久影院蜜桃 | 日本丰满护士爆乳xxxx | 精品一区二区三区无码免费视频 | 久久久久久a亚洲欧洲av冫 | 久激情内射婷内射蜜桃人妖 | 久久久精品国产sm最大网站 | 亚洲中文字幕成人无码 | 免费观看的无遮挡av | 无码av最新清无码专区吞精 | 精品亚洲成av人在线观看 | 野外少妇愉情中文字幕 | 国产成人精品一区二区在线小狼 | 草草网站影院白丝内射 | 免费国产成人高清在线观看网站 | 人人超人人超碰超国产 | 伦伦影院午夜理论片 | 久久久久久av无码免费看大片 | 未满小14洗澡无码视频网站 | 女人被男人躁得好爽免费视频 | 精品国产福利一区二区 | 亚洲va欧美va天堂v国产综合 | 色综合久久网 | 黑人大群体交免费视频 | 丰满人妻精品国产99aⅴ | 极品尤物被啪到呻吟喷水 | 亚洲精品久久久久中文第一幕 | 精品无码一区二区三区爱欲 | 成年美女黄网站色大免费全看 | 久久天天躁狠狠躁夜夜免费观看 | 人妻体内射精一区二区三四 | 丰满妇女强制高潮18xxxx | 水蜜桃亚洲一二三四在线 | 国产色视频一区二区三区 | 高清国产亚洲精品自在久久 | 精品国产一区二区三区四区 | 大肉大捧一进一出好爽视频 | 在线精品国产一区二区三区 | av香港经典三级级 在线 | 欧美猛少妇色xxxxx | 日本一区二区三区免费高清 | 乱人伦中文视频在线观看 | 无码一区二区三区在线 | 精品偷拍一区二区三区在线看 | 一二三四社区在线中文视频 | 狠狠色丁香久久婷婷综合五月 | 欧洲欧美人成视频在线 | 色综合视频一区二区三区 | 国产av人人夜夜澡人人爽麻豆 | 爆乳一区二区三区无码 | 免费国产黄网站在线观看 | 国产人妻久久精品二区三区老狼 | 亚洲精品久久久久久一区二区 | 亚洲精品中文字幕乱码 | 99久久99久久免费精品蜜桃 | 97资源共享在线视频 | 中文字幕乱妇无码av在线 | 国产午夜福利亚洲第一 | 国产欧美精品一区二区三区 | 樱花草在线社区www | 国产99久久精品一区二区 | 性生交大片免费看女人按摩摩 | 性啪啪chinese东北女人 | 黑人巨大精品欧美黑寡妇 | 亚洲の无码国产の无码影院 | 亚洲国产成人a精品不卡在线 | 国语精品一区二区三区 | 中文字幕精品av一区二区五区 | 欧美日韩亚洲国产精品 | 国产精品久久久久7777 | 天堂无码人妻精品一区二区三区 | 久久亚洲精品中文字幕无男同 | 日本精品久久久久中文字幕 | 精品国产一区二区三区四区在线看 | 丝袜美腿亚洲一区二区 | 亚洲精品中文字幕久久久久 | 国产乱人伦偷精品视频 | 国产99久久精品一区二区 | 樱花草在线播放免费中文 | 麻豆av传媒蜜桃天美传媒 | 久9re热视频这里只有精品 | 国产又粗又硬又大爽黄老大爷视 | 青春草在线视频免费观看 | 亚洲自偷自拍另类第1页 | 国产情侣作爱视频免费观看 | 精品日本一区二区三区在线观看 | 狠狠色欧美亚洲狠狠色www | 亚洲乱码日产精品bd | 亚洲va欧美va天堂v国产综合 | 久久久国产精品无码免费专区 | 中国大陆精品视频xxxx | 欧美高清在线精品一区 | 国产人妻久久精品二区三区老狼 | 久久久久人妻一区精品色欧美 | 国产日产欧产精品精品app | 久久久精品国产sm最大网站 | 欧美丰满少妇xxxx性 | 亚洲精品久久久久avwww潮水 | 国产精品无套呻吟在线 | 俺去俺来也在线www色官网 | 人人妻人人澡人人爽欧美一区九九 | 国产av无码专区亚洲a∨毛片 | 国产真人无遮挡作爱免费视频 | 亚洲精品无码人妻无码 | 一区二区三区乱码在线 | 欧洲 | 国产亚洲欧美在线专区 | 天海翼激烈高潮到腰振不止 | 四虎永久在线精品免费网址 | 欧美兽交xxxx×视频 | 日本熟妇人妻xxxxx人hd | 天海翼激烈高潮到腰振不止 | 无套内谢老熟女 | 亚洲日韩中文字幕在线播放 | 女人被男人躁得好爽免费视频 | 国产肉丝袜在线观看 | 久久综合激激的五月天 | 成人欧美一区二区三区 | 麻豆国产人妻欲求不满谁演的 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 日韩精品一区二区av在线 | 在线精品国产一区二区三区 | 露脸叫床粗话东北少妇 | 欧美国产日产一区二区 | 无码人中文字幕 | 亚洲熟女一区二区三区 | 蜜桃视频韩日免费播放 | 纯爱无遮挡h肉动漫在线播放 | 未满小14洗澡无码视频网站 | 精品国精品国产自在久国产87 | 久久午夜无码鲁丝片 | 18禁黄网站男男禁片免费观看 | 日本一卡2卡3卡四卡精品网站 | 狠狠色丁香久久婷婷综合五月 | 俺去俺来也www色官网 | 亚欧洲精品在线视频免费观看 | 少妇人妻av毛片在线看 | 亚洲伊人久久精品影院 | 成人免费无码大片a毛片 | 老熟妇乱子伦牲交视频 | 欧美性猛交xxxx富婆 | 十八禁视频网站在线观看 | 一本久久伊人热热精品中文字幕 | 国産精品久久久久久久 | 国产xxx69麻豆国语对白 | 性史性农村dvd毛片 | 中文亚洲成a人片在线观看 | 99国产精品白浆在线观看免费 | 亚洲国产精品久久久天堂 | 免费男性肉肉影院 | 牲交欧美兽交欧美 | 高清不卡一区二区三区 | 久久精品人人做人人综合 | 国产肉丝袜在线观看 | 亚洲色大成网站www | 国产人成高清在线视频99最全资源 | 亚洲国产高清在线观看视频 | 最新国产麻豆aⅴ精品无码 | 久久亚洲精品成人无码 | 四十如虎的丰满熟妇啪啪 | 久久综合给久久狠狠97色 | 好爽又高潮了毛片免费下载 | 少妇性l交大片欧洲热妇乱xxx | 久久伊人色av天堂九九小黄鸭 | 中文字幕无码乱人伦 | 国产午夜视频在线观看 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 九九综合va免费看 | 久久99国产综合精品 | 色婷婷香蕉在线一区二区 | 3d动漫精品啪啪一区二区中 | 亚洲熟悉妇女xxx妇女av | 欧美色就是色 | 成人亚洲精品久久久久 | 国产精品沙发午睡系列 | 清纯唯美经典一区二区 | 国产无av码在线观看 | 在线天堂新版最新版在线8 | 人妻少妇精品视频专区 | 亚洲性无码av中文字幕 | 无码国模国产在线观看 | 免费观看又污又黄的网站 | 天天爽夜夜爽夜夜爽 | 国产免费无码一区二区视频 | 特大黑人娇小亚洲女 | 夜夜影院未满十八勿进 | 国产亚洲精品久久久久久久久动漫 | 亚洲综合色区中文字幕 | 色诱久久久久综合网ywww | 77777熟女视频在线观看 а天堂中文在线官网 | 色婷婷综合激情综在线播放 | 激情内射日本一区二区三区 | 黑人玩弄人妻中文在线 | 久久婷婷五月综合色国产香蕉 | 国模大胆一区二区三区 | 久久天天躁狠狠躁夜夜免费观看 | 国产av一区二区精品久久凹凸 | 少妇被黑人到高潮喷出白浆 | 国产香蕉尹人综合在线观看 | 在线播放亚洲第一字幕 | 午夜熟女插插xx免费视频 | 天海翼激烈高潮到腰振不止 | 中文字幕无线码 | 97久久国产亚洲精品超碰热 | 久久人人爽人人人人片 | 日本熟妇大屁股人妻 | 亚洲成av人综合在线观看 | 真人与拘做受免费视频 | 日日噜噜噜噜夜夜爽亚洲精品 | 熟女少妇人妻中文字幕 | 激情内射亚州一区二区三区爱妻 | 99久久久无码国产精品免费 | 少妇人妻大乳在线视频 | 在线天堂新版最新版在线8 | 中文字幕中文有码在线 | 老子影院午夜伦不卡 | 亚洲国产精华液网站w | 国产精品无码一区二区桃花视频 | 无套内谢的新婚少妇国语播放 | 在线播放无码字幕亚洲 | 强伦人妻一区二区三区视频18 | 人人澡人摸人人添 | 久久婷婷五月综合色国产香蕉 | 国产精品久久久 | 国产精品久久久久久无码 | 国产精品无码成人午夜电影 | √8天堂资源地址中文在线 | 一本色道久久综合狠狠躁 | 帮老师解开蕾丝奶罩吸乳网站 | 内射白嫩少妇超碰 | 少妇邻居内射在线 | 国产精品国产三级国产专播 | 久久亚洲精品中文字幕无男同 | 亚洲精品一区二区三区四区五区 | 在线精品亚洲一区二区 | 蜜桃视频韩日免费播放 | 午夜熟女插插xx免费视频 | 色综合久久久久综合一本到桃花网 | 国产精品爱久久久久久久 | 一本色道久久综合狠狠躁 | 国产成人精品视频ⅴa片软件竹菊 | 国产av剧情md精品麻豆 | 日韩无套无码精品 | 高清无码午夜福利视频 | 97久久精品无码一区二区 | 亚洲精品国产第一综合99久久 | 久久精品国产精品国产精品污 | 色综合久久久久综合一本到桃花网 | 夫妻免费无码v看片 | 日本护士xxxxhd少妇 | 亚洲人成网站在线播放942 | 麻豆国产丝袜白领秘书在线观看 | 无码人妻丰满熟妇区毛片18 | 又紧又大又爽精品一区二区 | 久久五月精品中文字幕 | 国产av无码专区亚洲awww | 久久精品无码一区二区三区 | 国产精品二区一区二区aⅴ污介绍 | av人摸人人人澡人人超碰下载 | 久久综合网欧美色妞网 | 国产成人一区二区三区别 | 美女黄网站人色视频免费国产 | 久久精品一区二区三区四区 | 九九在线中文字幕无码 | 2019nv天堂香蕉在线观看 | 久久99精品久久久久久 | 国产9 9在线 | 中文 | 最新国产麻豆aⅴ精品无码 | 亚洲 a v无 码免 费 成 人 a v | 亚洲欧美色中文字幕在线 | 欧美色就是色 | 亚洲无人区午夜福利码高清完整版 | 香港三级日本三级妇三级 | 久久久精品国产sm最大网站 | 国产一区二区不卡老阿姨 | 天堂亚洲免费视频 | 国产艳妇av在线观看果冻传媒 | 国产成人无码区免费内射一片色欲 | 亲嘴扒胸摸屁股激烈网站 | 少妇无套内谢久久久久 | 97夜夜澡人人双人人人喊 | 沈阳熟女露脸对白视频 | 欧美第一黄网免费网站 | 东京热男人av天堂 | 老司机亚洲精品影院 | 亚洲中文字幕乱码av波多ji | 亚洲爆乳大丰满无码专区 | 国产av人人夜夜澡人人爽麻豆 | 在线看片无码永久免费视频 | 国产97在线 | 亚洲 | 日本一卡二卡不卡视频查询 | 色综合天天综合狠狠爱 | aⅴ在线视频男人的天堂 | 国产综合久久久久鬼色 | 国产成人综合美国十次 | 国产小呦泬泬99精品 | 亚洲a无码综合a国产av中文 | 亚洲欧洲无卡二区视頻 | 国产精华av午夜在线观看 | 毛片内射-百度 | 亚洲欧美国产精品专区久久 | 捆绑白丝粉色jk震动捧喷白浆 | 麻豆国产人妻欲求不满谁演的 | 亚洲精品久久久久久久久久久 | 性色av无码免费一区二区三区 | 国产莉萝无码av在线播放 | √天堂中文官网8在线 | 性做久久久久久久免费看 | 午夜丰满少妇性开放视频 | 国产无套粉嫩白浆在线 | 成人无码精品1区2区3区免费看 | 亚洲狠狠色丁香婷婷综合 | 欧美日本精品一区二区三区 | 在线播放亚洲第一字幕 | 精品无码成人片一区二区98 | 国产亚洲精品久久久闺蜜 | 国产无套粉嫩白浆在线 | 人妻与老人中文字幕 | 国产av久久久久精东av | 久久精品国产日本波多野结衣 | 久久久久久国产精品无码下载 | 午夜福利试看120秒体验区 | 久久久久99精品成人片 | 亚欧洲精品在线视频免费观看 | 国产成人无码区免费内射一片色欲 | 麻花豆传媒剧国产免费mv在线 | 色窝窝无码一区二区三区色欲 | 成人片黄网站色大片免费观看 | 正在播放东北夫妻内射 | 纯爱无遮挡h肉动漫在线播放 | 人妻少妇精品视频专区 | 国产av无码专区亚洲awww | 亚洲国产欧美在线成人 | 荫蒂添的好舒服视频囗交 | 亚洲一区二区三区国产精华液 | 久久久精品456亚洲影院 | 亚洲乱亚洲乱妇50p | 欧美野外疯狂做受xxxx高潮 | 人人妻人人澡人人爽人人精品 | 亚洲a无码综合a国产av中文 | 大肉大捧一进一出好爽视频 | 久久精品丝袜高跟鞋 | 国产卡一卡二卡三 | 狠狠色噜噜狠狠狠狠7777米奇 | 欧美人与善在线com | 乱码av麻豆丝袜熟女系列 | 国产在线精品一区二区三区直播 | 骚片av蜜桃精品一区 | 丁香花在线影院观看在线播放 | 亚洲欧美精品aaaaaa片 | 国产另类ts人妖一区二区 | 无码吃奶揉捏奶头高潮视频 | 亚洲小说图区综合在线 | 国产超碰人人爽人人做人人添 | 国产精品va在线播放 | 色婷婷av一区二区三区之红樱桃 | √天堂中文官网8在线 | 亚洲国产精品美女久久久久 | 午夜成人1000部免费视频 | 色 综合 欧美 亚洲 国产 | 一个人免费观看的www视频 | 98国产精品综合一区二区三区 | 激情国产av做激情国产爱 | 久久婷婷五月综合色国产香蕉 | 色欲久久久天天天综合网精品 | 欧美xxxxx精品 | 美女扒开屁股让男人桶 | 成人免费视频视频在线观看 免费 | 人妻少妇精品无码专区二区 | 色综合视频一区二区三区 | 综合激情五月综合激情五月激情1 | 草草网站影院白丝内射 | 在线 国产 欧美 亚洲 天堂 | 最新国产乱人伦偷精品免费网站 | 亚洲 高清 成人 动漫 | 1000部啪啪未满十八勿入下载 | 精品国产成人一区二区三区 | 日本精品少妇一区二区三区 | 两性色午夜视频免费播放 | 国产精品久久久久久亚洲影视内衣 | 一本久久a久久精品亚洲 | 亚洲精品久久久久avwww潮水 | 亚洲熟妇色xxxxx亚洲 | 亚洲成a人一区二区三区 | 精品久久久无码人妻字幂 | 成人免费视频视频在线观看 免费 | 熟妇人妻中文av无码 | 中文字幕亚洲情99在线 | 丰满少妇熟乱xxxxx视频 | 国产极品美女高潮无套在线观看 | 亚洲毛片av日韩av无码 | 亚洲男人av天堂午夜在 | 国产 浪潮av性色四虎 | 久久www免费人成人片 | 国产成人一区二区三区在线观看 | www成人国产高清内射 | 久久精品人人做人人综合 | 欧美日本精品一区二区三区 | 六月丁香婷婷色狠狠久久 | 国产在线aaa片一区二区99 | 国产亚洲人成在线播放 | a在线观看免费网站大全 | 亚洲国产欧美在线成人 | 美女黄网站人色视频免费国产 | 在线 国产 欧美 亚洲 天堂 | 青草青草久热国产精品 | 久久久久99精品国产片 | 久久精品国产亚洲精品 | 国产va免费精品观看 | 樱花草在线社区www | 亚洲伊人久久精品影院 | 亚洲一区二区三区偷拍女厕 | 国产黑色丝袜在线播放 | 国内少妇偷人精品视频 | 精品国产乱码久久久久乱码 | 人妻有码中文字幕在线 | 亚洲综合色区中文字幕 | 日韩欧美中文字幕在线三区 | 窝窝午夜理论片影院 | 国产肉丝袜在线观看 | 捆绑白丝粉色jk震动捧喷白浆 | 性开放的女人aaa片 | 97精品国产97久久久久久免费 | 成人免费视频一区二区 | 嫩b人妻精品一区二区三区 | аⅴ资源天堂资源库在线 | 国内精品久久久久久中文字幕 | 国产人妻精品午夜福利免费 | 国产亚洲精品久久久久久大师 | 亚洲中文无码av永久不收费 | 国产精品手机免费 | 国产黑色丝袜在线播放 | 国产人成高清在线视频99最全资源 | 性做久久久久久久免费看 | 高潮毛片无遮挡高清免费视频 | 无码国产色欲xxxxx视频 | 伦伦影院午夜理论片 | 国产精品久久久久7777 | 无码中文字幕色专区 | 在线观看免费人成视频 | 亚洲人成网站在线播放942 | 人人爽人人澡人人人妻 | 精品偷拍一区二区三区在线看 | 四虎4hu永久免费 | 少妇被粗大的猛进出69影院 | 成人aaa片一区国产精品 | 久久久久亚洲精品男人的天堂 | 日本一卡2卡3卡四卡精品网站 | 久久久精品456亚洲影院 | 天天躁夜夜躁狠狠是什么心态 | 欧美日韩色另类综合 | 狠狠色欧美亚洲狠狠色www | 精品一区二区不卡无码av | 国产成人无码a区在线观看视频app | 久久精品99久久香蕉国产色戒 | 亚洲一区二区三区播放 | 国产片av国语在线观看 | 99精品久久毛片a片 | 玩弄人妻少妇500系列视频 | 亚洲色偷偷偷综合网 | 亚洲国产成人av在线观看 | 欧洲vodafone精品性 | 97色伦图片97综合影院 | 久久99精品久久久久婷婷 | 内射巨臀欧美在线视频 | 日本乱偷人妻中文字幕 | 蜜桃视频插满18在线观看 | 亚洲成熟女人毛毛耸耸多 | 国产乱人伦av在线无码 | 67194成是人免费无码 | 激情爆乳一区二区三区 | 51国偷自产一区二区三区 | 波多野结衣高清一区二区三区 | 对白脏话肉麻粗话av | 波多野结衣乳巨码无在线观看 | 亚洲欧美中文字幕5发布 | 国产精品怡红院永久免费 | 国产精华av午夜在线观看 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产成人无码a区在线观看视频app | 亚洲中文字幕在线观看 | 久久99国产综合精品 | 高清不卡一区二区三区 | 天堂а√在线中文在线 | 丰满少妇人妻久久久久久 | 玩弄少妇高潮ⅹxxxyw | 成人精品一区二区三区中文字幕 | 久久精品国产精品国产精品污 | 无人区乱码一区二区三区 | 老头边吃奶边弄进去呻吟 | 天堂久久天堂av色综合 | 亚洲中文字幕久久无码 | 3d动漫精品啪啪一区二区中 | 窝窝午夜理论片影院 | 全球成人中文在线 | 亚洲 日韩 欧美 成人 在线观看 | 日本护士毛茸茸高潮 | 两性色午夜免费视频 | 久久综合九色综合97网 | 国产一精品一av一免费 | 国产午夜亚洲精品不卡下载 | 在线亚洲高清揄拍自拍一品区 | 久久久久久九九精品久 | 久久精品人人做人人综合试看 | 九一九色国产 | 激情内射亚州一区二区三区爱妻 | 亚洲熟妇色xxxxx欧美老妇 | 亚洲の无码国产の无码影院 | 娇妻被黑人粗大高潮白浆 | 午夜免费福利小电影 | a国产一区二区免费入口 | 久久天天躁夜夜躁狠狠 | 欧美日韩亚洲国产精品 | 亚洲一区二区三区在线观看网站 | 久久亚洲中文字幕无码 | 亚洲欧洲日本无在线码 | 久久精品女人的天堂av | 亚洲毛片av日韩av无码 | 岛国片人妻三上悠亚 | 99国产精品白浆在线观看免费 | 欧美xxxx黑人又粗又长 | 高清无码午夜福利视频 | 久久久久成人精品免费播放动漫 | 欧美人与禽zoz0性伦交 | 精品国产麻豆免费人成网站 | 欧美日本免费一区二区三区 | 亚洲自偷自偷在线制服 | 久久精品国产大片免费观看 | 老子影院午夜精品无码 | 国产无遮挡又黄又爽免费视频 | 国产精品美女久久久网av | 精品熟女少妇av免费观看 | 中文字幕无码免费久久99 | 欧美高清在线精品一区 | 无码人妻久久一区二区三区不卡 | 国产综合在线观看 | 精品偷拍一区二区三区在线看 | 男女作爱免费网站 | 中文字幕人妻无码一区二区三区 | 国产欧美熟妇另类久久久 | 亚洲无人区午夜福利码高清完整版 | 性欧美牲交xxxxx视频 | 麻豆果冻传媒2021精品传媒一区下载 | 国产97人人超碰caoprom | 美女黄网站人色视频免费国产 | 成在人线av无码免费 | 图片区 小说区 区 亚洲五月 | 男女超爽视频免费播放 | 99国产精品白浆在线观看免费 | 真人与拘做受免费视频 | 国产精品.xx视频.xxtv | 久久天天躁夜夜躁狠狠 | 性欧美videos高清精品 | 黑人巨大精品欧美一区二区 | 少妇的肉体aa片免费 | 女人高潮内射99精品 | 一本大道久久东京热无码av | 扒开双腿吃奶呻吟做受视频 | 国产香蕉尹人视频在线 | 亚洲精品美女久久久久久久 | 午夜理论片yy44880影院 | 牛和人交xxxx欧美 | 色 综合 欧美 亚洲 国产 | 99久久久无码国产aaa精品 | 精品无码国产自产拍在线观看蜜 | 亚洲 欧美 激情 小说 另类 | 国产真人无遮挡作爱免费视频 | 国产成人无码区免费内射一片色欲 | 亚洲成a人片在线观看无码3d | 国产xxx69麻豆国语对白 | 亚洲日韩精品欧美一区二区 | 久久久久成人片免费观看蜜芽 | 永久免费精品精品永久-夜色 | 曰韩少妇内射免费播放 | 日本一区二区更新不卡 | 久久亚洲国产成人精品性色 | 中文字幕无码av激情不卡 | 青青青手机频在线观看 | a在线观看免费网站大全 | 大地资源网第二页免费观看 | 中文字幕乱妇无码av在线 | 久久久久99精品成人片 | 精品无码国产自产拍在线观看蜜 | 波多野42部无码喷潮在线 | 日韩视频 中文字幕 视频一区 | 欧美一区二区三区 | 无码人妻少妇伦在线电影 | 亚洲成熟女人毛毛耸耸多 | 国产在线精品一区二区三区直播 | 无遮挡国产高潮视频免费观看 | 成人无码视频在线观看网站 | 天海翼激烈高潮到腰振不止 | 久久伊人色av天堂九九小黄鸭 | 露脸叫床粗话东北少妇 | 午夜福利一区二区三区在线观看 | 久久精品女人天堂av免费观看 | 成人三级无码视频在线观看 | 亚洲午夜久久久影院 | 国产美女极度色诱视频www | 中文字幕人妻无码一夲道 | 亚洲va欧美va天堂v国产综合 | 国产色xx群视频射精 | 婷婷丁香五月天综合东京热 | 98国产精品综合一区二区三区 | 人人妻人人澡人人爽欧美精品 | 一本久久a久久精品亚洲 | 久久综合给合久久狠狠狠97色 | 午夜无码人妻av大片色欲 | 波多野结衣av一区二区全免费观看 | 岛国片人妻三上悠亚 | 无码av免费一区二区三区试看 | 欧美日韩人成综合在线播放 | 欧美丰满少妇xxxx性 | 成人影院yy111111在线观看 | 久久精品人妻少妇一区二区三区 | 日产精品高潮呻吟av久久 | 国产亚av手机在线观看 | 久久久久久久久888 | 日韩欧美群交p片內射中文 | 国产激情无码一区二区app | 欧美人与物videos另类 | 中文字幕无线码 | 丰满岳乱妇在线观看中字无码 | 窝窝午夜理论片影院 | 精品国偷自产在线视频 | 国产手机在线αⅴ片无码观看 | 欧美人与物videos另类 | 日本护士毛茸茸高潮 | 亚洲成色www久久网站 | 日本www一道久久久免费榴莲 | 色五月五月丁香亚洲综合网 | 女人被男人躁得好爽免费视频 | 国产小呦泬泬99精品 | 中文字幕乱码人妻无码久久 | 中文字幕无码免费久久9一区9 | 国产肉丝袜在线观看 | 欧美日本精品一区二区三区 | 午夜福利不卡在线视频 | 久久国语露脸国产精品电影 | 水蜜桃亚洲一二三四在线 | 特黄特色大片免费播放器图片 | 色噜噜亚洲男人的天堂 | 精品人人妻人人澡人人爽人人 | 2019nv天堂香蕉在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 亚洲爆乳大丰满无码专区 | 国产精品久久久久久无码 | 国内少妇偷人精品视频免费 | 九九久久精品国产免费看小说 | www国产亚洲精品久久久日本 | 国产精华av午夜在线观看 | 又粗又大又硬又长又爽 | 无码福利日韩神码福利片 | 波多野结衣aⅴ在线 | 国产色视频一区二区三区 | 极品尤物被啪到呻吟喷水 | 动漫av网站免费观看 | 欧美激情综合亚洲一二区 | 国产精品久久久av久久久 | 男女爱爱好爽视频免费看 | 亚洲成av人综合在线观看 | 偷窥日本少妇撒尿chinese | av无码久久久久不卡免费网站 | 永久免费精品精品永久-夜色 | 成人免费视频一区二区 | 国产亲子乱弄免费视频 | 久久精品99久久香蕉国产色戒 | 成年美女黄网站色大免费视频 | 麻豆国产97在线 | 欧洲 | 正在播放老肥熟妇露脸 | 亚洲国产av精品一区二区蜜芽 | 中文字幕无线码免费人妻 | 久久久国产一区二区三区 | 久久五月精品中文字幕 | 亚洲第一网站男人都懂 | 国产亚洲精品久久久久久久 | 少妇性俱乐部纵欲狂欢电影 | 欧美自拍另类欧美综合图片区 | 亚洲经典千人经典日产 | 巨爆乳无码视频在线观看 | 亚洲精品午夜国产va久久成人 | 国产真人无遮挡作爱免费视频 | 精品国偷自产在线视频 | 久久人人爽人人人人片 | 国产做国产爱免费视频 | 久久综合九色综合97网 | 久久午夜无码鲁丝片秋霞 | 又大又硬又爽免费视频 | 无码人妻精品一区二区三区下载 | 亚洲精品一区二区三区大桥未久 | 精品国产av色一区二区深夜久久 | 精品国产青草久久久久福利 | 台湾无码一区二区 | 99riav国产精品视频 | 亚洲日韩av片在线观看 | 国产成人一区二区三区别 | 亚洲理论电影在线观看 | 自拍偷自拍亚洲精品10p | 无码吃奶揉捏奶头高潮视频 | 中文无码精品a∨在线观看不卡 | 伊人色综合久久天天小片 | 成熟妇人a片免费看网站 | 性生交大片免费看女人按摩摩 | 亚洲欧洲中文日韩av乱码 | 亚洲s色大片在线观看 | 亚洲性无码av中文字幕 | 国产人妻精品一区二区三区不卡 | 国产一区二区三区四区五区加勒比 | 国产黑色丝袜在线播放 | 久青草影院在线观看国产 | 亚洲成av人影院在线观看 | 亚洲成av人影院在线观看 | 亚洲国产欧美日韩精品一区二区三区 | 久久综合狠狠综合久久综合88 | 国产精品.xx视频.xxtv | 天下第一社区视频www日本 | 国产又爽又猛又粗的视频a片 | 熟妇人妻激情偷爽文 | 久久亚洲a片com人成 | 99国产欧美久久久精品 | 久久久中文久久久无码 | 国产人妻人伦精品1国产丝袜 | 九九久久精品国产免费看小说 | 波多野结衣一区二区三区av免费 | 亚洲国产一区二区三区在线观看 | 国产无遮挡吃胸膜奶免费看 | 欧美日本日韩 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 亚洲中文字幕在线无码一区二区 | 亚洲精品无码国产 | 国产一区二区三区日韩精品 | 又紧又大又爽精品一区二区 | 国产精品毛多多水多 | 亚洲熟熟妇xxxx | 99久久精品无码一区二区毛片 | 久久精品中文闷骚内射 | 国产成人无码av片在线观看不卡 | 国产欧美熟妇另类久久久 | 98国产精品综合一区二区三区 | аⅴ资源天堂资源库在线 | 国产小呦泬泬99精品 | 国产成人无码a区在线观看视频app | 亚洲日韩乱码中文无码蜜桃臀网站 | 全球成人中文在线 | 欧美熟妇另类久久久久久多毛 | 欧美日本免费一区二区三区 | 国产成人一区二区三区在线观看 | 97久久超碰中文字幕 | 欧美兽交xxxx×视频 | 无人区乱码一区二区三区 | www国产亚洲精品久久久日本 | 久热国产vs视频在线观看 | 成在人线av无码免观看麻豆 | 男女下面进入的视频免费午夜 | 久久久久久亚洲精品a片成人 | 亚洲人亚洲人成电影网站色 | 亚洲aⅴ无码成人网站国产app | 国产美女极度色诱视频www | 亚洲成av人影院在线观看 | 久久综合九色综合欧美狠狠 | 精品一区二区三区波多野结衣 | 沈阳熟女露脸对白视频 | 无码人妻丰满熟妇区毛片18 | 精品国产aⅴ无码一区二区 | 18精品久久久无码午夜福利 | 国产精品18久久久久久麻辣 | 人妻aⅴ无码一区二区三区 | 亚洲成av人在线观看网址 | 久久精品中文字幕一区 | 四虎影视成人永久免费观看视频 | 亚洲欧美国产精品久久 | 日本饥渴人妻欲求不满 | 色五月五月丁香亚洲综合网 | 国产激情精品一区二区三区 | 欧洲极品少妇 | 国产97在线 | 亚洲 | 亚洲欧美国产精品专区久久 | 国产亚洲精品久久久闺蜜 | 亚洲精品国产品国语在线观看 | 东京热无码av男人的天堂 | 国产美女精品一区二区三区 | 熟女少妇人妻中文字幕 | 国产熟妇高潮叫床视频播放 | 亚洲国精产品一二二线 | 日本精品人妻无码77777 天堂一区人妻无码 | 亚洲色欲色欲天天天www | 永久免费精品精品永久-夜色 | 日本爽爽爽爽爽爽在线观看免 | 无码av免费一区二区三区试看 | 中国女人内谢69xxxxxa片 | 精品国精品国产自在久国产87 | 久久久久亚洲精品男人的天堂 | 国产人妖乱国产精品人妖 | 国产午夜无码精品免费看 | 国产亚洲精品久久久久久久 | 久久人人爽人人爽人人片av高清 | 亚洲自偷自偷在线制服 | 无码av最新清无码专区吞精 | 国产色精品久久人妻 | 亚洲日韩中文字幕在线播放 | 亚洲中文无码av永久不收费 | 欧美日韩人成综合在线播放 | 丰满少妇弄高潮了www | 色综合天天综合狠狠爱 | 欧美乱妇无乱码大黄a片 | 久久无码中文字幕免费影院蜜桃 | 成熟女人特级毛片www免费 | 国产一区二区三区精品视频 | 成人欧美一区二区三区 | 在线a亚洲视频播放在线观看 | 亚欧洲精品在线视频免费观看 | 激情亚洲一区国产精品 | 久久国产自偷自偷免费一区调 | 欧美真人作爱免费视频 | 久久久久久久人妻无码中文字幕爆 | 97久久国产亚洲精品超碰热 | 99精品国产综合久久久久五月天 | 国内精品人妻无码久久久影院蜜桃 | 中文字幕人妻无码一夲道 | 国产情侣作爱视频免费观看 | 日本欧美一区二区三区乱码 | 久久久久成人精品免费播放动漫 | 国产精品人妻一区二区三区四 | 久久aⅴ免费观看 | 国产人妻人伦精品1国产丝袜 | 久久视频在线观看精品 | 国产精品沙发午睡系列 | a片在线免费观看 | 欧美大屁股xxxxhd黑色 | 曰韩无码二三区中文字幕 | 欧美zoozzooz性欧美 | 中文无码成人免费视频在线观看 | 欧洲熟妇色 欧美 | 免费观看的无遮挡av | 亚洲精品美女久久久久久久 | 欧美xxxxx精品 | 精品人妻中文字幕有码在线 | 丰满少妇高潮惨叫视频 | 天下第一社区视频www日本 | 久久99热只有频精品8 | 樱花草在线播放免费中文 | 欧美阿v高清资源不卡在线播放 | 国产人妻精品一区二区三区 | 日欧一片内射va在线影院 | 精品熟女少妇av免费观看 | 亚洲欧美精品aaaaaa片 | 熟妇女人妻丰满少妇中文字幕 | 人妻体内射精一区二区三四 | 国产成人无码专区 | 色综合久久网 | 欧洲欧美人成视频在线 | 女人被爽到呻吟gif动态图视看 | 日韩精品无码免费一区二区三区 | 俄罗斯老熟妇色xxxx | 99久久精品国产一区二区蜜芽 | 亚洲日韩av片在线观看 | 88国产精品欧美一区二区三区 | 成人女人看片免费视频放人 | 97精品国产97久久久久久免费 | 在线天堂新版最新版在线8 | 久久精品99久久香蕉国产色戒 | 国产亚洲精品久久久久久久 | 欧美老人巨大xxxx做受 | 少妇无码一区二区二三区 | 亚洲色欲色欲天天天www | 亚洲精品中文字幕久久久久 | 精品夜夜澡人妻无码av蜜桃 | 老子影院午夜伦不卡 | 美女极度色诱视频国产 | 亚洲а∨天堂久久精品2021 | 国产在线一区二区三区四区五区 | 亚洲人成影院在线无码按摩店 | 亚洲成a人片在线观看无码 | 亚洲色欲色欲欲www在线 | 国产成人无码av一区二区 | 久久熟妇人妻午夜寂寞影院 | 亚洲人亚洲人成电影网站色 | 美女黄网站人色视频免费国产 | 无码一区二区三区在线观看 | 人人澡人人妻人人爽人人蜜桃 | 日本精品久久久久中文字幕 | 亚洲国产精品无码一区二区三区 | 特级做a爰片毛片免费69 | 国产午夜福利亚洲第一 | 精品亚洲韩国一区二区三区 | 国产绳艺sm调教室论坛 | 国产无套粉嫩白浆在线 | 精品水蜜桃久久久久久久 | 久热国产vs视频在线观看 | 免费无码一区二区三区蜜桃大 | 好男人www社区 | 免费中文字幕日韩欧美 | 欧美成人家庭影院 | 一本大道伊人av久久综合 | 99re在线播放 | 夜精品a片一区二区三区无码白浆 | 国产精品国产三级国产专播 | 性生交片免费无码看人 | 丰满岳乱妇在线观看中字无码 | 国产精品亚洲专区无码不卡 | 少妇高潮一区二区三区99 | 亚洲精品一区二区三区大桥未久 | 国产成人人人97超碰超爽8 | 中文字幕无码av波多野吉衣 | 国产一区二区不卡老阿姨 | 国产精品久久精品三级 | 水蜜桃av无码 | 成人欧美一区二区三区黑人免费 | 日韩无码专区 | 久久亚洲精品成人无码 | 国产精品二区一区二区aⅴ污介绍 | 久久久精品456亚洲影院 | 亚洲一区二区三区香蕉 | 国产乱人伦av在线无码 | 国产美女极度色诱视频www | 久久久久久亚洲精品a片成人 | 天干天干啦夜天干天2017 | 2020久久超碰国产精品最新 | аⅴ资源天堂资源库在线 | 国产超碰人人爽人人做人人添 | 久久精品国产日本波多野结衣 | 久久精品国产99久久6动漫 | 国产av久久久久精东av | 兔费看少妇性l交大片免费 | 久久久av男人的天堂 | 樱花草在线社区www | 亚洲精品中文字幕久久久久 | 亚洲a无码综合a国产av中文 | 青青久在线视频免费观看 | 无套内谢老熟女 | 在线天堂新版最新版在线8 | 亚洲乱码国产乱码精品精 | 熟女体下毛毛黑森林 | 亚洲成a人片在线观看日本 | 中文字幕精品av一区二区五区 | 精品人妻人人做人人爽夜夜爽 | 又大又黄又粗又爽的免费视频 | 色诱久久久久综合网ywww | 亚洲日韩av一区二区三区四区 | 精品无人区无码乱码毛片国产 | 国产成人无码午夜视频在线观看 | 四虎影视成人永久免费观看视频 | av无码电影一区二区三区 | 久久久久久久女国产乱让韩 | 女高中生第一次破苞av | 国产又爽又黄又刺激的视频 | 99久久久无码国产精品免费 | 国产乱人伦av在线无码 | 亚洲国产精品无码一区二区三区 | 日韩精品成人一区二区三区 | 欧美人妻一区二区三区 | 四虎国产精品免费久久 | 日产国产精品亚洲系列 | 久久亚洲国产成人精品性色 | 色欲人妻aaaaaaa无码 | 亚洲日韩av一区二区三区中文 | 亚洲色大成网站www国产 | 亚洲精品综合五月久久小说 | 国产suv精品一区二区五 | 极品嫩模高潮叫床 | 日本一卡2卡3卡四卡精品网站 | 亚洲国产精品一区二区美利坚 | 欧美日本日韩 | 久久精品女人天堂av免费观看 | 噜噜噜亚洲色成人网站 | 中文字幕精品av一区二区五区 | 亚洲一区二区三区香蕉 | 少妇人妻av毛片在线看 | 国产人妻精品一区二区三区不卡 | 国产成人无码a区在线观看视频app | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 中文字幕人成乱码熟女app | 国产人妻精品一区二区三区不卡 | 久久国产自偷自偷免费一区调 | 中文字幕人成乱码熟女app | 国产国产精品人在线视 | 国产精品久久久久无码av色戒 | 无码人妻黑人中文字幕 | 亚洲一区二区三区含羞草 | 国产精品高潮呻吟av久久4虎 | 人人妻人人澡人人爽欧美一区九九 | 亚洲国产精品成人久久蜜臀 | 2020久久超碰国产精品最新 | 国产国语老龄妇女a片 | 欧美35页视频在线观看 | 久久99精品久久久久久动态图 | 日本熟妇乱子伦xxxx | 天天摸天天碰天天添 | 色综合久久久无码中文字幕 | av无码电影一区二区三区 | 少妇性l交大片欧洲热妇乱xxx | 熟女少妇人妻中文字幕 | 曰本女人与公拘交酡免费视频 | 日本熟妇人妻xxxxx人hd | 狠狠亚洲超碰狼人久久 | 国产精品资源一区二区 | 免费男性肉肉影院 | 亚洲中文字幕无码中文字在线 | 久久久精品456亚洲影院 | 亚洲国产精品无码一区二区三区 | 国产在线一区二区三区四区五区 | 在线播放亚洲第一字幕 | 蜜桃视频韩日免费播放 | 精品欧洲av无码一区二区三区 | 亚洲精品一区二区三区在线观看 | 人人妻人人澡人人爽欧美一区九九 | 水蜜桃色314在线观看 | 成人无码精品一区二区三区 | 麻豆av传媒蜜桃天美传媒 | 国产熟女一区二区三区四区五区 | 又紧又大又爽精品一区二区 | 久久久久99精品国产片 | 免费网站看v片在线18禁无码 | 亚洲毛片av日韩av无码 | 亚洲欧美日韩成人高清在线一区 | 澳门永久av免费网站 | 无码帝国www无码专区色综合 | 俄罗斯老熟妇色xxxx | 国产精品亚洲专区无码不卡 | 在线成人www免费观看视频 | www国产亚洲精品久久网站 | 女人被男人躁得好爽免费视频 | 亚洲热妇无码av在线播放 | 初尝人妻少妇中文字幕 | 人人妻人人澡人人爽精品欧美 | 大胆欧美熟妇xx | 久久久精品国产sm最大网站 | 精品偷拍一区二区三区在线看 | 国产欧美熟妇另类久久久 | 嫩b人妻精品一区二区三区 | av在线亚洲欧洲日产一区二区 | 精品无码国产自产拍在线观看蜜 | 欧美成人午夜精品久久久 | 人人妻人人澡人人爽欧美一区九九 | 少妇无码一区二区二三区 | 三级4级全黄60分钟 | 国产亚洲精品久久久久久 | 久久久久99精品国产片 | 久久午夜无码鲁丝片午夜精品 | 久久国内精品自在自线 | 欧美真人作爱免费视频 | 亚洲熟妇色xxxxx欧美老妇 | 日本乱人伦片中文三区 | 亚洲国产欧美国产综合一区 | 一二三四社区在线中文视频 | 国产午夜精品一区二区三区嫩草 | 国产小呦泬泬99精品 | 亚洲乱亚洲乱妇50p | 中文字幕无码免费久久99 | 18禁止看的免费污网站 | 十八禁真人啪啪免费网站 | 精品久久久久香蕉网 | 无码av免费一区二区三区试看 | 天堂а√在线地址中文在线 | 国产一区二区三区日韩精品 | 国产精品久久久久久亚洲影视内衣 | 国产成人精品久久亚洲高清不卡 | 国产亚洲欧美在线专区 | 亚洲国产精品久久久天堂 | 国产亚洲美女精品久久久2020 | 欧美 日韩 人妻 高清 中文 | 国产av久久久久精东av | 日韩精品久久久肉伦网站 | 久久天天躁狠狠躁夜夜免费观看 | 日本欧美一区二区三区乱码 | 久久综合狠狠综合久久综合88 | 欧美日韩人成综合在线播放 |