精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

JNBridge橋接模式實現Java與.NET遠程通訊

開發 后端
Java與.NET的互相調用,可以通過JNBridge來實現。今天我們談論的就是JNBridge橋接模式實現Java與.NET遠程通訊。

分布式開發的歷史

利用Remote方式調用遠程對象實現服務器與客戶端之間通訊是一種常用的網絡開發方式,在.NET與Java開發當中,對Remote遠程對象早已有著足夠的支持(對Remote遠程對象調用有興趣的朋友歡迎參考一下利用遠程對象實現分布式開發)。

從2003年開始.NET當中就盛傳著.NET Remoting遠程對象調用的分布式開發,.NET Remoting主要用于管理跨應用程序域的同步和異步RPC 會話。在默認情況下,Remoting可以使用 HTTP 或 TCP 協議進行信息通訊,并使用 XML 編碼的 SOAP 或二進制消息格式進行數據交換。.NET Remoting 提供了非常靈活和可擴展的編程框架,并且可以管理對象的狀態。在Framewok2.0出臺以后,WCF盛世登場,它是綜合了.NET Remoting遠程對象,TCP/IP套接字,Web服務,MSMQ,P2P點對點等各類型通信方式的產物,WCF使遠程通信進入另一個臺階。

而在Java方面,對遠程通信也有強大的支持,它定義了的RPC(Remote Procedure Call Protocol)協議是—項遠程過程調用協議,它可以通過網絡從遠程計算機請求的服務獲得計算結果,它無需了解底層網絡技術的協議就可以使用如TCP或UDP等通信方式,為程序之間傳遞信息數據。在網絡通信模型中,RPC跨越了傳輸層和應用層。RPC使系統更容易地實現分布式式開發。但RPC通訊卻并未實現面向對象的開發原則,到而RMI(Remote Method Invocation)遠程方法調用是一種計算機之間利用遠程對象互相調用實現通訊的一種機制。它以面向對象的開發方式,利用RPC協議,使服務器與客戶端的對象能夠實現遠程調用。

但在.NET Remoting與RMI通信中同時存在一個弊端,那就是對開發語言的限制,無論是使用哪一種通訊方式,服務器與客戶端都必須支持同一種開發語言。通訊過程中不能跨越開發語言的限制,這是一個人令人懊惱的消息。因為在大型的開發項目當中,往往會集合著不同語言開發進行不同模塊的開發。而使用Remote進行分布式開發,可以提高通信的效率但卻又受到限制。對此,各大開發公司做出了積極的貢獻,開發出如J-Integra(又名Ja.NET),IIOP.NET(Internet Inter-Orb Protocol),JNBridge等集成開發工具,對.NET與Java之間實現Remote遠程對象的相互調用作出足夠的支持。下面在下為大家對“JNBridge實現.NET與Java的相互操作”作出詳細的介紹。

JNBridge概述

JNBridge是一種領先的Java與.NET互操作的的產品,憑借JNBridge技術,Java和.NET代碼無需交叉編譯器就可以實現對象共享。所有Java代碼運行在JVM上,而.NET代碼則運行在CLR上。在該方案下,JVM和CLR可以運行在不同的機器上,也可以運行在一臺機器的不同進程上,甚至還能運行在相同的進程的不同應用程序域上。經歷多年的發展,JNBridge已經發布了JNBridgePro 5.0,JNBridgePro 5.0有著更強大的功能。

  1. 支持ava和.NET之間的跨平臺事務;
  2. 支持Microsoft Visual Studio和Eclipse插件;
  3. 兼容Windows 7;
  4. 跨平臺交易一體化主要是對用戶透明;
  5. '回滾'- 任何一方的終止都將導致雙方的行動被回滾;

JNBridge支持.NET To Java ,Java To .NET兩種服務方式,并可以行用TCP、HTTP、SOAP等多個協議進行雙方通訊,下面就以 “Java調用.NET” 實現一個簡單開發例子,介紹一下JNBridge的功能。

JNBridge配置

