日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

socket通信数据类型

發布時間:2024/1/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 socket通信数据类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在java中socket傳輸數據時,數據類型往往比較難選擇。可能要考慮帶寬、跨語言、版本的兼容等問題。比較常見的做法有兩種:一是把對象包裝成JSON字符串傳輸,二是采用java對象的序列化和反序列化。隨著Google工具protoBuf的開源,protobuf也是個不錯的選擇。對JSON,Object Serialize,ProtoBuf 做個對比。

定義一個待傳輸的對象UserVo:

Java代碼
  • publicclass UserVo{ ?

  • private String name; ?

  • privateint age; ?

  • privatelong phone; ?


  • private List<UserVo> friends; ?

  • …… ?

  • } ?

  • public class UserVo{private String name;private int age;private long phone;private List<UserVo> friends; …… }

    初始化UserVo的實例src:

    Java代碼
  • UserVo src = new UserVo(); ?

  • src.setName("Yaoming"); ?

  • src.setAge(30); ?

  • src.setPhone(13789878978L); ?


  • UserVo f1 = new UserVo(); ?

  • f1.setName("tmac"); ?

  • f1.setAge(32); ?

  • f1.setPhone(138999898989L); ?

  • UserVo f2 = new UserVo(); ?

  • f2.setName("liuwei"); ?

  • f2.setAge(29); ?

  • f2.setPhone(138999899989L); ?


  • List<UserVo> friends = new ArrayList<UserVo>(); ?

  • friends.add(f1); ?

  • friends.add(f2); ?

  • src.setFriends(friends); ?

  • UserVo src = new UserVo(); src.setName("Yaoming"); src.setAge(30); src.setPhone(13789878978L);UserVo f1 = new UserVo(); f1.setName("tmac"); f1.setAge(32); f1.setPhone(138999898989L); UserVo f2 = new UserVo(); f2.setName("liuwei"); f2.setAge(29); f2.setPhone(138999899989L);List<UserVo> friends = new ArrayList<UserVo>(); friends.add(f1); friends.add(f2); src.setFriends(friends);

    JSON格式

    采用Google的gson-2.2.2.jar 進行轉義

    Java代碼
  • Gson gson = new Gson(); ?

  • String json = gson.toJson(src); ?

  • Gson gson = new Gson(); String json = gson.toJson(src);

    得到的字符串:

    Js代碼
  • {"name":"Yaoming","age":30,"phone":13789878978,"friends":[{"name":"tmac","age":32,"phone":138999898989},{"name":"liuwei","age":29,"phone":138999899989}]} ?

  • {"name":"Yaoming","age":30,"phone":13789878978,"friends":[{"name":"tmac","age":32,"phone":138999898989},{"name":"liuwei","age":29,"phone":138999899989}]}

    字節數為153

    Json的優點:明文結構一目了然,可以跨語言,屬性的增加減少對解析端影響較小。缺點:字節數過多,依賴于不同的第三方類庫。


    Object Serialize

    UserVo實現Serializalbe接口,提供唯一的版本號:

    Java代碼
  • publicclass UserVo implements Serializable{ ?


  • privatestaticfinallong serialVersionUID = -5726374138698742258L; ?

  • private String name; ?

  • privateint age; ?

  • privatelong phone; ?


  • private List<UserVo> friends; ?

  • public class UserVo implements Serializable{private static final long serialVersionUID = -5726374138698742258L;private String name;private int age;private long phone;private List<UserVo> friends;


    序列化方法:

    Java代碼
  • ByteArrayOutputStream bos = new ByteArrayOutputStream(); ?

  • ObjectOutputStream os = new ObjectOutputStream(bos); ?

  • os.writeObject(src); ?

  • os.flush(); ?

  • os.close(); ?

  • byte[] b = bos.toByteArray(); ?

  • bos.close(); ?

  • ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(bos); os.writeObject(src); os.flush(); os.close(); byte[] b = bos.toByteArray(); bos.close();

    字節數是238


    反序列化:

    Java代碼
  • ObjectInputStream ois = new ObjectInputStream(fis); ?

  • vo = (UserVo) ois.readObject(); ?

  • ois.close(); ?

  • fis.close(); ?

  • ObjectInputStream ois = new ObjectInputStream(fis); vo = (UserVo) ois.readObject(); ois.close(); fis.close();

    Object Serializalbe 優點:java原生支持,不需要提供第三方的類庫,使用比較簡單。缺點:無法跨語言,字節數占用比較大,某些情況下對于對象屬性的變化比較敏感。

    對象在進行序列化和反序列化的時候,必須實現Serializable接口,但并不強制聲明唯一的serialVersionUID

    是否聲明serialVersionUID對于對象序列化的向上向下的兼容性有很大的影響。我們來做個測試:

    思路一

    把UserVo中的serialVersionUID去掉,序列化保存。反序列化的時候,增加或減少個字段,看是否成功。

    Java代碼
  • publicclass UserVo implements Serializable{ ?

  • private String name; ?

  • privateint age; ?

  • privatelong phone; ?


  • private List<UserVo> friends; ?

  • public class UserVo implements Serializable{private String name;private int age;private long phone;private List<UserVo> friends;


    保存到文件中:

    Java代碼
  • ByteArrayOutputStream bos = new ByteArrayOutputStream(); ?

  • ObjectOutputStream os = new ObjectOutputStream(bos); ?

  • os.writeObject(src); ?

  • os.flush(); ?

  • os.close(); ?

  • byte[] b = bos.toByteArray(); ?

  • bos.close(); ?


  • FileOutputStream fos = new FileOutputStream(dataFile); ?

  • fos.write(b); ?

  • fos.close(); ?

  • ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(bos); os.writeObject(src); os.flush(); os.close(); byte[] b = bos.toByteArray(); bos.close();FileOutputStream fos = new FileOutputStream(dataFile); fos.write(b); fos.close();


    增加或者減少字段后,從文件中讀出來,反序列化:

    Java代碼
  • FileInputStream fis = new FileInputStream(dataFile); ?

  • ObjectInputStream ois = new ObjectInputStream(fis); ?

  • vo = (UserVo) ois.readObject(); ?

  • ois.close(); ?

  • fis.close(); ?

  • FileInputStream fis = new FileInputStream(dataFile); ObjectInputStream ois = new ObjectInputStream(fis); vo = (UserVo) ois.readObject(); ois.close(); fis.close();


    結果:拋出異常信息

    Java代碼
  • Exception in thread "main" java.io.InvalidClassException: serialize.obj.UserVo; local class incompatible: stream classdesc serialVersionUID = 3305402508581390189, local class serialVersionUID = 7174371419787432394

  • ? ?at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:560) ?

  • ? ?at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582) ?

  • ? ?at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495) ?

  • ? ?at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731) ?

  • ? ?at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328) ?

  • ? ?at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350) ?

  • ? ?at serialize.obj.ObjectSerialize.read(ObjectSerialize.java:74) ?

  • ? ?at serialize.obj.ObjectSerialize.main(ObjectSerialize.java:27) ?

  • Exception in thread "main" java.io.InvalidClassException: serialize.obj.UserVo; local class incompatible: stream classdesc serialVersionUID = 3305402508581390189, local class serialVersionUID = 7174371419787432394at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:560)at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1582)at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)at serialize.obj.ObjectSerialize.read(ObjectSerialize.java:74)at serialize.obj.ObjectSerialize.main(ObjectSerialize.java:27)
    思路二

    eclipse指定生成一個serialVersionUID,序列化保存,修改字段后反序列化

    略去代碼

    結果:反序列化成功

    結論

    如果沒有明確指定serialVersionUID,序列化的時候會根據字段和特定的算法生成一個serialVersionUID,當屬性有變化時這個id發生了變化,所以反序列化的時候就會失敗。拋出“本地classd的唯一id和流中class的唯一id不匹配”。


    jdk文檔關于serialVersionUID的描述:

    寫道如果可序列化類未顯式聲明 serialVersionUID,則序列化運行時將基于該類的各個方面計算該類的默認 serialVersionUID 值,如“Java(TM) 對象序列化規范”中所述。不過,強烈建議 所有可序列化類都顯式聲明 serialVersionUID 值,原因是計算默認的 serialVersionUID 對類的詳細信息具有較高的敏感性,根據編譯器實現的不同可能千差萬別,這樣在反序列化過程中可能會導致意外的 InvalidClassException。因此,為保證 serialVersionUID 值跨不同 java 編譯器實現的一致性,序列化類必須聲明一個明確的 serialVersionUID 值。還強烈建議使用 private 修飾符顯示聲明 serialVersionUID(如果可能),原因是這種聲明僅應用于直接聲明類 -- serialVersionUID 字段作為繼承成員沒有用處。數組類不能聲明一個明確的 serialVersionUID,因此它們總是具有默認的計算值,但是數組類沒有匹配 serialVersionUID 值的要求。


    Google ProtoBuf

    protocol buffers 是google內部得一種傳輸協議,目前項目已經開源(http://code.google.com/p/protobuf/)。它定義了一種緊湊得可擴展得二進制協議格式,適合網絡傳輸,并且針對多個語言有不同得版本可供選擇。

    以protobuf-2.5.0rc1為例,準備工作:

    下載源碼,解壓,編譯,安裝

    Shell代碼
  • tar zxvf protobuf-2.5.0rc1.tar.gz ?

  • ./configure ?

  • ./make ?

  • ./make install ?

  • tar zxvf protobuf-2.5.0rc1.tar.gz ./configure ./make ./make install

    測試:

    Shell代碼
  • MacBook-Air:~ ming$ protoc --version ?

  • libprotoc 2.5.0

  • MacBook-Air:~ ming$ protoc --version libprotoc 2.5.0

    安裝成功!進入源碼得java目錄,用mvn工具編譯生成所需得jar包,protobuf-java-2.5.0rc1.jar


    1、編寫.proto文件,命名UserVo.proto

    Text代碼
  • package serialize; ?


  • option java_package = "serialize"; ?

  • option java_outer_classname="UserVoProtos"; ?


  • message UserVo{ ?

  • ? ?optional string name = 1; ?

  • ? ?optional int32 age = 2; ?

  • ? ?optional int64 phone = 3; ?

  • ? ?repeated serialize.UserVo friends = 4; ?

  • } ?

  • package serialize;option java_package = "serialize"; option java_outer_classname="UserVoProtos";message UserVo{optional string name = 1;optional int32 age = 2;optional int64 phone = 3;repeated serialize.UserVo friends = 4; }


    2、在命令行利用protoc 工具生成builder類

    Shell代碼
  • protoc -IPATH=.proto文件所在得目錄 --java_out=java文件的輸出路徑 ?.proto的名稱 ?

  • protoc -IPATH=.proto文件所在得目錄 --java_out=java文件的輸出路徑 .proto的名稱

    得到UserVoProtos類


    3、編寫序列化代碼

    Java代碼
  • UserVoProtos.UserVo.Builder builder = UserVoProtos.UserVo.newBuilder(); ?

  • builder.setName("Yaoming"); ?

  • builder.setAge(30); ?

  • builder.setPhone(13789878978L); ?


  • UserVoProtos.UserVo.Builder builder1 = UserVoProtos.UserVo.newBuilder(); ?

  • builder1.setName("tmac"); ?

  • builder1.setAge(32); ?

  • builder1.setPhone(138999898989L); ?


  • UserVoProtos.UserVo.Builder builder2 = UserVoProtos.UserVo.newBuilder(); ?

  • builder2.setName("liuwei"); ?

  • builder2.setAge(29); ?

  • builder2.setPhone(138999899989L); ?


  • builder.addFriends(builder1); ?

  • builder.addFriends(builder2); ?


  • UserVoProtos.UserVo vo = builder.build(); ?


  • byte[] v = vo.toByteArray(); ?

  • UserVoProtos.UserVo.Builder builder = UserVoProtos.UserVo.newBuilder(); builder.setName("Yaoming"); builder.setAge(30); builder.setPhone(13789878978L);UserVoProtos.UserVo.Builder builder1 = UserVoProtos.UserVo.newBuilder(); builder1.setName("tmac"); builder1.setAge(32); builder1.setPhone(138999898989L);UserVoProtos.UserVo.Builder builder2 = UserVoProtos.UserVo.newBuilder(); builder2.setName("liuwei"); builder2.setAge(29); builder2.setPhone(138999899989L);builder.addFriends(builder1); builder.addFriends(builder2);UserVoProtos.UserVo vo = builder.build();byte[] v = vo.toByteArray();

    字節數53


    4、反序列化

    Java代碼
  • UserVoProtos.UserVo uvo = UserVoProtos.UserVo.parseFrom(dstb); ?

  • System.out.println(uvo.getFriends(0).getName()); ?

  • UserVoProtos.UserVo uvo = UserVoProtos.UserVo.parseFrom(dstb); System.out.println(uvo.getFriends(0).getName()); 結果:tmac,反序列化成功

    google protobuf 優點:字節數很小,適合網絡傳輸節省io,跨語言 。缺點:需要依賴于工具生成代碼。


    工作機制

    proto文件是對數據的一個描述,包括字段名稱,類型,字節中的位置。protoc工具讀取proto文件生成對應builder代碼的類庫。protoc xxxxx ?--java_out=xxxxxx 生成java類庫。builder類根據自己的算法把數據序列化成字節流,或者把字節流根據反射的原理反序列化成對象。官方的示例:https://developers.google.com/protocol-buffers/docs/javatutorial。

    proto文件中的字段類型和java中的對應關系:

    詳見:https://developers.google.com/protocol-buffers/docs/proto

    .proto Type java Type c++ Type
    double double double
    float float float
    int32 int int32
    int64 long int64
    uint32 int uint32
    unint64 long uint64
    sint32 int int32
    sint64 long int64
    fixed32 int uint32
    fixed64 long uint64
    sfixed32 int int32
    sfixed64 long int64
    bool boolean bool
    string String string
    bytes byte string
    字段屬性的描述:寫道required: a well-formed message must have exactly one of this field.
    optional: a well-formed message can have zero or one of this field (but not more than one).
    repeated: this field can be repeated any number of times (including zero) in a well-formed message. The order of the repeated values will be preserved.protobuf 在序列化和反序列化的時候,是依賴于.proto文件生成的builder類完成,字段的變化如果不表現在.proto文件中就不會影響反序列化,比較適合字段變化的情況。做個測試:把UserVo序列化到文件中:Java代碼
  • UserVoProtos.UserVo vo = builder.build(); ?

  • byte[] v = vo.toByteArray(); ?

  • FileOutputStream fos = new FileOutputStream(dataFile); ?

  • fos.write(vo.toByteArray()); ?

  • fos.close(); ?

  • UserVoProtos.UserVo vo = builder.build(); byte[] v = vo.toByteArray(); FileOutputStream fos = new FileOutputStream(dataFile); fos.write(vo.toByteArray()); fos.close();為UserVo增加字段,對應的.proto文件:Text代碼
  • package serialize; ?


  • option java_package = "serialize"; ?

  • option java_outer_classname="UserVoProtos"; ?


  • message UserVo{ ?

  • ? ?optional string name = 1; ?

  • ? ?optional int32 age = 2; ?

  • ? ?optional int64 phone = 3; ?

  • ? ?repeated serialize.UserVo friends = 4; ?

  • ? ?optional string address = 5; ?

  • } ?

  • package serialize;option java_package = "serialize"; option java_outer_classname="UserVoProtos";message UserVo{optional string name = 1;optional int32 age = 2;optional int64 phone = 3;repeated serialize.UserVo friends = 4;optional string address = 5; }從文件中反序列化回來:Java代碼
  • FileInputStream fis = new FileInputStream(dataFile); ?

  • byte[] dstb = newbyte[fis.available()]; ?

  • for(int i=0;i<dstb.length;i++){ ?

  • ? ?dstb[i] = (byte)fis.read(); ?

  • } ?

  • fis.close(); ?

  • UserVoProtos.UserVo uvo = UserVoProtos.UserVo.parseFrom(dstb); ?

  • System.out.println(uvo.getFriends(0).getName()); ?

  • FileInputStream fis = new FileInputStream(dataFile); byte[] dstb = new byte[fis.available()]; for(int i=0;i<dstb.length;i++){dstb[i] = (byte)fis.read(); } fis.close(); UserVoProtos.UserVo uvo = UserVoProtos.UserVo.parseFrom(dstb); System.out.println(uvo.getFriends(0).getName()); 成功得到結果。三種方式對比傳輸同樣的數據,google protobuf只有53個字節是最少的。結論:
    方式優點缺點
    JSON

    跨語言、格式清晰一目了然

    字節數比較大,需要第三方類庫
    Object Serializejava原生方法不依賴外部類庫字節數比較大,不能跨語言
    Google protobuf

    跨語言、字節數比較少

    編寫.proto配置用protoc工具生成對應的代碼


    轉載于:https://blog.51cto.com/kunyali/1347738

    總結

    以上是生活随笔為你收集整理的socket通信数据类型的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    亚洲天堂网在线视频观看 | 欧美91精品久久久久国产性生爱 | 在线日韩精品视频 | 久久亚洲欧美日韩精品专区 | 国产在线91精品 | а天堂中文最新一区二区三区 | 精品日韩视频 | 精品国产一区二区久久 | 欧美精品二区 | 国产黄免费| 中文字幕在线观看完整版 | 国产美女精品在线 | 国产精品永久久久久久久久久 | 日韩一区二区免费视频 | 精品免费一区 | 在线国产能看的 | 91精品国产麻豆国产自产影视 | 91视频在线免费 | 91视频高清 | 极品中文字幕 | 天天躁日日躁狠狠躁av中文 | 免费人做人爱www的视 | 五月婷婷久久丁香 | 黄色亚洲免费 | 国产在线最新 | 午夜久久久影院 | av中文字幕在线播放 | 中文字幕视频播放 | 日韩久久在线 | 欧美婷婷色 | 在线看国产视频 | 天天拍夜夜拍 | 最新色站| 精品亚洲二区 | 欧美性极品xxxx做受 | 亚洲精品国产自产拍在线观看 | 国产一级精品绿帽视频 | 久久人人爽爽人人爽人人片av | 日韩肉感妇bbwbbwbbw | 丁香久久综合 | 亚洲成人黄色av | 欧美伦理一区二区 | 日本黄色免费在线 | 91一区二区三区久久久久国产乱 | 久草在线免费看视频 | 又黄又爽又湿又无遮挡的在线视频 | 成人在线视 | 久久久久99精品国产片 | 欧美精品做受xxx性少妇 | 成人av播放 | 激情丁香综合五月 | 亚洲成人黄| 狠狠躁日日躁夜夜躁av | 天天综合人人 | 日韩区欠美精品av视频 | 欧美成人xxxxxxxx | 欧美在线a视频 | 欧美性极品xxxx做受 | 婷婷5月激情5月 | 成人9ⅰ免费影视网站 | 国产精品乱码一区二区视频 | 美女精品久久久 | 夜色成人av | 九九九九九九精品任你躁 | av东方在线 | 久久福利剧场 | 麻豆91小视频 | 六月丁香激情综合 | 国产1区在线观看 | 久久久久亚洲a | 日韩中文字幕a | 亚洲激情电影在线 | 在线观看日本高清mv视频 | 久久精品毛片基地 | 色婷婷亚洲综合 | 中文字幕在线观看不卡 | 黄色亚洲大片免费在线观看 | 午夜久久影院 | 日日日干| www.狠狠色.com| 99久久精品国产亚洲 | jizz欧美性9 国产一区高清在线观看 | 天天插天天操天天干 | 激情五月婷婷综合 | 欧洲成人免费 | 国产成人精品一区二区在线观看 | 超碰成人免费电影 | 99亚洲国产 | 国产精品99免视看9 国产精品毛片一区视频 | 国产精品久久久久久久久久了 | 国产午夜精品一区 | 久草91视频| 五月开心色 | 91香蕉视频 mp4 | 成人在线视频免费观看 | 中文在线www| 最近日本mv字幕免费观看 | 色五婷婷 | 91视频免费看片 | 免费观看性生活大片3 | 日韩视频在线一区 | 18pao国产成视频永久免费 | 91女子私密保健养生少妇 | 久久精品一区二区三区四区 | 亚州国产视频 | 日本超碰在线 | 韩国av在线播放 | 免费看成人av | 日韩精品一区二区免费 | 这里只有精彩视频 | 免费视频成人 | 午夜久久福利 | 伊人中文网 | 人人爱在线视频 | 国产精品成人免费 | 狠狠干夜夜操天天爽 | 夜夜视频| 国产精品久久久久久婷婷天堂 | 免费日p视频 | 97成人免费视频 | 国产精品自产拍在线观看 | 亚洲精品在线免费 | 日韩伦理一区二区三区av在线 | 色国产精品| 又大又硬又黄又爽视频在线观看 | 五月婷婷av| av一区二区在线观看中文字幕 | 在线看岛国av| 视频一区在线免费观看 | 免费成视频 | 日韩伦理片hd | 国产成人精品综合 | 亚洲一区视频在线播放 | 欧美日韩性视频在线 | 久久午夜免费视频 | av在线播放快速免费阴 | 蜜桃视频在线观看一区 | 在线观看黄网站 | 中文区中文字幕免费看 | 免费精品视频 | 日韩理论片在线观看 | 中文字幕有码在线观看 | 国产一区精品在线 | 91男人影院 | 午夜av剧场 | 国产精品丝袜在线 | 99久久国产免费看 | av看片网 | 在线国产激情视频 | 日本大片免费观看在线 | 97超碰资源网| 国产女人18毛片水真多18精品 | 国产亚洲成av片在线观看 | 成人 亚洲 欧美 | 91精品国产自产在线观看 | 免费不卡中文字幕视频 | 在线免费观看视频 | 人人舔人人干 | 亚洲片在线资源 | 国产福利免费在线观看 | 久久久高清 | 成人av影视 | 99国产精品免费网站 | 国产精品欧美一区二区 | www久久| 国产精品1024 | 日韩高清不卡一区二区三区 | 99欧美视频 | 国产高清在线不卡 | 99精品国产一区二区三区不卡 | 日韩欧美精品免费 | 欧美一二在线 | 国产成人在线免费观看 | 午夜精品久久久久久久久久 | 亚洲资源视频 | 麻豆免费精品视频 | 最近高清中文字幕在线国语5 | 亚洲首页 | 久久爽久久爽久久av东京爽 | 久久久官网 | 欧美一区二区在线免费看 | av高清一区二区三区 | 久草视频在线观 | 美女黄频在线观看 | 久久久精品福利视频 | 亚洲精品黄网站 | 99久久精品无免国产免费 | 日日综合网| 欧美爽爽爽 | 国产一区二区久久久久 | 成人av高清在线观看 | 久久久久亚洲最大xxxx | 欧美精品一区二区性色 | 免费观看一级成人毛片 | 91精品办公室少妇高潮对白 | 国产日韩欧美自拍 | 日韩三区在线观看 | 国产精品毛片久久久久久久久久99999999 | 天天玩天天干天天操 | 国产中文字幕视频在线 | 色婷婷一 | 精品久久久久久久久久岛国gif | 黄色三级视频片 | 五月导航 | 久久久999 | 成人精品一区二区三区中文字幕 | 久久av中文字幕片 | 黄色在线网站噜噜噜 | 日本狠狠干 | 草久在线| 黄色国产区| 欧美一级性生活 | 91亚洲精品国产 | 日韩3区| 五月婷婷丁香在线观看 | 亚洲欧洲视频 | 黄色小说在线免费观看 | 日韩有码在线观看视频 | 亚洲专区在线播放 | 久久福利 | 丁香婷婷激情国产高清秒播 | 视频一区二区三区视频 | 97精品久久人人爽人人爽 | 一区二区理论片 | 五月婷婷丁香 | 久久综合五月天婷婷伊人 | 国产69精品久久久久9999apgf | 久久97精品 | 中文字幕一区在线 | 亚洲视频axxx | 亚洲亚洲精品在线观看 | 亚洲影院一区 | 91爱爱网址| 久久综合久色欧美综合狠狠 | 国产在线观看一区 | 区一区二在线 | 亚洲人在线视频 | 91视频久久| 91精品久| 99久热在线精品视频观看 | 国产黄色片网站 | 五月激情婷婷丁香 | 91欧美日韩国产 | 久久免费黄色网址 | 三上悠亚一区二区在线观看 | 九九热精品视频在线观看 | 中文资源在线观看 | 国产69精品久久久久9999apgf | 中文字幕免费观看视频 | 天天综合久久综合 | 日本精品在线看 | 国产一区视频在线观看免费 | 日韩在线资源 | 波多野结衣精品 | 色综合久久88色综合天天人守婷 | 探花视频免费在线观看 | 久久99国产精品视频 | 97av在线视频 | 亚洲综合黄色 | 国产精品久久久久四虎 | 久久精品艹 | 久久精品中文字幕免费mv | 亚洲三级视频 | 国产精品久久网站 | 亚洲黄色区 | 二区视频在线观看 | 深爱开心激情 | 在线国产视频一区 | 国产午夜三级一二三区 | 亚洲精品tv久久久久久久久久 | 成年人免费在线观看网站 | 国产亚洲欧美日韩高清 | 久久,天天综合 | 日韩欧美综合精品 | 精品久久久久久亚洲 | 国产成人精品一区二区三区在线观看 | 久草在线 | 国产精品精品国产色婷婷 | 日韩精品一区二区三区电影 | 免费一级特黄毛大片 | 97日日| 一区二区成人国产精品 | 天天干亚洲 | 国产午夜在线 | 国产精品久久久久久久久久久久午夜片 | 精品国产乱码久久久久久1区2匹 | 夜夜躁日日躁狠狠久久av | 国产特级毛片aaaaaa高清 | 欧美aaa视频 | 亚洲国产片 | 婷婷久月 | 青青草国产精品 | 99草视频在线观看 | 中文字幕一区二区三区四区在线视频 | 欧美极度另类性三渗透 | 亚洲一区视频在线播放 | 九草视频在线 | 国产精品一区免费在线观看 | 亚洲一区二区高潮无套美女 | 福利在线看片 | 日韩欧美69 | 成人在线免费看视频 | 狠狠色2019综合网 | 一区免费在线 | 蜜桃视频日本 | 99久久精品国产系列 | 国产黄色视 | 国产免费激情久久 | 国产亚洲精品久久久网站好莱 | 国产尤物视频在线 | 亚洲好视频 | 免费看成人av | 色婷丁香| 久久综合毛片 | 美女久久视频 | 久草色在线观看 | 免费在线观看国产黄 | 国产小视频你懂的 | 在线免费观看视频你懂的 | 久久久久久蜜桃一区二区 | av在线免费播放 | 一级性视频 | 九九热精品视频在线播放 | 日韩区欠美精品av视频 | 在线观看av网站 | 超碰在线最新网址 | 免费av小说| 高清在线观看av | 97精品超碰一区二区三区 | 成人小视频在线观看免费 | 成人黄在线 | www.久久婷婷 | 国产精品第一视频 | 国产精品久久久久久久久久久免费看 | 在线观看视频福利 | 综合国产在线观看 | 亚洲一区二区精品视频 | 精品久久久久久亚洲综合网 | 91视频午夜 | 亚洲免费婷婷 | 最近最新最好看中文视频 | 欧美日本啪啪无遮挡网站 | 久久久久久久久久久久久久电影 | 99精品在这里 | 日韩欧美大片免费观看 | 久久精品久久久久电影 | 国产精品情侣视频 | 国产a视频免费观看 | 一区二区不卡高清 | 色婷婷国产在线 | 在线免费观看亚洲视频 | 中文字幕黄色 | 999视频在线播放 | 狠狠干成人综合网 | 麻豆视频在线免费观看 | 久久久蜜桃一区二区 | 欧美九九九| 免费日p视频 | 亚洲国产成人精品在线观看 | 欧亚久久 | 免费看的国产视频网站 | 五月婷婷毛片 | 808电影 | 日本在线观看一区二区 | 国产黄在线免费观看 | 特级毛片网站 | 色综合色综合色综合 | 在线观看一区二区视频 | 中文字幕av影院 | 国产在线观看网站 | 中文字幕在线视频一区二区三区 | 国产香蕉视频在线播放 | 在线免费国产视频 | 热re99久久精品国产66热 | 一区三区视频在线观看 | 欧美一二三区在线播放 | 欧美激情视频免费看 | 免费av小说 | 国产成人免费高清 | 亚洲精品伦理在线 | 97韩国电影 | 五月天色站| 国产精品久久久久久吹潮天美传媒 | 国产精品久久久久久婷婷天堂 | 五月激情综合婷婷 | 国产一区二区电影在线观看 | www91在线观看 | 国产香蕉视频在线观看 | 欧美一区成人 | 欧美精品久久久久久久久免 | 国产精品视频免费观看 | 欧美影片 | 一区二区 不卡 | 国产专区视频在线 | 狠狠色丁香婷婷综合基地 | 欧美激情va永久在线播放 | 亚洲视屏 | 成人黄在线 | 久草免费在线观看视频 | 亚洲视频久久久 | 国产精品久久久久久久久大全 | 欧美激情视频一区二区三区免费 | 国产专区一 | 天天干天天操天天拍 | 国产美女黄网站免费 | 久久理伦片 | 欧美日韩国产精品久久 | 日韩精品中文字幕在线观看 | 丁香av在线 | 精品一区二区免费在线观看 | 色婷五月| 色婷婷激情电影 | 婷婷六月天综合 | 中文字幕亚洲国产 | 精品一区二区日韩 | 久草网视频| 国产色婷婷精品综合在线手机播放 | 亚洲成人av一区 | 黄在线 | 亚洲电影av在线 | 91色欧美| 免费观看特级毛片 | 色网站中文字幕 | av电影在线观看完整版一区二区 | 欧美极度另类 | 亚洲午夜大片 | 99在线观看视频 | 中文字幕一区2区3区 | 二区三区在线视频 | 久久久久久久久久久综合 | 在线观看亚洲a | 中文区中文字幕免费看 | 精品亚洲视频在线 | 久久涩涩网站 | 五月婷影院 | 黄色免费视频在线观看 | 手机在线看片日韩 | 亚洲精品九九 | 首页国产精品 | 狠狠狠狠狠狠狠狠 | 国产白浆视频 | 欧美性大战久久久久 | 日本资源中文字幕在线 | 涩涩网站在线看 | 亚洲日本一区二区在线 | 国产精品久久久久久久久久ktv | 国产一区在线视频 | 久久99精品久久久久蜜臀 | 午夜精品一区二区三区在线 | 色多多视频在线 | 免费在线观看av网址 | 97超碰在线视 | 一区二区三区在线不卡 | 91麻豆产精品久久久久久 | 国产精品久久久久久久久大全 | 久久97超碰| 悠悠av资源片 | 日韩网站免费观看 | www免费看| 免费看av在线 | 91在线视频免费观看 | 不卡的av在线 | 国产一区在线看 | 国产精品亚洲片在线播放 | 色中文字幕在线观看 | 天天操天天干天天干 | 午夜精品麻豆 | 免费观看91 | 99精品视频在线免费观看 | 精品一区二区在线免费观看 | 黄色a级片在线观看 | 亚洲精品久久在线 | 狠狠做深爱婷婷综合一区 | 免费观看性生交大片3 | 又色又爽又激情的59视频 | 中文字幕国产视频 | 国产久草在线 | 久久综合福利 | 手机色在线 | 久久久午夜精品理论片中文字幕 | 国产成人av在线影院 | 免费电影播放 | 久久午夜色播影院免费高清 | 日韩一级网站 | 欧美三级免费 | 91九色丨porny丨丰满6 | 69性欧美| 在线一区观看 | 国产中文字幕三区 | 婷婷亚洲综合五月天小说 | 911在线| 久久免视频| www.色综合.com | 国产精品夜夜夜一区二区三区尤 | 青青河边草免费 | 国产999久久久 | 97超碰资源站 | 精品国产一区二区三区四 | av电影中文 | 中文字幕在线免费观看 | 91免费视频国产 | 亚洲国产偷 | 911国产精品| 国产精品激情偷乱一区二区∴ | 九色精品免费永久在线 | 综合色爱 | 国产色视频网站2 | 久久嗨 | 亚洲久草网 | 91精品一区二区三区久久久久久 | 一区二区视频在线观看免费 | 狠狠色伊人亚洲综合网站野外 | 日韩中文字幕免费在线播放 | 又黄又爽的视频在线观看网站 | 2017狠狠干 | 久久久久亚洲精品成人网小说 | 亚洲jizzjizz日本少妇 | 国产精品自产拍在线观看桃花 | 国产一区二区在线免费观看 | 国产精品初高中精品久久 | 亚洲男女精品 | 九九九在线观看视频 | 亚洲国产精品成人综合 | 人人爽人人爽人人爽 | 国产99在线 | 国产精品视频全国免费观看 | 欧美午夜视频在线 | 在线一区观看 | 中文亚洲欧美日韩 | 亚洲欧洲国产精品 | 色综合久久久久综合体桃花网 | 欧美成年网站 | 91传媒在线观看 | 久久av电影 | 91黄视频在线观看 | 精品国产激情 | 久久久久五月天 | 91福利视频免费观看 | 麻豆视频免费看 | 精品一区二区在线观看 | 私人av| 日韩特黄一级欧美毛片特黄 | 国产精品成人久久久久久久 | 欧美日韩精品网站 | 日韩欧美精品一区二区 | 在线观看日韩精品 | 免费在线观看日韩 | 国产色久 | 久久人人爽人人爽人人片av软件 | 亚洲国产精品激情在线观看 | 伊人精品影院 | 五月婷在线 | 欧美成人91 | 天天爽夜夜爽人人爽一区二区 | 亚洲精品网页 | 免费视频 你懂的 | 欧美精品久久久久久久久老牛影院 | 在线你懂的视频 | 四虎在线观看网址 | 天天操 夜夜操 | 国产亚洲在线观看 | www最近高清中文国语在线观看 | 最新91在线视频 | 91精品视频在线观看免费 | 91精品国产乱码在线观看 | 四虎在线免费观看 | 免费看毛片网站 | 国产精品久久久网站 | 亚洲好视频| 国内成人精品2018免费看 | 久久视频这里有久久精品视频11 | 亚洲国产成人久久 | 乱子伦av | 99久久国产免费,99久久国产免费大片 | 成人免费xxxxxx视频 | 久久久资源网 | 亚洲经典中文字幕 | 亚洲精品视频在线看 | 四虎在线免费观看视频 | 婷婷激情5月天 | 久久短视频 | 三级a毛片| 亚洲3级| 特级西西444www大胆高清无视频 | 久草精品视频在线播放 | 国产精品国产自产拍高清av | 久久影院一区 | 亚洲精品高清视频在线观看 | 成年美女黄网站色大片免费看 | 亚洲精品国精品久久99热 | 中文字幕在线免费观看 | 日韩va欧美va亚洲va久久 | 国产视频色 | 97爱爱爱 | 日日夜夜天天综合 | 国产精成人品免费观看 | 欧美 国产 视频 | 久久久久女教师免费一区 | 亚洲欧美色婷婷 | 中文字幕av在线免费 | 日日夜夜天天人人 | 毛片精品免费在线观看 | 日韩久久午夜一级啪啪 | 日韩在线精品视频 | 日韩午夜电影院 | 色五月成人| 国产精品免费人成网站 | 中文字幕亚洲综合久久五月天色无吗'' | 色噜噜日韩精品一区二区三区视频 | 国产亚洲精品久久久久久电影 | 欧美性色综合网站 | 日韩一区二区三免费高清在线观看 | 在线观看视频你懂 | 国产成人久久精品77777综合 | 国产中文视频 | 探花视频在线版播放免费观看 | 天天干天天操天天干 | 欧美激情精品一区 | 国内外成人在线 | 91成人免费在线视频 | 日韩资源在线播放 | 久久国产电影院 | 成人av视屏 | 激情综合色播五月 | 永久中文字幕 | 黄色99视频 | 久久av福利| 欧美怡红院 | 欧美一级专区免费大片 | 国产精品露脸在线 | 久久在线精品 | 最新日韩在线观看视频 | 国产麻豆视频在线观看 | 一区在线播放 | 欧美日韩不卡在线 | 欧美一区二区伦理片 | 日日干美女 | 亚洲成年人av | 国产中文字幕视频在线观看 | 久久tv| 黄色三级视频片 | 久久成人在线视频 | 色久网| 在线高清av | 日韩理论片中文字幕 | 人人爽久久久噜噜噜电影 | 97碰在线 | 国产视频精选在线 | 五月婷婷在线观看 | 视色网站 | 久久永久免费 | 日本精品视频免费观看 | 三级黄色网址 | 99久久日韩精品视频免费在线观看 | 国产成在线观看免费视频 | 四虎在线免费观看 | 国产一级在线播放 | 超级碰碰碰视频 | 免费精品人在线二线三线 | 日韩在线视频一区 | 97超碰免费| 久久久久久中文字幕 | 国产精品资源 | 日本中文字幕在线观看 | 免费黄色在线网站 | 国产精品大片免费观看 | www欧美日韩 | 久草在线手机观看 | 69xxxx欧美 | 99免费在线视频观看 | 人人干人人超 | 美女视频黄免费的久久 | 亚洲精品网站 | 在线最新av | 色综合天天色 | 中文有码在线视频 | 四虎海外影库www4hu | 在线观看免费观看在线91 | 玖玖爱在线观看 | av高清一区 | 97超碰色 | 久久久久久久久艹 | 日韩va欧美va亚洲va久久 | 中文字幕中文字幕在线中文字幕三区 | 中文字幕 国产视频 | 国产亚洲视频在线观看 | 日本三级吹潮在线 | 欧美视频在线二区 | 国产亚洲字幕 | 黄色av一级片 | 亚洲一区二区三区miaa149 | 色五月激情五月 | 国产 日韩 在线 亚洲 字幕 中文 | 国产在线91在线电影 | 国产艹b视频 | 欧美午夜寂寞影院 | 欧美一区二区三区免费观看 | 成人国产精品一区二区 | 亚洲精品三级 | 日韩美女久久 | 免费av在线| 亚洲激情电影在线 | 日本在线中文 | 色婷婷亚洲婷婷 | 亚洲视频精选 | 国产精品黄色 | 色妞久久福利网 | 2020天天干夜夜爽 | 久久久视频在线 | 玖玖玖在线观看 | 久久精品2| 国产精品久久一区二区三区不卡 | 国产亚洲免费观看 | 2024av在线播放| 99国产精品视频免费观看一公开 | 欧美激情精品久久久久久变态 | 午夜色婷婷 | 日韩av电影中文字幕 | 国产精品初高中精品久久 | 久久99久国产精品黄毛片入口 | 国内精品久久久久久久久久久久 | 成人黄色小视频 | 欧美大片在线看免费观看 | 天天操天天插 | 午夜婷婷网 | 亚洲日日射 | 天堂av在线网 | 欧美视频不卡 | 奇米影视8888在线观看大全免费 | 九九久久成人 | 在线v片免费观看视频 | 国产黄色视 | 粉嫩av一区二区三区免费 | 久久999精品 | 久久免费看视频 | 亚洲精品在线看 | 亚洲国产mv| 国产小视频精品 | 丁香花中文字幕 | 99色亚洲| 色婷婷免费 | 国产精品99久久久久久武松影视 | 中文字幕日本电影 | 久久久久免费精品 | 久久99精品国产99久久 | 中文字幕国产 | 91精品对白一区国产伦 | 日韩视频1| 国产99免费视频 | 97视频在线看 | 激情五月五月婷婷 | 日韩小视频网站 | 日韩欧美在线高清 | 久草久 | 男女啪啪网站 | 97在线资源 | 一区二区三区免费在线观看 | av天天草| 97超碰成人在线 | 国产在线黄色 | 久久综合久久综合久久综合 | 久久精品在线免费观看 | 99精品欧美一区二区三区 | 久久影视网 | 91超碰免费在线 | 97日日| 中文字幕av日韩 | 国产男男gay做爰 | 香蕉日日 | 成人蜜桃 | 久草在线视频在线观看 | 国产精品观看在线亚洲人成网 | 欧美成人h版在线观看 | 国产精品99免视看9 国产精品毛片一区视频 | 在线国产日韩 | 视频福利在线 | av女优中文字幕在线观看 | 欧美日韩国产区 | 狠狠色丁香久久婷婷综 | a在线免费 | 国产在线精品区 | 国产麻豆精品一区二区 | 国产美女网站视频 | 2022中文字幕在线观看 | 97成人在线观看 | 碰超人人 | 超碰国产97 | 亚洲在线 | 亚洲精品国偷自产在线91正片 | 久久精品视频3 | 色com网 | 久久免费在线视频 | 成年人免费看 | 亚洲三级在线播放 | 精品国产色 | 开心色激情网 | 欧美成人中文字幕 | 久草综合视频 | 中文字幕一区二区三区乱码不卡 | 欧美一区中文字幕 | 青青久草在线视频 | 美女视频免费一区二区 | 国产精品9999久久久久仙踪林 | 在线免费观看视频你懂的 | 成人在线免费看 | 国产午夜一区二区 | 精品国产精品久久 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 天天五月天色 | 日韩丝袜 | 亚洲精品在线免费播放 | 一区三区视频在线观看 | 亚洲特级毛片 | 久久久精品网站 | 九九视频免费观看视频精品 | 欧美成人黄色 | 国产香蕉97碰碰碰视频在线观看 | 91爱看片 | 亚洲人成人天堂h久久 | 国产精品久久久一区二区三区网站 | 久久久久久免费视频 | 久久中文字幕视频 | 探花视频在线版播放免费观看 | 夜夜澡人模人人添人人看 | 亚州精品在线视频 | 97在线视 | 99精品区| 精品在线观看一区二区 | 国产99久久久国产 | 国产精品久久久av久久久 | 五月天六月婷 | 欧美性黑人 | 亚洲在线不卡 | 精品在线看 | 亚洲国产三级 | 成人免费观看av | 精品视频123区在线观看 | 在线观看久草 | 91九色视频在线播放 | 国产激情免费 | 久久亚洲欧美日韩精品专区 | 99精品视频99| 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 激情久久一区二区三区 | 国产在线观看一 | av看片在线 | 成人中文字幕+乱码+中文字幕 | 一二三四精品 | 成人影视免费看 | 99久久婷婷国产综合亚洲 | 在线观看黄色免费视频 | 最近中文字幕完整高清 | 中文字幕在线观看免费观看 | 亚洲一区动漫 | 欧美日本一二三 | 免费三级黄色片 | 精品天堂av | 国产999精品久久久影片官网 | 久av在线 | 综合色中文 | 四虎在线免费观看 | 国产首页 | 国产精品福利在线 | 懂色av懂色av粉嫩av分享吧 | 久久久亚洲麻豆日韩精品一区三区 | 亚洲干| 亚洲综合欧美激情 | 狠狠干夜夜操 | 精品视频www | 国产成人亚洲在线观看 | 亚洲精品乱码久久久久久按摩 | 三上悠亚在线免费 | 日韩中文在线视频 | a级国产乱理论片在线观看 特级毛片在线观看 | 国产成人久久久77777 | 亚洲乱码国产乱码精品天美传媒 | 亚洲成人av在线播放 | 久久久久国产a免费观看rela | 久久色视频 | 久久高清毛片 | 精品国产片 | 激情五月视频 | 婷婷丁香导航 | 久草在线观看视频免费 | 免费观看9x视频网站在线观看 | 91久久国产露脸精品国产闺蜜 | av福利网址导航 | 色偷偷中文字幕 | 精品国产网址 | 国产精品一区免费在线观看 | www黄在线 | 欧美久久99| 超碰久热| 亚洲一级片av| 丁香六月欧美 | 国产99在线播放 | 天天干天天操天天干 | 亚洲国产三级 | 九色91福利| 黄色片亚洲| 一级特黄aaa大片在线观看 | 欧美精品第一 | 国产精品入口久久 | 亚洲人成影院在线 | 国产精品久久久久久久久久ktv | 久久久久福利视频 | 日日爽夜夜爽 | 久久伊99综合婷婷久久伊 | 91在线精品视频 | 免费视频一区二区 | 欧美ⅹxxxxxx| 在线观看亚洲精品视频 | 亚洲免费精品一区二区 | 日本精品一区二区三区在线播放视频 | 激情久久网 | 国产精品久久久久9999吃药 | 天天搞天天干天天色 | 在线 视频 亚洲 | 成人av影视观看 | 久久精品中文字幕一区二区三区 | 蜜臀av夜夜澡人人爽人人 | 国产成人黄色网址 | 99c视频高清免费观看 | 日韩精品最新在线观看 | 国产在线国偷精品产拍 | 成人性生交大片免费看中文网站 | 九九九毛片 | 成年人黄色免费网站 | 福利一区在线 | 毛片在线网 | 看av免费 | 欧美成年人在线视频 | 日韩一区正在播放 | 97av精品 | 三级动图 | 久久久精品网站 | 国产色妞影院wwwxxx | 久久视频网 | av一区二区三区在线 | 久久人91精品久久久久久不卡 | 精品美女国产在线 | 色婷婷激婷婷情综天天 | 免费视频久久 | 久草| 日韩精品播放 | 最近中文字幕完整高清 | 日本护士三级少妇三级999 | 五月天婷婷在线观看视频 | 麻豆视频在线免费看 | 免费观看的黄色 | 婷婷五综合 | 特级片免费看 | 国产精品99久久免费观看 | 色婷婷福利视频 | 丁香花在线视频观看免费 | 欧美日韩成人一区 | 欧美一区,二区 | 美女黄频在线观看 | 精品国产精品久久 | 在线看的av网站 | 四虎免费av | 久久久电影网站 | 久久免费福利视频 | 成人91在线观看 | 亚洲精品乱码久久久久久高潮 | 2024国产精品视频 | 91中文在线| www.一区二区三区 | 日韩影视在线 | 91天天操 | 91精品国产91久久久久福利 | 在线观看视频福利 | 欧美在线观看视频一区二区三区 | 日日夜夜婷婷 | 香蕉一区 | 中文免费| 亚洲天堂毛片 | 日本在线视频网址 | 欧美国产不卡 | 九精品| 免费日韩一区二区三区 | 国产福利不卡视频 | www.午夜 | 国产一级视频免费看 | 欧美日韩精品免费观看视频 | 九九热在线免费观看 | 最新日韩在线观看视频 | 国内少妇自拍视频一区 | 国产资源网 | 久久久久久久久久亚洲精品 | 在线免费观看欧美日韩 | 狠狠天天 | 国产日韩欧美在线影视 | 在线观看中文字幕网站 | 日韩免费播放 | 国产精品久久久久婷婷 | 美女免费视频一区二区 | 天堂久色|