• <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
    瘦客戶機:安全與便捷的選擇
    日韩高清综合在线| 亚洲专区字幕在线| 99热国产这里只有精品6| 91麻豆精品激情在线观看国产 | 好男人电影高清在线观看| 黄色怎么调成土黄色| 亚洲国产欧美一区二区综合| 亚洲伊人色综图| 久久久久国产精品人妻aⅴ院| 性欧美人与动物交配| 日韩视频一区二区在线观看| 国产视频一区二区在线看| 国产精品一区二区在线不卡| 亚洲欧美激情综合另类| 久久99一区二区三区| 国产蜜桃级精品一区二区三区| 黄色毛片三级朝国网站| 后天国语完整版免费观看| 国产午夜精品久久久久久| 国产男靠女视频免费网站| 超碰成人久久| 成年女人毛片免费观看观看9| 亚洲一区二区三区欧美精品| 天堂动漫精品| 亚洲精品在线观看二区| 又黄又爽又免费观看的视频| 中文字幕最新亚洲高清| 亚洲一区二区三区欧美精品| 久久香蕉国产精品| 亚洲欧美日韩另类电影网站| 天天躁夜夜躁狠狠躁躁| 久久久水蜜桃国产精品网| 成人三级做爰电影| 在线观看免费视频网站a站| 婷婷丁香在线五月| 亚洲国产精品999在线| 国产精品久久电影中文字幕| 国产xxxxx性猛交| 午夜成年电影在线免费观看| 国产精品香港三级国产av潘金莲| 欧美中文综合在线视频| 久久久久久久午夜电影 | 黄频高清免费视频| 国产蜜桃级精品一区二区三区| 亚洲 欧美 日韩 在线 免费| 久久久久久免费高清国产稀缺| 国产精品一区二区在线不卡| 青草久久国产| 五月开心婷婷网| 一级a爱片免费观看的视频| 亚洲 欧美 日韩 在线 免费| 久久精品亚洲精品国产色婷小说| 我的亚洲天堂| 成年女人毛片免费观看观看9| 成年人黄色毛片网站| 黑丝袜美女国产一区| 亚洲片人在线观看| 乱人伦中国视频| 激情在线观看视频在线高清| 欧美大码av| av片东京热男人的天堂| 亚洲aⅴ乱码一区二区在线播放 | 午夜两性在线视频| 亚洲国产欧美网| 两个人看的免费小视频| 女人精品久久久久毛片| www.www免费av| 免费女性裸体啪啪无遮挡网站| 午夜福利,免费看| 男人舔女人下体高潮全视频| 妹子高潮喷水视频| 亚洲专区字幕在线| 午夜免费鲁丝| 国产精品一区二区在线不卡| 欧美一级毛片孕妇| 99久久国产精品久久久| 国产色视频综合| 亚洲一码二码三码区别大吗| 免费高清视频大片| 午夜福利欧美成人| 97碰自拍视频| 12—13女人毛片做爰片一| 国产亚洲av高清不卡| 曰老女人黄片| 国产免费男女视频| 午夜91福利影院| 黄色a级毛片大全视频| 色婷婷av一区二区三区视频| 亚洲欧美一区二区三区黑人| 欧美午夜高清在线| 国产野战对白在线观看| 757午夜福利合集在线观看| 久久久久久久久免费视频了| www国产在线视频色| 大香蕉久久成人网| 国产一区二区三区在线臀色熟女 | 中文欧美无线码| 日日干狠狠操夜夜爽| 亚洲男人天堂网一区| 日本 av在线| 久久国产精品男人的天堂亚洲| 日本五十路高清| 免费在线观看影片大全网站| 777久久人妻少妇嫩草av网站| 一级毛片精品| 亚洲在线自拍视频| 国产片内射在线| 欧美一级毛片孕妇| 国产精品秋霞免费鲁丝片| 久久天躁狠狠躁夜夜2o2o| 欧美成狂野欧美在线观看| 18禁美女被吸乳视频| 99国产精品一区二区蜜桃av| 真人一进一出gif抽搐免费| 精品福利永久在线观看| 五月开心婷婷网| 亚洲精品美女久久久久99蜜臀| 午夜影院日韩av| 91字幕亚洲| 老汉色∧v一级毛片| 老司机深夜福利视频在线观看| 丁香六月欧美| 50天的宝宝边吃奶边哭怎么回事| www.精华液| 婷婷丁香在线五月| 18禁黄网站禁片午夜丰满| 久久性视频一级片| 黄片大片在线免费观看| 国产成人精品久久二区二区91| 欧美激情高清一区二区三区| 露出奶头的视频| 美女高潮到喷水免费观看| 午夜福利免费观看在线| 老鸭窝网址在线观看| 国产精品日韩av在线免费观看 | 女人高潮潮喷娇喘18禁视频| 欧美亚洲日本最大视频资源| 成人特级黄色片久久久久久久| 欧美成人午夜精品| 成年版毛片免费区| 超碰成人久久| 欧美性长视频在线观看| 亚洲av成人一区二区三| 日日夜夜操网爽| xxxhd国产人妻xxx| 亚洲色图综合在线观看| 久久久久精品国产欧美久久久| 国产单亲对白刺激| 精品久久蜜臀av无| 少妇的丰满在线观看| 99热国产这里只有精品6| 欧美人与性动交α欧美精品济南到| 久久午夜亚洲精品久久| 免费看十八禁软件| 午夜福利在线观看吧| 亚洲七黄色美女视频| 亚洲人成77777在线视频| 欧美激情高清一区二区三区| 午夜福利免费观看在线| 国产精品爽爽va在线观看网站 | 午夜福利免费观看在线| 19禁男女啪啪无遮挡网站| 美女高潮喷水抽搐中文字幕| 1024香蕉在线观看| 亚洲av美国av| 精品人妻在线不人妻| 又黄又爽又免费观看的视频| 欧美日本亚洲视频在线播放| 人人妻,人人澡人人爽秒播| 久久欧美精品欧美久久欧美| 亚洲中文日韩欧美视频| 亚洲情色 制服丝袜| 色尼玛亚洲综合影院| 亚洲成国产人片在线观看| 操出白浆在线播放| 如日韩欧美国产精品一区二区三区| 国产精品久久视频播放| 久久99一区二区三区| 人成视频在线观看免费观看| 狠狠狠狠99中文字幕| 国产伦人伦偷精品视频| 精品久久久久久久毛片微露脸| 在线天堂中文资源库| 99国产精品免费福利视频| 精品乱码久久久久久99久播| 丰满的人妻完整版| 国产主播在线观看一区二区| 美女午夜性视频免费| 天天躁狠狠躁夜夜躁狠狠躁| 午夜免费成人在线视频| 国产精品综合久久久久久久免费 | 久久中文字幕一级| 亚洲av电影在线进入| 少妇裸体淫交视频免费看高清 | 男男h啪啪无遮挡| 9色porny在线观看| 怎么达到女性高潮| 亚洲欧美一区二区三区久久| 久久精品国产综合久久久| 美国免费a级毛片| 一级,二级,三级黄色视频| 18禁黄网站禁片午夜丰满| 夜夜躁狠狠躁天天躁| 一边摸一边做爽爽视频免费| 91字幕亚洲| 欧美日韩黄片免| 一区二区三区国产精品乱码| 狂野欧美激情性xxxx| 亚洲国产欧美一区二区综合| 欧美午夜高清在线| 女人被躁到高潮嗷嗷叫费观| 韩国av一区二区三区四区| 欧美黄色淫秽网站| 久久亚洲真实| 久久香蕉国产精品| 一级a爱片免费观看的视频| 国产乱人伦免费视频| 久久人人爽av亚洲精品天堂| 制服诱惑二区| 免费观看人在逋| 亚洲av电影在线进入| 国产一区在线观看成人免费| 国产视频一区二区在线看| 国产亚洲精品综合一区在线观看 | 亚洲精品久久午夜乱码| 久久草成人影院| 欧美另类亚洲清纯唯美| 在线播放国产精品三级| 免费av中文字幕在线| 午夜免费鲁丝| 国产成人免费无遮挡视频| 在线观看免费高清a一片| 日韩免费高清中文字幕av| av免费在线观看网站| 亚洲 欧美 日韩 在线 免费| 国产无遮挡羞羞视频在线观看| 色哟哟哟哟哟哟| 每晚都被弄得嗷嗷叫到高潮| 欧美+亚洲+日韩+国产| 自线自在国产av| 村上凉子中文字幕在线| 精品一区二区三卡| 黄片小视频在线播放| 88av欧美| 国产亚洲欧美在线一区二区| 午夜福利免费观看在线| а√天堂www在线а√下载| 狠狠狠狠99中文字幕| 这个男人来自地球电影免费观看| 成人黄色视频免费在线看| 国产成人一区二区三区免费视频网站| 精品无人区乱码1区二区| 精品无人区乱码1区二区| 两人在一起打扑克的视频| 国产成人欧美在线观看| 欧美一级毛片孕妇| 免费久久久久久久精品成人欧美视频| 精品欧美一区二区三区在线| 50天的宝宝边吃奶边哭怎么回事| 久久精品国产综合久久久| 亚洲av五月六月丁香网| 夜夜看夜夜爽夜夜摸 | 波多野结衣高清无吗| 国产野战对白在线观看| 欧美午夜高清在线| 51午夜福利影视在线观看| 1024视频免费在线观看| 69精品国产乱码久久久| 国产精品美女特级片免费视频播放器 | 国产无遮挡羞羞视频在线观看| 自线自在国产av| 午夜福利欧美成人| 男人舔女人下体高潮全视频| 岛国视频午夜一区免费看| 亚洲熟妇中文字幕五十中出 | 级片在线观看| 欧美最黄视频在线播放免费 | 欧美激情高清一区二区三区| 琪琪午夜伦伦电影理论片6080| 亚洲人成77777在线视频| 日韩人妻精品一区2区三区| 波多野结衣一区麻豆| 亚洲五月婷婷丁香| 人人妻人人澡人人看| 国产精品久久电影中文字幕| 午夜免费鲁丝| 99国产精品一区二区三区| 悠悠久久av| 午夜福利欧美成人| 两个人免费观看高清视频| 19禁男女啪啪无遮挡网站| 亚洲精品中文字幕在线视频| 欧美激情久久久久久爽电影 | 美女大奶头视频| 妹子高潮喷水视频| 在线观看舔阴道视频| 91老司机精品| 男女高潮啪啪啪动态图| 性欧美人与动物交配| 久9热在线精品视频| 在线观看免费日韩欧美大片| 母亲3免费完整高清在线观看| 亚洲av成人av| 久久精品aⅴ一区二区三区四区| 日韩成人在线观看一区二区三区| 亚洲熟妇中文字幕五十中出 | 99国产精品一区二区三区| 每晚都被弄得嗷嗷叫到高潮| 久久精品国产亚洲av香蕉五月| 久久人妻福利社区极品人妻图片| 中文字幕色久视频| 精品国产国语对白av| 999精品在线视频| 国产一卡二卡三卡精品| 最近最新中文字幕大全免费视频| 久久久精品国产亚洲av高清涩受| 黑人欧美特级aaaaaa片| 亚洲va日本ⅴa欧美va伊人久久| 老熟妇仑乱视频hdxx| 18禁国产床啪视频网站| 国内毛片毛片毛片毛片毛片| 如日韩欧美国产精品一区二区三区| 色尼玛亚洲综合影院| 欧美人与性动交α欧美软件| 韩国精品一区二区三区| 亚洲第一青青草原| 黄频高清免费视频| 国产极品粉嫩免费观看在线| 美女扒开内裤让男人捅视频| 国产日韩一区二区三区精品不卡| 色老头精品视频在线观看| 99久久人妻综合| 成年人免费黄色播放视频| 在线观看免费日韩欧美大片| 成人18禁在线播放| 女性被躁到高潮视频| 天天躁狠狠躁夜夜躁狠狠躁| 久久久精品欧美日韩精品| 一进一出抽搐动态| 久久 成人 亚洲| 国产精品综合久久久久久久免费 | 国产99久久九九免费精品| 国产精品亚洲一级av第二区| 久久狼人影院| 在线看a的网站| 国产97色在线日韩免费| 亚洲 欧美一区二区三区| 9热在线视频观看99| 午夜免费成人在线视频| 91成年电影在线观看| 后天国语完整版免费观看| 精品一区二区三区av网在线观看| 麻豆成人av在线观看| 欧美在线黄色| 中文字幕另类日韩欧美亚洲嫩草| 极品人妻少妇av视频| 欧美久久黑人一区二区| 久久国产精品影院| 久热这里只有精品99| 久久中文字幕一级| 久久久国产成人免费| 欧美成人免费av一区二区三区| 久久青草综合色| 激情视频va一区二区三区| 丰满的人妻完整版| 亚洲黑人精品在线| 欧美中文综合在线视频| 欧美性长视频在线观看| 99久久人妻综合| 99国产精品免费福利视频| 日韩大码丰满熟妇| svipshipincom国产片| 9热在线视频观看99| 国产主播在线观看一区二区| 一夜夜www| 高清av免费在线| 色老头精品视频在线观看| 久久精品国产亚洲av香蕉五月| 最近最新免费中文字幕在线| 在线播放国产精品三级| 国产精品免费视频内射| 国产欧美日韩一区二区三| 国产成人影院久久av| 级片在线观看| 亚洲三区欧美一区| 国产精品一区二区三区四区久久 | 日本wwww免费看| 国产精品野战在线观看 | 成人免费观看视频高清| 别揉我奶头~嗯~啊~动态视频| 丁香六月欧美| 热re99久久精品国产66热6| 十八禁网站免费在线| 一区在线观看完整版| 日日夜夜操网爽| 麻豆久久精品国产亚洲av | 很黄的视频免费| 色播在线永久视频| 涩涩av久久男人的天堂| 日韩欧美免费精品| 自拍欧美九色日韩亚洲蝌蚪91| 亚洲av五月六月丁香网| 日韩欧美一区二区三区在线观看| 日本免费a在线| 国产亚洲精品久久久久5区| 亚洲少妇的诱惑av| 999久久久精品免费观看国产| 久热爱精品视频在线9| www国产在线视频色| 日韩一卡2卡3卡4卡2021年| 高清av免费在线| 日韩免费高清中文字幕av| 日韩精品免费视频一区二区三区| 一级,二级,三级黄色视频| 看免费av毛片| 欧美日韩亚洲高清精品| 亚洲人成77777在线视频| 国产成人欧美在线观看| 超碰成人久久| 久久中文看片网| 日本一区二区免费在线视频| 亚洲专区字幕在线| 亚洲精品久久成人aⅴ小说| 男人操女人黄网站| 真人做人爱边吃奶动态| 国产又爽黄色视频| 超色免费av| 亚洲国产欧美网| 一区福利在线观看| 麻豆国产av国片精品| 九色亚洲精品在线播放| 日日干狠狠操夜夜爽| 欧美日韩国产mv在线观看视频| 欧美日本中文国产一区发布| av天堂久久9| 亚洲片人在线观看| 亚洲成a人片在线一区二区| 亚洲成人免费电影在线观看| 久久中文看片网| x7x7x7水蜜桃| 岛国在线观看网站| 天堂动漫精品| 十分钟在线观看高清视频www| 亚洲av五月六月丁香网| www.999成人在线观看| 国产区一区二久久| 黄色成人免费大全| 女性生殖器流出的白浆| 成人三级做爰电影| 妹子高潮喷水视频| 国内毛片毛片毛片毛片毛片| 欧美在线黄色| 午夜免费观看网址| 桃红色精品国产亚洲av| 91精品国产国语对白视频| 精品一区二区三卡| 欧美日韩视频精品一区| 国产亚洲精品一区二区www| 国产精品香港三级国产av潘金莲| 欧美成狂野欧美在线观看| 成人永久免费在线观看视频| 亚洲精品久久成人aⅴ小说| 国产精品偷伦视频观看了| 韩国av一区二区三区四区| 免费av毛片视频| 操出白浆在线播放| 久久久久国产精品人妻aⅴ院| 国产蜜桃级精品一区二区三区| 波多野结衣一区麻豆| 欧美人与性动交α欧美软件| 亚洲久久久国产精品| 中出人妻视频一区二区| 免费在线观看影片大全网站| 丝袜美腿诱惑在线| 久久午夜综合久久蜜桃| 黑人巨大精品欧美一区二区蜜桃| 人成视频在线观看免费观看| 久久 成人 亚洲| 久久精品国产亚洲av香蕉五月| 国产成人一区二区三区免费视频网站| 九色亚洲精品在线播放| 久久久久久大精品| 免费久久久久久久精品成人欧美视频| 女人被躁到高潮嗷嗷叫费观| 51午夜福利影视在线观看| 久久人妻av系列| 91成人精品电影| 欧美乱妇无乱码| 国产精品乱码一区二三区的特点 | 亚洲 国产 在线| 69av精品久久久久久| 可以在线观看毛片的网站| 成人三级黄色视频| 波多野结衣一区麻豆| 欧美性长视频在线观看| 久久精品影院6| 精品日产1卡2卡| 国产高清视频在线播放一区| 大型av网站在线播放| 亚洲在线自拍视频| 天天影视国产精品| 亚洲一卡2卡3卡4卡5卡精品中文| 欧美激情久久久久久爽电影 | 欧美午夜高清在线| 两人在一起打扑克的视频| 欧美日韩黄片免| cao死你这个sao货| 窝窝影院91人妻| 免费av毛片视频| 可以免费在线观看a视频的电影网站| 麻豆久久精品国产亚洲av | 亚洲av成人一区二区三| 精品人妻在线不人妻| 无人区码免费观看不卡| 久久香蕉精品热| 最近最新中文字幕大全免费视频| 亚洲精品av麻豆狂野| 丰满的人妻完整版| www国产在线视频色| 国产精品综合久久久久久久免费 | 久久久国产欧美日韩av| 69精品国产乱码久久久| 日韩免费av在线播放| 免费在线观看黄色视频的| 大型黄色视频在线免费观看| 国产国语露脸激情在线看| 999久久久国产精品视频| 久久九九热精品免费| 97人妻天天添夜夜摸| 精品福利永久在线观看| 校园春色视频在线观看| 欧美+亚洲+日韩+国产| 中文欧美无线码| 777久久人妻少妇嫩草av网站| av视频免费观看在线观看| 成人国语在线视频| 国产99白浆流出| 一个人观看的视频www高清免费观看 | 波多野结衣一区麻豆| 久久香蕉精品热| 免费搜索国产男女视频| 欧美人与性动交α欧美软件| 成人亚洲精品一区在线观看| 日韩大尺度精品在线看网址 | 午夜视频精品福利| 91国产中文字幕| 中文亚洲av片在线观看爽| 国产精品久久久久久人妻精品电影| 成人永久免费在线观看视频| 久久精品人人爽人人爽视色| 高清在线国产一区| 亚洲第一av免费看| av片东京热男人的天堂| 午夜视频精品福利| 午夜精品在线福利| 国产亚洲精品久久久久久毛片| 一级片免费观看大全| 高清欧美精品videossex| 国内毛片毛片毛片毛片毛片| 国产1区2区3区精品| 国产三级黄色录像| 丰满迷人的少妇在线观看| 宅男免费午夜| 中文字幕最新亚洲高清| 两个人免费观看高清视频| 亚洲国产中文字幕在线视频| 丁香欧美五月| 国产成人欧美在线观看| 乱人伦中国视频| 美女 人体艺术 gogo| 好男人电影高清在线观看| 久99久视频精品免费| 日本免费一区二区三区高清不卡 | 母亲3免费完整高清在线观看| 美女国产高潮福利片在线看| 国产有黄有色有爽视频| 国产亚洲精品一区二区www| 成在线人永久免费视频| 91在线观看av| 俄罗斯特黄特色一大片| 午夜日韩欧美国产| 视频区欧美日本亚洲| 黄色毛片三级朝国网站| 久久久久久久午夜电影 | 精品国产美女av久久久久小说| 校园春色视频在线观看| 在线视频色国产色| 精品久久蜜臀av无| 精品一品国产午夜福利视频| www.精华液| 国产av一区二区精品久久| www.熟女人妻精品国产| 国产91精品成人一区二区三区| 久久久久精品国产欧美久久久| 久久天堂一区二区三区四区| av天堂久久9| a级片在线免费高清观看视频| svipshipincom国产片| 欧美黑人精品巨大| 成人18禁在线播放| 久久中文看片网| 欧美久久黑人一区二区| 亚洲成人国产一区在线观看| 最新美女视频免费是黄的| 日本精品一区二区三区蜜桃| 日韩大尺度精品在线看网址 | 久久精品aⅴ一区二区三区四区| 日本三级黄在线观看| 一进一出好大好爽视频| 精品第一国产精品| 免费在线观看完整版高清| 怎么达到女性高潮| 亚洲中文av在线| 久久精品国产综合久久久| 久久中文字幕人妻熟女|