首先可以在JNBridge的官方網站http://www.jnbridge.com/downloads.htm 下載程序,安裝JNBridgePro 5.0后,啟動JNBProxy v5.1.exe,選擇Create new Java->.NET Project,新建一個項目后,點擊Project->Java Options對系統進行配置。首先設置好本機的Java.exe應用程序和jvm.dll程序集的路徑,然后設置jnbcore.jar和bcel.jar的路徑(在5.1版本中,這兩個文件存在于“/JNBridge/JNBridgePro v5.1/jnbcore/”),***可以選擇HTTP或TCP通訊方式(在此例子當中在下選擇TCP通訊,系統默認接口為8085你也可以選擇自定義的接口)。點擊“OK”按鈕,配置完成時,系統將自動生成一個 "/JNBridge/JNBridgePro v5.1/jnbcore/jnbcore_tcp.properties" 文件記錄TCP配置信息。

.NET服務端開發

假如閣下使用的是Visual Studio 2008或者Visual Studio 2010版本,系統將會感知JNBridge的存在,在新建項目時,可以直接新建一個DotNetJavaProxies項目。在此在下想展示一下JNBridge的轉換性能,所以直接新一個解決方案。添加一個Model項目,加入Person類,為Person加入Serializable特性,注意要去除不必要的引用,因為對Framework的引用在轉換時將變為對應的包。

  1. using System;
  2. namespace Model{    
  3.   [Serializable]     
  4.  public class Person     
  5.  {          
  6. public int ID        
  7.   {            
  8.   get;         
  9.      set;       
  10.    }       
  11.    public string Name  
  12.         {      
  13.         get;        
  14.       set;         
  15.  }         
  16.  public int Age     
  17.      {           
  18.    set;      
  19.         get;      
  20.     }    }} 

添加一個Manager項目,加入PersonManager類,在測試時,只是把虛擬數據放在DataSource.sour文件中。

  1. using System;
  2. using Model;  
  3. using System.IO;  
  4. using System.Runtime.Serialization.Formatters.Binary;  
  5. using System.Collections.Generic;
  6. namespace Manager{   
  7. public class PersonManager    
  8.   {         
  9.  /// 虛擬數據源     
  10.      private List<Person> DataSource()        
  11.   {             
  12.  FileStream fileStream = new FileStream("./DataSource.sour", FileMode.Open, FileAccess.ReadWrite);       
  13.        BinaryFormatter formatter = new BinaryFormatter();         
  14.      List<Person> personList=(List<Person>)formatter.Deserialize((fileStream));             
  15.              return personList;       
  16.    }       
  17.    //獲取所有的Person       
  18.    public List<Person> GetList()      
  19.     {          
  20.     List<Person> personList = DataSource();         
  21.    return personList;        
  22.   }        
  23.   //根據輸入ID獲取對應的Person       
  24.    public Person GetPersonByID(int id)        {             
  25.  foreach (Person person in DataSource())            {               
  26.    if (person.ID == id)                 
  27.      return person;      
  28.         }          
  29.     return null;     
  30.      }    }} 

添加一個ConsoleApplication作為啟動項目,在項目中添加對JNBShare.dll的引用(文件路徑 “\JNBridge\JNBridgePro v5.1\4.0-targeted”),然后添加配置文件

config文件

  1. <?xml version="1.0" encoding="utf-8" ?><configuration>  <configSections>      
  2. <sectionGroup name="jnbridge">        
  3. <section name="dotNetToJavaConfig"        
  4.   type="System.Configuration.SingleTagSectionHandler"/>     
  5.  <section name="JavaToDotNetConfig"         
  6.  type="System.Configuration.SingleTagSectionHandler"/>    
  7.   <section name="tcpNoDelay"         
  8.  type="System.Configuration.SingleTagSectionHandler"/>   
  9.    <section name="JavaSideDeclarations"         
  10.  type="System.Configuration.NameValueSectionHandler"/>    
  11.   <section name="assemblyList"        
  12.   type="com.jnbridge.jnbcore.AssemblyListHandler, JNBShare"/>  
  13.   </sectionGroup> 
  14.  </configSections> 
  15.  <jnbridge>   
  16.  <dotNetToJavaConfig scheme="jtcp" host="localhost" port="8085"/>    
  17. <!--注意通訊接口必須與JNBridge中配置的接口一致-->   
  18.  <JavaToDotNetConfig scheme="jtcp" port="8086"/>   
  19.  <!-- 注冊共用程序集 -->   
  20.  <assemblyList>    
  21.   <assembly file=".\Model.dll"/>     
  22.  <assembly file=".\Manager.dll"/>    
  23. </assemblyList> 
  24.  </jnbridge></configuration> 

