• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Android平臺下的TCP客戶機教學(xué)設(shè)計

    2018-11-16 09:35:28馬玉春喬麗娟汪文彬
    軟件 2018年10期
    關(guān)鍵詞:校驗碼客戶機主線

    馬玉春,劉 雍,喬麗娟,汪文彬

    ?

    Android平臺下的TCP客戶機教學(xué)設(shè)計

    馬玉春,劉 雍*,喬麗娟,汪文彬

    (海南熱帶海洋學(xué)院海南省嵌入式系統(tǒng)重點實驗室,海南 三亞 572022)

    移動互聯(lián)網(wǎng)正進入高速普及期,成功的產(chǎn)品和服務(wù)模式不斷向其他產(chǎn)業(yè)領(lǐng)域延伸滲透,其中最重要的技術(shù)之一就是數(shù)據(jù)的傳輸與處理。本文在Android平臺下對TCP通信任務(wù)進行分解,結(jié)合多線程技術(shù)、消息處理、數(shù)據(jù)編碼與校驗技術(shù)剖析了一個通用多功能TCP客戶機測試軟件的實現(xiàn)過程,從而達到較好的教學(xué)效果。

    Android;TCP客戶機;多線程;消息;編碼;校驗

    0 引言

    移動互聯(lián)網(wǎng)廣泛應(yīng)用于眾多領(lǐng)域,作為具體表現(xiàn)形式,可以用Android手機作為TCP客戶機監(jiān)測遠程對象的狀態(tài)或進行遠程控制。TCP客戶機需要跟TCP服務(wù)器建立連接,然后在后臺接收數(shù)據(jù),這涉及多線程的處理,另外對于一些耗時的工作,也必須采用多線程技術(shù),否則容易導(dǎo)致APP崩潰。主線程與TCP客戶機中運行的線程不在同一個空間,客戶機收到的數(shù)據(jù)不能直接發(fā)送到主線程供分析和處理,必須通過消息機制作為中介來完成此項工作。對于POP3協(xié)議,采用的是帶回車換行作為結(jié)尾碼的文本類型的協(xié)議;而對于遠程控制,則經(jīng)常采用帶校驗碼與結(jié)尾碼的字節(jié)型協(xié)議[1]。本文創(chuàng)建一個通用的TCP類,結(jié)合消息機制和多線程技術(shù),既可以用來開發(fā)TCP客戶機應(yīng)用,又可以用來開發(fā)TCP服務(wù)器應(yīng)用;TCP類與數(shù)據(jù)的編碼與校驗相結(jié)合,完成一個通用TCP客戶機軟件工具,可以完成多項工作,具體功能將在軟件測試方面進行展開,其工作模型如圖1所示。

    圖1 TCP客戶機工作模型

    1 消息機制

    消息處理類Handler允許發(fā)送和處理Message或Runnable對象到其所在線程的消息隊列中,每個Handler類的實例都與一個線程及其消息隊列相聯(lián)系,當(dāng)創(chuàng)建一個Handler實例時,這個實例就綁定到創(chuàng)建該實例的線程和消息隊列中。Handler類采用post方法將Runnable對象發(fā)送到所在線程的消息隊列中排隊執(zhí)行,可以立即發(fā)送,也可以延遲發(fā)送,延遲的時間單位為毫秒。Handler類通過send-Message方法將消息發(fā)送到所在線程,可以立即發(fā)送(空)消息,也可以延遲發(fā)送(空)消息,消息中含有需要傳遞到主線程中的數(shù)據(jù)以及消息識別代碼。Handler的handleMessage是一個自動回調(diào)方法,需要根據(jù)實際功能重寫,圖1中TCP客戶機在主線程的handleMessage方法中處理TCP客戶機類的對象所收到的數(shù)據(jù)[2]。

    盡管Message類有默認的構(gòu)造方法,但通常采用Handler對象的obtainMessage方法來獲得并初始化一個Message對象,指定表1所示的參數(shù),其中what用來標(biāo)識消息,如果需要向主線程傳遞整型變量,直接設(shè)置arg1和arg2的值;如果不需要,缺省設(shè)置為0即可。obj是Object類型,也就是通用類型,可以是任何類型的數(shù)據(jù),但不能是基類型,因而,字節(jié)數(shù)組必須轉(zhuǎn)換成ByteBuffer類型的對象。

    表1 Message類的常用屬性

    Tab.1 Common attributes of message class

    在教學(xué)設(shè)計上,可以安排一個簡單的時鐘軟件項目,用Handler對象每過1秒鐘發(fā)送一個空消息,在主線程的handleMessage方法中更新用戶界面中的時鐘信息。也可以安排一個監(jiān)控手機返回鍵的軟件項目,避免不小心按下返回鍵即退出應(yīng)用軟件。當(dāng)?shù)谝淮伟聪路祷劓I時,過兩秒復(fù)位返回鍵,否則,在兩秒之內(nèi)第二次按下返回鍵即退出當(dāng)前軟件。這兩個軟件項目都比較簡單,而且可以用來較好地理解消息機制[3]。

    2 多線程技術(shù)

    在Android系統(tǒng)中,所有的操作默認情況下都是在主線程中進行,對于一些比較耗時的操作或者需要并行完成的操作,通常使用一個獨立的線程來執(zhí)行。獲取IP地址是一個耗時的工作,需要使用多線程,并在其中使用上一節(jié)的消息機制將IP地址提交到主線程。

    這里以獲取Wi-Fi的IP地址為例。在多線程對象中調(diào)用getSystemService方法傳入系統(tǒng)參數(shù)從而獲得WifiManager對象,然后調(diào)用該對象的getConnectionInfo方法獲取連接信息,從而進一步調(diào)用getIpAddress方法獲取int類型的IP地址,可以將此IP地址轉(zhuǎn)換為文本形式的格式化IP地址。在主線程中通過Thread對象的start方法啟動該多線程,在其中啟用Handler對象的消息機制,將文本形式的IP地址傳送到主線程進行顯示[4]。

    在教學(xué)設(shè)計上,可以安排一個用于獲取IP地址的多線程軟件項目,在主線程啟動多線程獲取IP地址,通過handleMessage回調(diào)方法在主線程中獲取IP地址信息并顯示。如果不使用多線程技術(shù),則軟件將直接崩潰。該項目邏輯簡單,但是,能夠較好地說明多線程的作用。

    3 TCP類

    文獻[5]設(shè)計了一個TCP服務(wù)器類,并在此基礎(chǔ)之上構(gòu)建了一個TCP服務(wù)器軟件。TCP客戶機與TCP服務(wù)器有相似之處,都要建立連接,連接成功后即采用多線程技術(shù)在后臺讀取收到的數(shù)據(jù),然后通過消息機制將收到的數(shù)據(jù)提交到主線程。TCP通信具有普遍性,這里創(chuàng)建一個Library共享類庫項目,在其中創(chuàng)建一個TcpClientServer類,使其既支持TCP客戶機,又支持TCP服務(wù)器。

    表2 TcpClientServer類中的自定義消息

    Tab.2 Custom messages in the TcpClientServer class

    TcpClientServer類中所定義的消息如表2所示,無論是工作在客戶機或服務(wù)器模式,如果軟件收到"Interval?! ",則立即返回"OK! ",同時向主線程發(fā)送消息MSG_ReplyOK,該方法從接收數(shù)據(jù)到返回數(shù)據(jù),中間沒有耽誤任何時間,因而,可以用來測試客戶機與服務(wù)器之間的時間距離,為軟件研發(fā)提供參數(shù)設(shè)置支持。其他為常規(guī)消息,主線程收到MSG_Connected消息,可以進入發(fā)送數(shù)據(jù)環(huán)節(jié);收到MSG_Closed消息即可釋放資源;收到MSG_ DataArrived消息,即可提取表1所示的obj數(shù)據(jù),利用下一節(jié)的編碼與校驗技術(shù)對數(shù)據(jù)進行檢查,如果正確再執(zhí)行相關(guān)操作。

    在TcpClientServer類中設(shè)置兩個構(gòu)造函數(shù),都設(shè)置Handler參數(shù),用于進行消息傳遞。兩個構(gòu)造函數(shù)不同部分是,如果僅設(shè)置端口地址,則TcpClie-ntServer類作為TCP服務(wù)器使用;如果設(shè)置了主機名稱(或IP地址)和端口地址,則TcpClient-Server類作為TCP客戶機使用。在服務(wù)器工作模式下,初始化ServerSocket類時傳入端口地址,得到Server-Socket對象,再調(diào)用accept方法,客戶機與服務(wù)器連接成功,即可得到Socket對象;在客戶機工作模式下,直接初始化Socket類得到其實例,然后調(diào)用其connect方法,傳入遠程主機名稱、端口地址以及連接延遲三個參數(shù),即可與遠程服務(wù)器建立連接[6]。本文研發(fā)的通用客戶機測試軟件采用后一種工作模式。

    得到Socket類的實例后,如果采用文本協(xié)議進行TCP通信,則調(diào)用其getInputStream方法得到輸入流對象,然后依次獲得InputStreamReader和Buff-eredReader對象,最后啟動多線程通過Buffered-Re-ader對象在后臺讀取文本數(shù)據(jù),通過MSG_Data--Arrived消息將收到的數(shù)據(jù)提交到主線程。相應(yīng)地,通過Socket類的實例的getOutputStream方法得到輸出流對象,然后依次獲得Output-Stream-Writer和Bu-fferedWriter對象,這樣,主線程即可通過Bu-fferedWriter對象發(fā)送文本數(shù)據(jù)。如果采用字節(jié)協(xié)議進行TCP通信,則采用BufferedInput-Stream對象在后臺讀取字節(jié)數(shù)據(jù),主線程則通過BufferedOut-putStream對象發(fā)送字節(jié)數(shù)據(jù)。

    在教學(xué)設(shè)計上,先實現(xiàn)客戶機工作模式,與POP3服務(wù)器連接后,實現(xiàn)文本數(shù)據(jù)的接收與發(fā)送,再進一步過渡到字節(jié)數(shù)據(jù)的接收與發(fā)送。對應(yīng)地,接著實現(xiàn)服務(wù)器工作模式,跟完成的客戶機軟件建立連接,分別實現(xiàn)文本數(shù)據(jù)的接收與發(fā)送,再實現(xiàn)字節(jié)數(shù)據(jù)的接收與發(fā)送。當(dāng)客戶機軟件和服務(wù)器軟件都實現(xiàn)以后,將TCP客戶機類與服務(wù)器類綜合為一個類,即TcpClientServer,這樣可以方便代碼的維護。

    4 編碼與校驗

    TcpClientServer類既可以收發(fā)文本數(shù)據(jù),也可收發(fā)字節(jié)數(shù)據(jù)。對于一個字節(jié),有多種不同表達方式,分別用于不同的場景,如表3所示(普通字符列的“-”表示不可見字符)。如果某設(shè)備采用字節(jié)型協(xié)議,為了對該設(shè)備進行測試,則需要將收到的數(shù)據(jù)轉(zhuǎn)換為16進制字符串形式;而字節(jié)數(shù)據(jù)也可以用16進制字符串來表示,因為字符串方便進行連接,在需要發(fā)送的時候,再轉(zhuǎn)換為字節(jié)數(shù)據(jù);如果客戶機與服務(wù)器之間采用文本協(xié)議,則直接采用“普通字符”即可。

    表3 字節(jié)的不同表示方法

    Tab.3 Different representations of bytes

    為了適應(yīng)各種數(shù)據(jù)的傳輸,在Library類庫項目中創(chuàng)建ByteProcess類,用bytesToHexChars靜態(tài)函數(shù)實現(xiàn)字節(jié)數(shù)組到16進制字符串的轉(zhuǎn)換,用hexCharsToBytes靜態(tài)函數(shù)實現(xiàn)16進制字符串到字節(jié)數(shù)組的轉(zhuǎn)換;用enStringToBytes靜態(tài)函數(shù)實現(xiàn)普通字符串到字節(jié)數(shù)組的轉(zhuǎn)換,通過bytesToEnString靜態(tài)函數(shù)實現(xiàn)字節(jié)數(shù)組到普通字符串的轉(zhuǎn)換;用enStringToHexChars靜態(tài)函數(shù)實現(xiàn)普通字符到16進制字符串的轉(zhuǎn)換,通過hexCharsToEnString靜態(tài)函數(shù)實現(xiàn)16進制字符串到普通字符串的轉(zhuǎn)換。

    編碼只是解決了數(shù)據(jù)傳輸?shù)男问?,而不能保證數(shù)據(jù)傳輸?shù)恼_性,因而,需要對傳輸?shù)臄?shù)據(jù)進行校驗。TCP/IP協(xié)議采用累加求補方式,即對于需要發(fā)送的字節(jié)數(shù)組,累加所有字(即每兩個字節(jié)作為一個字),然后將結(jié)果的低位字與高位字相加,最后將結(jié)果取反并取低位字,此即累加求補校驗碼[2]。計算所得的校驗碼一般放在需要發(fā)送的數(shù)據(jù)后面,對方收到數(shù)據(jù)后,重新計算校驗碼,如果收到的校驗碼和計算所得校驗碼相等,則說明收到的數(shù)據(jù)正確,就進一步處理,否則直接丟棄。累加求補校驗碼有其特殊性,對包含累加求補校驗碼的數(shù)據(jù)包進行驗證,只要整體校驗碼計算結(jié)果為0,即說明數(shù)據(jù)正確。相似地,異或校驗碼和循環(huán)冗余校驗碼也有此特性。

    累加和校驗碼只需要將待發(fā)送的字節(jié)進行累加取低字節(jié),異或校驗碼只需要將待發(fā)送的字節(jié)逐個異或。循環(huán)冗余(CRC)校驗碼的算法比較復(fù)雜,其基本思想是將需要發(fā)送的數(shù)據(jù)包當(dāng)作一個系數(shù)為0或1的多項式。多項式的算術(shù)運算采用代數(shù)域的理論規(guī)則,以2為模進行,即加法沒有進位,減法沒有借位,加法與減法都等同于異或。長除法與二進制中的長除運算類似,只是減法按照模2進行[7]。在Library類庫項目中,添加Parity類,分別實現(xiàn)以上各種校驗碼的計算及數(shù)據(jù)包的校驗。

    在編碼與校驗的教學(xué)設(shè)計上,設(shè)置斷點比較高效,采用“Debug As”模式跟蹤數(shù)據(jù)的變化,逐個完成數(shù)據(jù)編碼轉(zhuǎn)換函數(shù)及校驗碼的計算過程。POP3之類的應(yīng)用層協(xié)議需要添加回車換行符作為結(jié)尾碼,有的設(shè)備需要使用回車符作為結(jié)尾碼[8]。結(jié)尾碼的添加與檢驗比較簡單,這里不再贅述。

    5 軟件測試

    新建TcpClient項目,引用以上Library共享類庫,依次導(dǎo)入TcpClientServer類、ByteProcess類和Parity類,設(shè)計好軟件界面,即可快速搭建一個通用TCP客戶機軟件,其運行效果如圖2所示。圖2中左側(cè)用來顯示數(shù)據(jù),上面的單行文本框顯示當(dāng)前數(shù)據(jù),下面的多行文本框顯示歷史數(shù)據(jù)。右側(cè)為參數(shù)設(shè)置,這里連接的是163的POP3服務(wù)器,顯示模式(Display Mode)為字符型(Char),校驗方式(Parity Sort)為無校驗碼(None),結(jié)尾碼(End Mark)為回車換行(CRLF),自動大寫待發(fā)送的數(shù)據(jù),收到數(shù)據(jù)以后播放提示音。圖中為點擊【Connect】按鈕與POP3服務(wù)器建立連接以后的會話情況。

    圖2 TCP客戶機軟件界面

    將計算機當(dāng)做一個協(xié)議轉(zhuǎn)換器,手機與計算機同時處于一個無線Wi-Fi網(wǎng)段內(nèi),計算機以TCP服務(wù)器的方式工作,則此TCP客戶機可以連接此TCP服務(wù)器[9]。計算機同時連接RS485工業(yè)控制總線的設(shè)備,協(xié)議轉(zhuǎn)換器將從手機TCP客戶機收到的信息轉(zhuǎn)發(fā)到RS485設(shè)備,再將RS485設(shè)備的響應(yīng)轉(zhuǎn)發(fā)到手機的TCP客戶機,這樣即可用此TCP客戶機對多種編碼、校驗碼類型的設(shè)備進行測試[10]。其測試工作原理如圖3所示。

    圖3 TCP客戶機用于測試RS485設(shè)備

    6 結(jié)語

    本文從教學(xué)設(shè)計的角度,將知識點進行分解,介紹了Android軟件設(shè)計中常用的消息機制和多線程技術(shù),并用于通用TCP類。通過對TCP客戶機與服務(wù)器的分析,將兩者綜合起來,共享其數(shù)據(jù)接收與發(fā)送功能,降低了軟件維護成本。最后引入編碼與校驗技術(shù),使得TCP軟件傳輸?shù)臄?shù)據(jù)適應(yīng)多種編碼方式,又不失可靠性。采用移動互聯(lián)網(wǎng)實現(xiàn)通用TCP客戶機,可以對工業(yè)控制總線設(shè)備及基本的TCP應(yīng)用層協(xié)議進行測試,有效增加了測試的便攜性。

    [1] 王小科, 寇長梅. Android入門經(jīng)典[M]. 機械工業(yè)出版社, 2013: 358-363.

    [2] 馬玉春. 計算機監(jiān)控系統(tǒng)的仿真開發(fā)[M]. 北京: 國防工業(yè)出版社, 2015: 198-226, 21-24.

    [3] 劉雍, 孫冰, 馬玉春. 基于消息驅(qū)動的Android TCP服務(wù)器類的設(shè)計[J]. 海南熱帶海洋學(xué)院學(xué)報. 2017(2): 59-63.

    [4] 楊宗德, 劉雍, 呂光宏. Linux高級程序設(shè)計[M]. 第三版. 北京: 人民郵電出版社, 2012: 305-309.

    [5] 馬玉春, 汪文彬, 李應(yīng)勇. 基于TCP客戶機的計算機監(jiān)控系統(tǒng)測試軟件的設(shè)計[J]. 軟件. 2014, 35(5): 1-3+12.

    [6] 馬程, 魏怡卓, 曹瑜, 等. 老人意外跌倒遠程智能監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J]. 軟件, 2018, 39(3): 209-217.

    [7] 毛昊. 一種服務(wù)于Android 移動設(shè)備的自適應(yīng)滾屏技術(shù)[J]. 軟件, 2018, 39(3): 145-149.

    [8] 呂媛媛, 李可. 移動端應(yīng)用設(shè)計中的響應(yīng)式實現(xiàn)方法[J]. 軟件, 2016, 37(0): 107-109.

    [9] Guolin. Android ListView工作原理完全解析, 帶你從源碼的角度徹底理解. 2015.

    [10] 耿祥義, 張躍平. Android手機程序設(shè)計實用教程[M]. 清華大學(xué)出版社. 2013: 258-261.

    Instructional Design of TCP Client on Android Platform

    MA Yu-chun, LIU Yong*, QIAO Li-juan, WANG Wen-bin

    (Hainan Key Laboratory of Embedded Systems at Hainan Tropic Ocean University, Sanya, Hainan 572022, China)

    The mobile Internet is entering a period of high-speed popularization. Successful products and service models continue to penetrate into other industry fields. However, one of the most important technologies is the transmission and processing of data. This paper analyses the TCP communication on Android platform, including message processing, thread technology, data encoding and verification, in order to display the desired teaching effect. Finally, the general TCP client is developed and tested based on these technologies.

    Android; TCP client; Thread; Message; Encode; Verification

    TP311.56

    A

    10.3969/j.issn.1003-6970.2018.10.004

    海南省高等學(xué)校教育教學(xué)改革研究項目(批準號:Hnjg2018-57);三亞市院地科技合作項目(批準號:2015YD03)

    馬玉春(1969-),男,教授,中國計算機學(xué)會高級會員(編號:06544S),主要研究方向:移動應(yīng)用與計算機監(jiān)控技術(shù);喬麗娟(1981-),女,副教授,主要研究方向:計算機網(wǎng)絡(luò)與移動應(yīng)用;汪文彬(1969-),男,教授,主要研究方向:進化計算與軟件測試。

    劉雍(1979-),女,副教授,主要研究方向:移動應(yīng)用與嵌入式系統(tǒng)。

    馬玉春,劉雍,喬麗娟,等. Android平臺下的TCP客戶機教學(xué)設(shè)計[J]. 軟件,2018,39(10):14-17

    猜你喜歡
    校驗碼客戶機主線
    Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
    人物報道的多維思考、主線聚焦與故事呈現(xiàn)
    活力(2019年17期)2019-11-26 00:42:32
    更加突出主線 落實四個到位 推動主題教育取得實實在在成效
    數(shù)字主線
    基于Excel實現(xiàn)書號校驗碼的驗證
    基于FPGA的循環(huán)冗余校驗碼設(shè)計
    電子世界(2015年14期)2015-11-07 05:32:29
    身份證號碼中的數(shù)學(xué)
    下沉和整合 遼寧醫(yī)改主線
    基于FPGA和NAND Flash的存儲器ECC設(shè)計與實現(xiàn)
    電子科技(2012年10期)2012-06-23 06:42:46
    瘦客戶機:安全與便捷的選擇
    亚洲国产精品合色在线| 麻豆久久精品国产亚洲av| 人成视频在线观看免费观看| 91字幕亚洲| 在线观看舔阴道视频| 日韩一卡2卡3卡4卡2021年| 女性生殖器流出的白浆| 国产野战对白在线观看| 色av中文字幕| 男人操女人黄网站| av视频在线观看入口| 露出奶头的视频| av在线播放免费不卡| 精品福利观看| 久久 成人 亚洲| 日本三级黄在线观看| 一级作爱视频免费观看| 国产一区二区三区在线臀色熟女| 亚洲精品在线观看二区| 日本一本二区三区精品| 青草久久国产| 99久久无色码亚洲精品果冻| 俄罗斯特黄特色一大片| 久久精品aⅴ一区二区三区四区| 精品不卡国产一区二区三区| 亚洲欧美日韩高清在线视频| 亚洲精品中文字幕一二三四区| 免费在线观看完整版高清| 一区福利在线观看| 亚洲,欧美精品.| 久久久精品欧美日韩精品| 一卡2卡三卡四卡精品乱码亚洲| 国产成人精品久久二区二区91| 成人三级黄色视频| 国产成人欧美| 婷婷精品国产亚洲av| 中文字幕久久专区| 中文在线观看免费www的网站 | 成人手机av| 国产成人精品无人区| 久久久久久大精品| 亚洲精品美女久久av网站| 久久精品aⅴ一区二区三区四区| 亚洲成人久久性| 欧美日韩黄片免| 亚洲专区国产一区二区| 欧美不卡视频在线免费观看 | 99国产精品一区二区三区| 中文字幕高清在线视频| 精品一区二区三区av网在线观看| 亚洲一码二码三码区别大吗| 国产高清激情床上av| 欧美成人午夜精品| 久久久久精品国产欧美久久久| 一级片免费观看大全| 欧美午夜高清在线| 亚洲熟女毛片儿| 天堂影院成人在线观看| av超薄肉色丝袜交足视频| 国产精品av久久久久免费| www.999成人在线观看| 亚洲精品一区av在线观看| 999久久久国产精品视频| 又紧又爽又黄一区二区| 中文字幕精品免费在线观看视频| 国产亚洲精品av在线| 丁香六月欧美| 一级毛片女人18水好多| 国产又黄又爽又无遮挡在线| 国内久久婷婷六月综合欲色啪| 熟女少妇亚洲综合色aaa.| 国产区一区二久久| 国产麻豆成人av免费视频| 国产av又大| 嫁个100分男人电影在线观看| 久久精品91无色码中文字幕| 国产精品 国内视频| 久久久精品欧美日韩精品| 久久香蕉国产精品| 天堂√8在线中文| 18禁国产床啪视频网站| 宅男免费午夜| 国产欧美日韩一区二区三| 男女下面进入的视频免费午夜 | 国产精品av久久久久免费| 欧美性猛交╳xxx乱大交人| 嫩草影院精品99| 欧美性猛交╳xxx乱大交人| or卡值多少钱| 极品教师在线免费播放| 国产精品精品国产色婷婷| 日韩视频一区二区在线观看| 成人免费观看视频高清| 亚洲中文av在线| 视频区欧美日本亚洲| 欧美日韩中文字幕国产精品一区二区三区| 亚洲成av片中文字幕在线观看| 亚洲精品色激情综合| 亚洲av美国av| 美女大奶头视频| 亚洲人成网站在线播放欧美日韩| 国产精品免费视频内射| 午夜视频精品福利| 日韩欧美国产一区二区入口| 国产成人系列免费观看| 久久国产乱子伦精品免费另类| 日韩精品免费视频一区二区三区| 久久99热这里只有精品18| 国产黄a三级三级三级人| 中文字幕另类日韩欧美亚洲嫩草| 欧美黑人巨大hd| 在线观看免费日韩欧美大片| 国产国语露脸激情在线看| 精品日产1卡2卡| 制服人妻中文乱码| 亚洲午夜理论影院| 在线国产一区二区在线| 免费在线观看视频国产中文字幕亚洲| 国产精品一区二区精品视频观看| 精品国产亚洲在线| 亚洲精品一区av在线观看| 男女下面进入的视频免费午夜 | 日日干狠狠操夜夜爽| 69av精品久久久久久| 操出白浆在线播放| 午夜久久久在线观看| 久久 成人 亚洲| 国产免费男女视频| 亚洲一区二区三区色噜噜| 欧美+亚洲+日韩+国产| 久久精品人妻少妇| 国产99白浆流出| 日韩欧美 国产精品| 韩国精品一区二区三区| av天堂在线播放| 男人舔女人下体高潮全视频| 亚洲精品粉嫩美女一区| 久久久久九九精品影院| 精品久久蜜臀av无| 色播在线永久视频| 精品一区二区三区视频在线观看免费| 国产在线观看jvid| 国产精品日韩av在线免费观看| 俺也久久电影网| 国产成人啪精品午夜网站| 在线观看舔阴道视频| 999精品在线视频| 一区二区日韩欧美中文字幕| 国产精品精品国产色婷婷| 好男人在线观看高清免费视频 | 宅男免费午夜| 亚洲七黄色美女视频| 精品熟女少妇八av免费久了| 国产av一区在线观看免费| 欧美日韩瑟瑟在线播放| 久久久久亚洲av毛片大全| 88av欧美| or卡值多少钱| 久久天躁狠狠躁夜夜2o2o| 欧美黄色淫秽网站| 中文字幕久久专区| 亚洲成人免费电影在线观看| 国产蜜桃级精品一区二区三区| 欧美zozozo另类| 精品午夜福利视频在线观看一区| 91九色精品人成在线观看| 日韩免费av在线播放| 亚洲熟妇中文字幕五十中出| 亚洲五月婷婷丁香| 天堂影院成人在线观看| 777久久人妻少妇嫩草av网站| 亚洲第一av免费看| 国产伦人伦偷精品视频| 夜夜夜夜夜久久久久| 国产成人精品久久二区二区免费| 一区二区三区高清视频在线| 欧美激情 高清一区二区三区| 视频在线观看一区二区三区| 亚洲精品国产一区二区精华液| 一本大道久久a久久精品| 变态另类成人亚洲欧美熟女| 亚洲中文字幕一区二区三区有码在线看 | 91大片在线观看| 日韩大尺度精品在线看网址| 国产99久久九九免费精品| 亚洲一区二区三区不卡视频| 中文字幕av电影在线播放| 亚洲专区字幕在线| 757午夜福利合集在线观看| 亚洲三区欧美一区| 久久精品人妻少妇| 美女高潮喷水抽搐中文字幕| 日韩三级视频一区二区三区| 精品欧美国产一区二区三| 婷婷丁香在线五月| 精品久久久久久久人妻蜜臀av| 丝袜在线中文字幕| 老汉色∧v一级毛片| 国产精品香港三级国产av潘金莲| 香蕉av资源在线| a级毛片a级免费在线| 国产高清有码在线观看视频 | 亚洲精品一区av在线观看| 一进一出好大好爽视频| 国产亚洲精品久久久久5区| 日本 欧美在线| e午夜精品久久久久久久| 男男h啪啪无遮挡| 少妇的丰满在线观看| 午夜久久久在线观看| 亚洲精品av麻豆狂野| 欧美乱色亚洲激情| 真人做人爱边吃奶动态| 久久国产亚洲av麻豆专区| 成人永久免费在线观看视频| 亚洲精品在线美女| av在线播放免费不卡| 一二三四社区在线视频社区8| 亚洲人成77777在线视频| 在线观看免费日韩欧美大片| www国产在线视频色| 亚洲欧美日韩高清在线视频| 手机成人av网站| 日本免费一区二区三区高清不卡| 国产高清激情床上av| 嫩草影院精品99| 两性夫妻黄色片| 国产av又大| 亚洲欧美精品综合久久99| 国产成人av激情在线播放| 搞女人的毛片| 97碰自拍视频| 18禁国产床啪视频网站| 大型av网站在线播放| 91国产中文字幕| 日韩欧美在线二视频| 国产亚洲精品一区二区www| 日本免费一区二区三区高清不卡| 男女下面进入的视频免费午夜 | 国产精品,欧美在线| 欧美性猛交黑人性爽| 国产精品 国内视频| 国产亚洲欧美在线一区二区| 亚洲精品国产精品久久久不卡| 1024视频免费在线观看| 国产日本99.免费观看| 日日摸夜夜添夜夜添小说| 国产黄片美女视频| 夜夜看夜夜爽夜夜摸| 99国产极品粉嫩在线观看| 美女高潮喷水抽搐中文字幕| a级毛片在线看网站| 欧美成人一区二区免费高清观看 | 一本精品99久久精品77| 精品国内亚洲2022精品成人| 中文字幕高清在线视频| 91老司机精品| 黄片播放在线免费| 久久青草综合色| 高潮久久久久久久久久久不卡| 看片在线看免费视频| 老司机在亚洲福利影院| 日韩国内少妇激情av| 亚洲熟女毛片儿| 亚洲成人精品中文字幕电影| 色在线成人网| 久久精品夜夜夜夜夜久久蜜豆 | 成人亚洲精品av一区二区| 性欧美人与动物交配| www国产在线视频色| 国产精品永久免费网站| 一级毛片高清免费大全| 看黄色毛片网站| 欧美激情久久久久久爽电影| 精品福利观看| 又紧又爽又黄一区二区| 久久国产精品男人的天堂亚洲| 丝袜美腿诱惑在线| 一级作爱视频免费观看| 国内精品久久久久精免费| 999久久久精品免费观看国产| 97人妻精品一区二区三区麻豆 | 亚洲七黄色美女视频| 久久这里只有精品19| 久久国产亚洲av麻豆专区| 国产精品影院久久| 国产91精品成人一区二区三区| 久久中文字幕一级| 日韩有码中文字幕| 中文在线观看免费www的网站 | 久久精品91蜜桃| 亚洲第一av免费看| 久久久精品欧美日韩精品| 亚洲人成电影免费在线| 中文在线观看免费www的网站 | 欧美精品亚洲一区二区| 亚洲精品在线观看二区| 日本精品一区二区三区蜜桃| 中国美女看黄片| 精品久久久久久成人av| 免费无遮挡裸体视频| 亚洲第一av免费看| a级毛片a级免费在线| 一本久久中文字幕| 久久人妻av系列| 777久久人妻少妇嫩草av网站| 国产不卡一卡二| 99久久无色码亚洲精品果冻| 首页视频小说图片口味搜索| xxx96com| 精品国产亚洲在线| 久久亚洲精品不卡| av视频在线观看入口| 熟女少妇亚洲综合色aaa.| 搞女人的毛片| 中文字幕高清在线视频| 免费在线观看影片大全网站| 国产黄a三级三级三级人| 给我免费播放毛片高清在线观看| 亚洲人成网站高清观看| 色哟哟哟哟哟哟| 久久99热这里只有精品18| or卡值多少钱| 男人操女人黄网站| 两个人看的免费小视频| 欧美日韩黄片免| АⅤ资源中文在线天堂| 国产精品久久久久久人妻精品电影| 成人三级做爰电影| 天天一区二区日本电影三级| 午夜福利在线在线| 国内毛片毛片毛片毛片毛片| 国产成人欧美在线观看| 看黄色毛片网站| 国产av在哪里看| 免费看美女性在线毛片视频| 亚洲人成伊人成综合网2020| 一级毛片精品| 婷婷精品国产亚洲av在线| 成人午夜高清在线视频 | 又紧又爽又黄一区二区| 一a级毛片在线观看| 欧美日韩亚洲综合一区二区三区_| 国产单亲对白刺激| 亚洲色图av天堂| 欧美在线黄色| 69av精品久久久久久| 在线播放国产精品三级| 精品少妇一区二区三区视频日本电影| 日本 av在线| 午夜免费激情av| 热re99久久国产66热| 日本免费一区二区三区高清不卡| 亚洲熟妇中文字幕五十中出| 黄片大片在线免费观看| √禁漫天堂资源中文www| 又紧又爽又黄一区二区| 啦啦啦 在线观看视频| 国产区一区二久久| 一本综合久久免费| 精华霜和精华液先用哪个| 国产高清有码在线观看视频 | 国产精品精品国产色婷婷| 特大巨黑吊av在线直播 | 听说在线观看完整版免费高清| 久久精品国产99精品国产亚洲性色| 两性午夜刺激爽爽歪歪视频在线观看 | 午夜成年电影在线免费观看| 欧美乱色亚洲激情| 波多野结衣av一区二区av| 色精品久久人妻99蜜桃| 国内久久婷婷六月综合欲色啪| 在线观看66精品国产| 啦啦啦 在线观看视频| 99久久精品国产亚洲精品| 91九色精品人成在线观看| 久久久久久九九精品二区国产 | 午夜福利一区二区在线看| 中文字幕另类日韩欧美亚洲嫩草| 中出人妻视频一区二区| 国产一区二区三区视频了| 日韩欧美免费精品| 国产精品 欧美亚洲| 天天一区二区日本电影三级| 免费av毛片视频| 丝袜人妻中文字幕| 欧美最黄视频在线播放免费| 神马国产精品三级电影在线观看 | 亚洲精品中文字幕一二三四区| 色av中文字幕| 一边摸一边做爽爽视频免费| 国产成年人精品一区二区| 日本一区二区免费在线视频| 欧美日本视频| 国产主播在线观看一区二区| 午夜精品久久久久久毛片777| 一级毛片精品| 人人妻,人人澡人人爽秒播| 成人午夜高清在线视频 | 巨乳人妻的诱惑在线观看| a级毛片在线看网站| 国产激情偷乱视频一区二区| 日韩欧美一区视频在线观看| 在线观看午夜福利视频| 黄色a级毛片大全视频| 97人妻精品一区二区三区麻豆 | 国产亚洲欧美98| 黑人巨大精品欧美一区二区mp4| 亚洲中文av在线| 老司机午夜十八禁免费视频| 欧美不卡视频在线免费观看 | 亚洲国产毛片av蜜桃av| 18美女黄网站色大片免费观看| 可以在线观看毛片的网站| 国产不卡一卡二| 亚洲五月婷婷丁香| 丁香六月欧美| 国产高清激情床上av| 欧美成狂野欧美在线观看| 亚洲av中文字字幕乱码综合 | 女人被狂操c到高潮| 亚洲五月色婷婷综合| 国产一区二区激情短视频| 欧美一级毛片孕妇| 亚洲精品中文字幕在线视频| 免费看美女性在线毛片视频| 高清在线国产一区| 国产精品影院久久| 十八禁人妻一区二区| 啦啦啦观看免费观看视频高清| 男人舔女人的私密视频| 国产黄色小视频在线观看| 中文字幕最新亚洲高清| 久久精品91蜜桃| 香蕉丝袜av| 黄色a级毛片大全视频| 美女免费视频网站| 一边摸一边抽搐一进一小说| 99热这里只有精品一区 | 久久香蕉国产精品| 欧美中文综合在线视频| 色婷婷久久久亚洲欧美| 国产欧美日韩一区二区三| 国产成人精品久久二区二区91| 国产熟女午夜一区二区三区| 中文字幕精品免费在线观看视频| 国产av不卡久久| 久久久国产成人精品二区| 久久国产精品影院| 岛国视频午夜一区免费看| av片东京热男人的天堂| 黄网站色视频无遮挡免费观看| 亚洲无线在线观看| xxx96com| 日韩 欧美 亚洲 中文字幕| 两性夫妻黄色片| 国产亚洲精品综合一区在线观看 | 老熟妇仑乱视频hdxx| 欧美成人性av电影在线观看| 亚洲av中文字字幕乱码综合 | 国产v大片淫在线免费观看| 欧美成人午夜精品| 色综合站精品国产| 天堂影院成人在线观看| 国产在线观看jvid| 成人手机av| 激情在线观看视频在线高清| 淫秽高清视频在线观看| 免费在线观看成人毛片| 亚洲精品一卡2卡三卡4卡5卡| 黄色女人牲交| 亚洲免费av在线视频| 国产精品国产高清国产av| 国产精品一区二区三区四区久久 | 岛国在线观看网站| 丰满的人妻完整版| 国产国语露脸激情在线看| 亚洲精品一卡2卡三卡4卡5卡| 久久人妻福利社区极品人妻图片| 久久午夜综合久久蜜桃| 人人妻人人澡欧美一区二区| 国产av又大| 一边摸一边做爽爽视频免费| 极品教师在线免费播放| 一本精品99久久精品77| 日韩精品青青久久久久久| 在线观看免费日韩欧美大片| 久久久久国产精品人妻aⅴ院| 国产欧美日韩精品亚洲av| 国产人伦9x9x在线观看| 国产一区在线观看成人免费| 97超级碰碰碰精品色视频在线观看| 黄色成人免费大全| 久久精品国产亚洲av香蕉五月| www国产在线视频色| 日韩欧美 国产精品| av超薄肉色丝袜交足视频| 欧美乱色亚洲激情| videosex国产| 中文字幕最新亚洲高清| 午夜福利18| 女警被强在线播放| 久久精品91蜜桃| 在线观看午夜福利视频| 国产成人精品久久二区二区免费| 一进一出好大好爽视频| 亚洲国产中文字幕在线视频| 一级a爱片免费观看的视频| 99精品久久久久人妻精品| 黄网站色视频无遮挡免费观看| a级毛片在线看网站| www日本在线高清视频| 天堂√8在线中文| 欧美国产日韩亚洲一区| 最好的美女福利视频网| 中文字幕精品亚洲无线码一区 | 色在线成人网| av片东京热男人的天堂| 好男人电影高清在线观看| 精品欧美国产一区二区三| 老熟妇乱子伦视频在线观看| 国内毛片毛片毛片毛片毛片| 久久 成人 亚洲| 国产av不卡久久| svipshipincom国产片| 亚洲成人精品中文字幕电影| 国内精品久久久久久久电影| ponron亚洲| 99在线视频只有这里精品首页| 少妇 在线观看| 亚洲av日韩精品久久久久久密| 国产成人av激情在线播放| 在线永久观看黄色视频| 狂野欧美激情性xxxx| 亚洲av成人不卡在线观看播放网| 麻豆成人午夜福利视频| 黄色 视频免费看| 国产精华一区二区三区| 欧美日韩精品网址| 亚洲av熟女| 在线十欧美十亚洲十日本专区| 91av网站免费观看| 精品高清国产在线一区| 国产一区二区在线av高清观看| 啦啦啦观看免费观看视频高清| 亚洲男人天堂网一区| 成人18禁在线播放| 精华霜和精华液先用哪个| 99久久精品国产亚洲精品| 此物有八面人人有两片| 三级毛片av免费| 久久久久久九九精品二区国产 | 两性夫妻黄色片| 精品一区二区三区视频在线观看免费| 免费搜索国产男女视频| 成人一区二区视频在线观看| 亚洲男人天堂网一区| xxx96com| 宅男免费午夜| 中文字幕最新亚洲高清| 香蕉av资源在线| 亚洲人成网站高清观看| 99热只有精品国产| 国产av一区在线观看免费| 久久精品夜夜夜夜夜久久蜜豆 | av在线天堂中文字幕| 看黄色毛片网站| 天天添夜夜摸| 一本大道久久a久久精品| 日本免费a在线| 黄色毛片三级朝国网站| 国产午夜精品久久久久久| www.熟女人妻精品国产| 日韩欧美一区二区三区在线观看| www.精华液| 一区二区日韩欧美中文字幕| 亚洲第一电影网av| 国产私拍福利视频在线观看| 久久国产精品人妻蜜桃| 国产精品免费一区二区三区在线| 窝窝影院91人妻| 亚洲av成人av| 国产亚洲精品一区二区www| 满18在线观看网站| 婷婷精品国产亚洲av| 麻豆av在线久日| av免费在线观看网站| 日日干狠狠操夜夜爽| 亚洲va日本ⅴa欧美va伊人久久| 69av精品久久久久久| 狂野欧美激情性xxxx| 午夜影院日韩av| 免费看日本二区| 日本 av在线| 国产又黄又爽又无遮挡在线| 99精品欧美一区二区三区四区| 亚洲人成网站高清观看| 美女高潮喷水抽搐中文字幕| 精品国内亚洲2022精品成人| 国产欧美日韩精品亚洲av| 麻豆一二三区av精品| 天天添夜夜摸| 好看av亚洲va欧美ⅴa在| 免费女性裸体啪啪无遮挡网站| 色老头精品视频在线观看| 精品久久久久久久末码| 亚洲精品在线美女| 麻豆国产av国片精品| 国产精品综合久久久久久久免费| 精品欧美国产一区二区三| 男人舔奶头视频| 色综合欧美亚洲国产小说| 国产高清激情床上av| 中文字幕最新亚洲高清| 亚洲精品色激情综合|