***啟動服務

  1. using System;using com.jnbridge.jnbcore;namespace NET_Service{      
  2. class Program     
  3.  {        
  4.   static void Main(string[] args)      
  5.     {             
  6.  Console.WriteLine(".NET Start!");          
  7.     //啟動.NET端服務,注意必須添加對JNBShare的引用,才可使用com.jnbridge.jnbcore.DotNetSide        
  8.     DotNetSide.startDotNetSide();          
  9.     Console.ReadKey();         
  10.      //關閉.NET端服務          
  11.     DotNetSide.stopDotNetSide();        
  12.   }    }} 

生成轉換層代碼

打開JNBridge,選擇工具欄 "Add class from assembly files",分別加入Model.dll,Manager.dll及mscorlib.dll(此程序集存在于“C:\Windows\Microsoft.NET\Framework\v4.0.30319\”,里面包含System,System.Collections,System.IO等等重要的命名空間)

在選擇必要的類以后,按下“Project->Build",系統就會對應選擇把.NET里面的類生成對class放入Proxy.jar代理包。

Java端開發

新建一個Java項目,引用剛生成的代理包Proxy.jar,還有jnbcore.jar、bcel-5.1-jnbridge.jar(在5.1版本中,這兩個文件存在于“/JNBridge/JNBridgePro v5.1/jnbcore/”),把JNBridge的TCP配置文件jnbcore_tcp.properties復制到bin文件夾內,開發一個測試端。值得注意的是在生成Proxy.jar代碼包的時候,必須對System.Collections.Generic,System.String等等這些常用類的空間添加引用,否則,在Java里面就無法調用.NET里面的System.Collections.Generic.List等這些常用類。由于在Java里面對像List這些常用的類具有類名之間的沖突,所以在Proxy里面會對System.Collections.Generic.List這些類命名為System.Collections.Generic.List_1。

  1. package com.jnbridge.Javaclient;
  2. import com.jnbridge.jnbcore.*;
  3. import System.Collections.Generic.*;    
  4.  //引用Proxy.jar包內System.Collection.Generice.*空間里面的代理類import Manager.*;
  5. import Model.*;
  6. public class Test {  
  7.   /**     
  8.   * @param args     
  9.   */     
  10.  public static void main(String[] args) {        
  11.   // TODO Auto-generated method stub       
  12.    try{         
  13.  //注冊JNBridge的TCP配置文件jnbcore_tcp.properties      
  14.   DotNetSide.init("E:\\Java Projects\\JNBridge Java\\Java Client\\bin\\jnbcore_tcp.properties");               
  15.  PersonManager personManager=new PersonManager();         
  16.  //注意此List_1是Proxy.jar包內System.Collections.Generic.List的代理類,而并非JDK內自帶的List類        
  17.   List__1 personList=personManager.GetList();        
  18.   if(personList.Get_Count()!=0){          
  19.     //注意此Get_Count()方法是Proxy.jar包內System.Collections.Generic.List代理類的GetCount()方法            
  20.   for(int n=0;n<personList.Get_Count();n++){                
  21.   Person person=(Person)personList.Get_Item(n);               
  22.  System.out.println("Id:"+person.Get_ID()+" Age:"+person.Get_Age()+" Name:"+person.Get_Name());              
  23.   }        }      
  24.     }  
  25. catch(Exception ex){        
  26.       ex.printStackTrace();     
  27.      }    }} 

完成Java端后,先啟動.NET服務端,再啟動Java端,Java就會調用到.NET端的數據,屏幕將顯示出測試結果:

Id:0 Age:29 Name:Leslie
Id:1 Age:23 Name:Rose
Id:2 Age:22 Name:Jack

在JNBridge官網上有著許多的開發例子,在此不多介紹。對不同開發類型的轉換需要調用不同的工具包,各位可以直接參考官網上的教材。

Java與.NET的混合開發模式

在眾很多的大型系統開發中,開發工具往往不限制于同一種開發語言,而是會使用多種開發語言的混合型開發。像在開發底層與業務層的過程中,由于.NET只限制工作于Windows系統,而Java可以在Windows、Unix、Linux中靈活運用而更受到歡迎。但在開發UI表現層里,很明顯像Swing、Applet等開發工具受到的限制更多,而WPF、Siverlight、WinForms等開發工具因為具有成熟的控件與華麗的頁面而倍受歡迎。所以使用Java來開發底層、業務層與Linux系統的UI層,同時使用.NET來開發Windows系統的UI層的例子很常見。在此開發過程中,利用JNBridge工具生成Proxy代理可以大大降低開發的難度,提高開發效率,使.NET平臺與Java平臺之間實現無縫連接。

綜上所述,JNBridge可視為Java平臺與.NET平臺之間通訊的橋梁,上述的例子利用JNBridge現實Java與.NET的無縫連接,可以使.NET的客戶端無需感知Java底層的存在,.NET的UI端直接調用Proxy代理就可以與Java端實現通訊,這不失為Java與.NET之間互相調用的一種好手段。

原文鏈接:http://www.cnblogs.com/leslies2/archive/2011/05/31/2052002.html

 

【編輯推薦】

  1. Visual Studio 2010中Xaml開發格式設置技巧
  2. Visual Studio 2010中手動添加圖片文件
  3. 使用Visual Studio 2010統一管理數據庫對象
  4. Visual Studio 2010 TFS探索之旅
  5. Visual Studio 2010更改顏色背景的方法
責任編輯:彭凡 來源: 博客園
相關推薦

2015-11-12 09:32:03

Javascript設計模式

2020-10-28 11:56:47

橋接模式

2022-01-14 09:22:22

設計模式橋接

2021-03-05 07:57:41

設計模式橋接

2024-04-12 12:10:18

Python設計模式開發

2022-05-11 08:17:15

Java字符串API

2022-02-21 15:52:10

抽象橋梁模式結構模式

2010-03-19 11:07:57

點對點無線橋接模式

2020-05-08 17:05:11

VMware網絡NAT

2010-02-06 15:17:41

Ubuntu Serv

2011-11-10 16:43:59

WDS無線橋接

2021-10-22 09:41:26

橋接模式設計

2022-03-03 10:20:02

編譯器橋接Java

2010-04-09 16:15:02

無線橋接設置

2009-08-18 11:12:34

Ubuntu下Virt橋接網絡配置

2009-05-13 09:39:00

雙網卡共享帶寬

2010-04-08 17:02:14

無線橋接方案

2010-03-19 11:46:35

點對多點無線橋接

2019-07-30 08:28:44

VirtualBox橋接網絡

2009-02-19 13:28:08

遠程通訊技術及原理Java
點贊
收藏

51CTO技術棧公眾號

性欧美videos另类hd| 玖玖爱这里只有精品| 成人免费直播| 中文字幕欧美激情一区| 亚洲jizzjizz日本少妇| 亚洲视频免费播放| 成人在线亚洲| 亚洲第一福利在线观看| 少妇黄色一级片| 日本动漫同人动漫在线观看| 久久免费偷拍视频| 国产日韩中文字幕在线| 日韩黄色a级片| 久久一本综合| 日韩精品在线观| 亚洲图片 自拍偷拍| 黄色小说在线播放| 国产精品国产三级国产普通话蜜臀| 5g国产欧美日韩视频| 国产精品第5页| 欧美不卡在线| 中文字幕欧美日韩精品| 国内精品免费视频| 久久人体av| 欧美性xxxx极品hd满灌| 日本成人在线不卡| 日本中文在线观看| 97精品久久久久中文字幕| 91久久精品久久国产性色也91| 中文字幕精品三级久久久| 欧美.www| 久久久精品美女| 成人国产精品久久久网站| 国产欧美三级电影| 日韩欧美一区二区视频| 精品亚洲一区二区三区四区| 亚洲风情在线资源| 亚洲成人免费看| 日本一二三区视频在线| 在线免费看a| 中文一区在线播放| 欧美xxxx黑人又粗又长精品| 蜜桃在线一区二区| 成人免费三级在线| 99在线免费观看视频| 国产乱淫av免费| 精品一区二区三区免费视频| 国产成人午夜视频网址| 中文字幕黄色片| 性娇小13――14欧美| 性欧美激情精品| 男人的天堂一区二区| 激情欧美日韩| 91国内精品久久| 圆产精品久久久久久久久久久| 亚洲激情专区| 7777免费精品视频| 日韩欧美国产亚洲| 亚洲综合二区| 国产成人精品一区二区| 久久这里只有精品9| 老牛国产精品一区的观看方式| 欧美孕妇与黑人孕交| 国产成人精品网| 日韩制服丝袜av| 国产精品美腿一区在线看| 中文字幕在线播出| 精品一区二区在线看| 亚洲最大av在线| 亚洲卡一卡二卡三| 99久久久久免费精品国产| 麻豆精品视频| 97超碰人人在线| 亚洲欧美国产77777| 天堂а√在线中文在线| 999av小视频在线| 色偷偷成人一区二区三区91| 国产理论在线播放| 24小时成人在线视频| 日韩欧美一二三四区| 挪威xxxx性hd极品| 国产一区99| 久久亚洲欧美日韩精品专区| 久久精品久久国产| 久久深夜福利| 亚洲aⅴ日韩av电影在线观看 | www.色多多| 国产区精品区| 久久国产精品久久国产精品| 日韩精品一区二区三区国语自制| 三级不卡在线观看| 亚洲中国色老太| 91麻豆精品国产91久久久久| 岛国精品资源网站| 欧美系列电影免费观看| 欧美激情a在线| 成人h动漫精品一区二区下载| 久久99在线观看| 国产一区二区三区免费不卡| 3d成人动漫在线| 亚洲一区二区欧美激情| 北条麻妃视频在线| 2020国产精品极品色在线观看| 亚洲欧美一区二区三区情侣bbw | 五月综合激情网| 2025韩国理伦片在线观看| eeuss鲁片一区二区三区| 亚洲欧美国产精品va在线观看| 老司机成人免费视频| 久久精品人人做人人爽电影蜜月| 91传媒在线免费观看| 国产小视频在线观看| 亚洲va天堂va国产va久| 欧美在线a视频| 波多野结衣在线观看一区二区三区| 欧美激情videos| 一级欧美一级日韩| 久久久久88色偷偷免费| 丰满少妇大力进入| 欧美久久亚洲| 日韩视频亚洲视频| 亚洲天堂五月天| 99久久99久久精品国产片果冻 | 这里只有精品99re| 国产激情在线免费观看| 91久久夜色精品国产九色| 亚洲a级在线观看| 欧美成人精品一区二区男人看| 日韩欧美一区二区三区| 国产性生活毛片| 亚洲天堂成人| yellow视频在线观看一区二区| 欧美日韩在线资源| 欧美专区日韩专区| 亚洲av综合一区二区| 亚洲影音一区| 极品尤物一区二区三区| av伦理在线| 亚洲电影免费观看高清完整版在线| 国产又黄又爽又无遮挡| 精久久久久久久久久久| 伊人情人网综合| 欧美成人家庭影院| 日韩一区二区三区在线播放| 亚洲一级视频在线观看| 国产精品久久久久婷婷| 日韩av在线中文| 91综合久久| 国产综合视频在线观看| 黄网址在线观看| 日韩一区二区免费高清| 欧美精品一区二区蜜桃| 国产成人免费视频一区| 欧美在线观看视频免费| 成午夜精品一区二区三区软件| 欧美激情va永久在线播放| 欧美自拍第一页| 欧美日韩国产一中文字不卡| 人妻无码一区二区三区| 久久久久久网| 午夜一区二区三区| 日本.亚洲电影| 中文字幕在线成人| 国产免费黄色大片| 亚洲午夜私人影院| 亚洲永久无码7777kkk| 日日嗨av一区二区三区四区| 亚洲视频小说| 免费精品一区| 91黄色8090| 国产在线一在线二| 欧美精选在线播放| 国产精品99无码一区二区| 91视频.com| 午夜两性免费视频| 国产精品s色| 欧美黑人xxxxx| 国产一区二区三区四区五区3d| 久久夜色精品国产欧美乱| 亚洲精品一区二区三区新线路| 天天操天天干天天综合网| 精品亚洲aⅴ无码一区二区三区| 美女脱光内衣内裤视频久久网站| 四虎精品欧美一区二区免费| 琪琪久久久久日韩精品| 国产深夜精品福利| 久草在线资源福利站| 中文字幕日本欧美| 亚洲精品久久久蜜桃动漫| 色婷婷久久一区二区三区麻豆| 国产3级在线观看| 波多野结衣中文字幕一区二区三区| 欧美国产日韩在线播放| 最新精品国产| 欧美日韩一区在线视频| 青草伊人久久| 国产精品18久久久久久麻辣| 狂野欧美性猛交xxxxx视频| 国产一区二区三区在线视频| 亚洲a视频在线观看| 在线亚洲一区二区| 国产在线拍揄自揄拍| 中文字幕一区二区三区不卡| 亚洲综合自拍网| 国产一区二区免费看| 国产淫片av片久久久久久| 中文字幕一区二区av| 日韩免费一区二区三区| 盗摄牛牛av影视一区二区| 国产女同一区二区| 亚洲午夜天堂| 97人人做人人爱| 成人影欧美片| 中文字幕在线日韩 | 欧美激情一区二区三区全黄 | 国产精品高潮呻吟av| 欧美视频中文在线看| 久久久久久国产精品视频| 国产精品欧美久久久久无广告 | 日韩中字在线| 精品日韩美女| 99re8这里有精品热视频8在线| 国产女人精品视频| 草莓视频成人appios| 欧美亚洲视频在线观看| 99热99re6国产在线播放| 免费91麻豆精品国产自产在线观看| 国模吧精品人体gogo| 亚洲电影在线观看| 欧美 日韩 国产 成人 在线 91| 欧美一区二区三区性视频| 国产精品老熟女视频一区二区| 欧美三级视频在线播放| 亚洲 日本 欧美 中文幕| 欧美性69xxxx肥| 69成人免费视频| 亚洲一区二区三区四区五区中文| 免费在线黄色网| 1024成人网| 久久久久久久久久97| 国产精品久久久一本精品| 九一在线免费观看| 国产精品欧美久久久久一区二区| 美国黄色特级片| 国产精品欧美久久久久无广告| 国产99在线 | 亚洲| 国产精品乱人伦| 精品无码一区二区三区蜜臀| 中文字幕一区二区三区四区| 最新黄色av网址| 亚洲激情在线播放| 久久久久97国产| 亚洲成人av电影在线| 圆产精品久久久久久久久久久| 欧美日韩国产一区在线| 中文字幕在线观看视频免费| 欧美日韩色一区| 国产免费不卡av| 精品国产乱码久久久久久老虎| 色综合免费视频| 精品视频在线导航| 成人免费在线观看| x99av成人免费| 最近中文字幕免费mv2018在线| 欧美激情精品久久久久久黑人| heyzo高清国产精品| 1769国产精品| jizz欧美| 成人在线观看网址| 伊人久久综合影院| 在线视频一区观看| 亚洲无线一线二线三线区别av| 两根大肉大捧一进一出好爽视频| 日韩国产欧美在线播放| 日韩av加勒比| 9i在线看片成人免费| 夜夜春很很躁夜夜躁| 成人免费一区二区三区在线观看| 久久免费播放视频| 色婷婷精品大视频在线蜜桃视频| 亚洲图片视频小说| 精品成人一区二区三区四区| 酒色婷婷桃色成人免费av网| 久久综合九色九九| 亚洲妇女成熟| 亚洲尤物视频网| 免费成人av| 亚洲av综合色区| 久久综合影视| 中文字幕无码毛片免费看| 久久久久久久电影| 激情五月婷婷在线| 色欧美88888久久久久久影院| 国产乱人乱偷精品视频| 亚洲另类图片色| 免费av在线网址| 欧美尤物巨大精品爽| 国产一区二区三区| 欧美一二三区| 激情久久久久| 激情在线观看视频| 国产婷婷色一区二区三区在线| 欧美极品视频在线观看| 在线一区二区三区四区| 三级在线观看网站| 久久精品亚洲精品| 日韩经典一区| 噜噜噜噜噜久久久久久91| 欧美日韩三区| 91高清国产视频| 久久久精品综合| 天天插天天操天天干| 日韩视频在线一区二区| av午夜在线| 欧日韩不卡在线视频| youjizz亚洲| 性生活免费观看视频| 青青草国产精品97视觉盛宴| 免费在线观看成年人视频| 亚洲福利视频导航| 国产偷拍一区二区| 色天天综合狠狠色| 国产精品久久久久久吹潮| 免费在线成人av| 一区二区三区精品视频在线观看| 男人添女人荫蒂国产| 亚洲视频一区在线| 亚洲视频一区在线播放| 亚洲天堂男人天堂| 特黄毛片在线观看| 久久久久久草| 亚洲精品免费观看| 亚洲欧美日韩偷拍| 午夜精品福利一区二区三区av| 成 人片 黄 色 大 片| 久久中文字幕国产| 成人动漫视频在线观看| 综合久久国产| 国产主播一区二区三区| 四虎永久免费地址| 69堂成人精品免费视频| 日本成人在线播放| 91久久精品美女| 欧美日韩国产高清| 日韩女优在线视频| 亚洲v精品v日韩v欧美v专区| 色一情一乱一乱一区91av| 午夜精品www| 伊人春色精品| 天天干天天综合| 国产精品第四页| 国产视频手机在线观看| 九九热最新视频//这里只有精品| 一区二区三区亚洲变态调教大结局| www.国产亚洲| 成人免费电影视频| 久久国产精品系列| 亚洲香蕉在线观看| 九九九精品视频| 欧美做受777cos| 不卡一二三区首页| 黄色av网站免费观看| 日韩性生活视频| 777久久精品| 干日本少妇首页| 国产农村妇女精品| 国产精品国产一区二区三区四区 | 懂色aⅴ精品一区二区三区| 亚洲欧美丝袜| 国产精品自拍毛片| 日本熟女一区二区| 亚洲欧洲美洲在线综合| 国产资源一区| 免费视频爱爱太爽了| 久久美女高清视频| 91超薄丝袜肉丝一区二区| 欧美国产日韩一区二区三区| 青青草久久爱| 中文字幕66页| 亚洲成人av一区二区三区| 国产精品四虎| 亚洲综合在线小说| 丝袜亚洲另类欧美| 欧美精品久久久久久久久46p| 亚洲福利在线看| 国产成人77亚洲精品www| 成人免费看片'免费看| 国产午夜精品在线观看| www.午夜激情| 国产精品都在这里| 狠狠色狠狠色综合日日tαg| 亚洲av无码国产精品麻豆天美 | 国产三级电影在线| 97久久夜色精品国产九色| 久久亚洲欧美| 国产一级生活片| 精品国内产的精品视频在线观看| 国产精品17p| 污污的视频免费观看| 富二代精品短视频|