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

    基于Python的X-PLUS矩陣通訊實(shí)現(xiàn)

    2020-06-04 12:55張世超

    張世超

    摘要:本文介紹矩陣通訊協(xié)議,詳解命令格式,提出使用基于Python的自動(dòng)化軟件與X-PLUS矩陣交互通訊的方法并開(kāi)發(fā)實(shí)現(xiàn),達(dá)到減少操作時(shí)間,提高響應(yīng)速度,降低運(yùn)維成本,提高矩陣的功能性和易操作性的目的。

    關(guān)鍵詞:Python;X-PLUS;Socket;廣播級(jí)矩陣

    中圖分類號(hào):TN919 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2020)03-0125-03

    X-PLUS是大連捷成推出的多格式、全規(guī)模的廣播級(jí)矩陣產(chǎn)品.可在一個(gè)機(jī)箱完成多種格式信號(hào)的切換調(diào)度??赏瑫r(shí)兼容大、中、小規(guī)模、并可靈活配置多種信號(hào)格式的全規(guī)模、多格式矩陣。該矩陣支持多格式混插,并具有電子切換和點(diǎn)對(duì)點(diǎn)旁通(BY-PASS)的雙切換模式[1]。矩陣功能強(qiáng)大,可控制最多128路信號(hào),很多切換通道等功能要求24小時(shí)秒級(jí)操作,單靠人工無(wú)法實(shí)現(xiàn),且上下位機(jī)之間可能距離遙遠(yuǎn)。因此其與自動(dòng)化系統(tǒng)遠(yuǎn)程通訊交互十分必要。使用矩陣提供的大連捷成協(xié)議框架可以輕松實(shí)現(xiàn)。

    1 通訊簡(jiǎn)介

    與矩陣通訊時(shí),被控制的矩陣設(shè)備被看成服務(wù)端,與矩陣連接的自動(dòng)化軟件被看成客戶端。通過(guò)TCP或者UDP協(xié)議,自動(dòng)化軟件發(fā)送命令給矩陣,矩陣反饋命令執(zhí)行結(jié)果,矩陣也可以發(fā)送報(bào)告給自動(dòng)化軟件顯示自身狀態(tài)變化。

    1.1 協(xié)議簡(jiǎn)介

    通訊協(xié)議框架使用大連捷成協(xié)議框架,主要分為起始、命令、數(shù)據(jù)、校驗(yàn)碼和結(jié)束五部分標(biāo)識(shí)符,協(xié)議第一個(gè)字節(jié)是SOH代表開(kāi)始,第二個(gè)和第三個(gè)字節(jié)代表命令,中間n個(gè)字節(jié)是傳輸?shù)臄?shù)據(jù),數(shù)據(jù)后面兩個(gè)字節(jié)是異或校驗(yàn)碼,最后一個(gè)字節(jié)是EOT代表結(jié)束。

    1.2 接口簡(jiǎn)介

    矩陣提供RJ45與RS232接口供外部自動(dòng)化軟件控制使用。RJ45接口自適應(yīng)10Mbps/100Mbps連接方式分為直連和通過(guò)集線器路由器等網(wǎng)絡(luò)設(shè)備連接,必須使用IPv4通過(guò)TCP或者UDP通訊,矩陣監(jiān)聽(tīng)外部發(fā)起的請(qǐng)求,端口號(hào)為8000。RS232配置波特率19200,起始位1,數(shù)據(jù)位8,奇偶校驗(yàn)無(wú)。

    1.3 命令詳解

    命令主要分為上報(bào)命令和事務(wù)命令。上報(bào)命令是矩陣某些狀態(tài)發(fā)生改變,它主動(dòng)上報(bào)外部自動(dòng)化軟件。事務(wù)命令是外部自動(dòng)化軟件想要改變矩陣某設(shè)置或者獲取某狀態(tài)而發(fā)送的。當(dāng)自動(dòng)化軟件發(fā)送命令請(qǐng)求給矩陣,矩陣會(huì)應(yīng)答響應(yīng)。

    命令請(qǐng)求的格式如圖1所示,由于通訊過(guò)程中使用比特流,所以傳輸時(shí)數(shù)據(jù)可以看成是一串16進(jìn)制數(shù),起始標(biāo)識(shí)符SOH就是0x01,結(jié)束標(biāo)識(shí)符EOT就是0x04,完整的請(qǐng)求或者應(yīng)答都是以這兩個(gè)標(biāo)識(shí)符開(kāi)始結(jié)束的,中間不再允許出現(xiàn)0x01或者0x04,為保證命令中間部分不出現(xiàn)起始和結(jié)束標(biāo)識(shí)符,命令中間數(shù)據(jù)使用ASCII編碼轉(zhuǎn)義,當(dāng)有數(shù)據(jù)是1的時(shí)候不會(huì)寫(xiě)成0x01,而是通過(guò)ASCII碼轉(zhuǎn)換,變成字符1也就是16進(jìn)制數(shù)0x31。

    命令標(biāo)識(shí)符說(shuō)明要做什么,例如QS是查詢矩陣規(guī)模(16進(jìn)制表示為0x51 0x53),AS是切換通道源(16進(jìn)制表示為0x41 0x53),其他更多命令參見(jiàn)產(chǎn)品說(shuō)明書(shū)。

    對(duì)于不同的命令,其后面緊跟著的數(shù)據(jù)內(nèi)容也不同,但是數(shù)據(jù)最長(zhǎng)限制為1024字節(jié),多余的字節(jié)會(huì)被拋棄。對(duì)于QS等命令,可能后面跟隨的數(shù)據(jù)是空的,因?yàn)橹恍枰嬖V矩陣反饋規(guī)模即可,不需要其他數(shù)據(jù)。

    異或校驗(yàn)碼BCC(Block Check Character),也叫信息組校驗(yàn)碼,是保證數(shù)據(jù)傳輸過(guò)程中檢查完整性的重要依據(jù),把從起始標(biāo)識(shí)符之后到校驗(yàn)碼之前的所有16進(jìn)制數(shù)經(jīng)行異或運(yùn)算,最后得到的結(jié)果再通過(guò)ASCII轉(zhuǎn)換為兩個(gè)16進(jìn)制數(shù),這有些不太好理解,舉個(gè)例子:當(dāng)需要向矩陣請(qǐng)求獲取其規(guī)模時(shí),就需要發(fā)送QS命令,因?yàn)镼S轉(zhuǎn)碼后數(shù)據(jù)是0x51 0x53,后面沒(méi)有其他數(shù)據(jù),異或校驗(yàn)碼就是 51XOR53=02,0轉(zhuǎn)換為0x30,2轉(zhuǎn)換為0x32,最后得到異或校驗(yàn)碼就是0x30 0x32。

    應(yīng)答分兩種,一種格式跟命令請(qǐng)求一樣,另外一種特殊的應(yīng)答只有一個(gè)字節(jié),內(nèi)容為一個(gè)感嘆號(hào),表示立即執(zhí)行。應(yīng)答反饋?zhàn)畲蟪瑫r(shí)時(shí)間為200ms,超過(guò)此時(shí)間被認(rèn)為之前發(fā)送的命令沒(méi)有成功接收。

    2 Python實(shí)現(xiàn)

    在詳細(xì)了解通訊協(xié)議后就可以編寫(xiě)軟件與矩陣通訊,這里選擇Python講解具體實(shí)現(xiàn)方法,因?yàn)镻ython簡(jiǎn)單易學(xué),讓人更加專注與矩陣通訊的方法,而非研究數(shù)據(jù)結(jié)構(gòu),降低學(xué)習(xí)門(mén)檻,幫助使用者快速上手。

    2.1 Socket連接

    Socket又叫套接字,它是計(jì)算機(jī)之間進(jìn)行通信的一種約定或一種方式。通過(guò)它一臺(tái)計(jì)算機(jī)可以接收其他計(jì)算機(jī)的數(shù)據(jù),也可以向其他計(jì)算機(jī)發(fā)送數(shù)據(jù)[2]。我們使用Python的Socket包實(shí)現(xiàn)代碼:

    import socket

    class TCPClient:

    def __init__(self, host='192.168.1.2', port=8000, timeout=200):

    self.HOST = host

    self.PORT = port

    self.BUFFSIZE = 1024

    self.TIMEOUT = timeout

    self.ADDRESS = (self.HOST, self.PORT)

    self.tcpClientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

    self.tcpClientSocket.connect(self.ADDRESS)

    def send(self, msg):

    ……

    def receive(self):

    ……

    def main():

    try:

    client = TCPClient()

    client.send('xxxx')

    client.receive()

    except Exception as e:

    print(e)

    這是最基礎(chǔ)的連接示例,首先導(dǎo)入Socket包,創(chuàng)建一個(gè)TCPClient類, host為要連接的矩陣IP地址,port為端口號(hào),timeout是超時(shí)時(shí)間,buffsize是套接字緩存大小,socket.AF_INET表示使用IPv4, socket.SOCK_STREAM表示使用流式套接字。接著定義send函數(shù)與receive函數(shù),分別表示發(fā)送和接收數(shù)據(jù),最后在main中實(shí)例化TCPClient類的對(duì)象client,使用send和receive發(fā)送和接收數(shù)據(jù)。

    2.2 封裝命令

    send函數(shù)發(fā)送的數(shù)據(jù)是比特流,可以看成是一串以0x01開(kāi)頭0x04結(jié)尾的16進(jìn)制數(shù),函數(shù)會(huì)自動(dòng)在發(fā)送的msg數(shù)據(jù)前后加上起始結(jié)束標(biāo)識(shí)符,同時(shí)也要計(jì)算異或校驗(yàn)碼,再把校驗(yàn)碼放再在結(jié)束標(biāo)識(shí)符前面。所以只需要把請(qǐng)求的命令和數(shù)據(jù)標(biāo)識(shí)符內(nèi)容傳入send函數(shù)的參數(shù)msg里。

    def send(self, msg):

    msg = msg.encode('utf-8')

    bbc = self.getBBC(msg)

    bbc = bytes().fromhex(hex(ord(bbc[0]))[2:]) + bytes().fromhex(hex(ord(bbc[1]))[2:])

    msg = bytes().fromhex('01') + msg + bbc + bytes().fromhex('04')

    self.tcpClientSocket.send(msg)

    send函數(shù)首先轉(zhuǎn)換utf-8字符,然后通過(guò)getBBC函數(shù)獲取msg這串?dāng)?shù)據(jù)的校驗(yàn)碼,再把這串校驗(yàn)碼從字符串轉(zhuǎn)換成比特流,跟隨開(kāi)始結(jié)束標(biāo)識(shí)符一起封裝。

    def getBBC(self, checkData):

    for index in range(len(checkData)):

    if index == 0:

    dataCheckSum = checkData[index]

    else:

    dataCheckSum = dataCheckSum ^ checkData[index]

    dataCheckSum = hex(dataCheckSum)[2:]

    if len(dataCheckSum) == 1:

    return '0' + dataCheckSum

    return dataCheckSum

    getBBC函數(shù)根據(jù)傳入的checkData數(shù)據(jù)計(jì)算異或校驗(yàn)碼,通過(guò)循環(huán)遍歷計(jì)算得到一個(gè)16進(jìn)制數(shù),如果是個(gè)位數(shù)就再前面加上0,因?yàn)樾r?yàn)碼占用兩個(gè)字節(jié),個(gè)位數(shù)只有一個(gè)字節(jié),必須在前面加上0x30表示0,否則會(huì)被矩陣認(rèn)為是不完整數(shù)據(jù)丟棄。

    2.3 解析應(yīng)答

    矩陣收到命令請(qǐng)求會(huì)應(yīng)答,receive函數(shù)就是用于監(jiān)聽(tīng)?wèi)?yīng)答的函數(shù)。

    def receive(self):

    try:

    while True:

    msg = self.tcpClientSocket.recv(self.BUFFSIZE)

    if not msg:

    break

    print("接收到服務(wù)器端消息:{}".format(msg))

    if len(msg) == 1 and int(hex(ord(msg.decode('utf-8')))[2:]) == 21:

    print('server立即應(yīng)答' + msg.decode('utf-8'))

    elif len(msg) < 6:

    print('應(yīng)答不完整或不可識(shí)別')

    else:

    first = msg[0]

    command = (msg[1:3])

    data = (msg[3:-3])

    checkData = command + data

    checkSum = str.lower(msg[-3:-1].decode('utf-8'))

    last = msg[-1]

    if self.isCheck(first, last, checkData, checkSum) is False:

    print("數(shù)據(jù)不完整或者校驗(yàn)失敗")

    else:

    ……

    break

    except Exception as e:

    print(e)

    self.tcpClientSocket.close()

    receive函數(shù)通過(guò)無(wú)限循環(huán)語(yǔ)句一直監(jiān)聽(tīng)接收的數(shù)據(jù),如果收到的數(shù)據(jù)只有一個(gè)字節(jié)且內(nèi)容為0x21,對(duì)應(yīng)的是ASCII碼的感嘆號(hào),說(shuō)明矩陣已經(jīng)立即執(zhí)行之前發(fā)送的命令請(qǐng)求,如果既不是0x21又小于6個(gè)字節(jié)表示數(shù)據(jù)不完整,因?yàn)槠鹗冀Y(jié)束標(biāo)識(shí)符占用2字節(jié),命令占用2字節(jié),校驗(yàn)碼占用2字節(jié),如果小于6字節(jié)說(shuō)明數(shù)據(jù)不完整,當(dāng)數(shù)據(jù)大于等于6字節(jié)獲取各個(gè)字段通過(guò)isCheck函數(shù)判斷是否正確。

    def isCheck(self, first, last, checkData, checkSum):

    if first != 1:

    return False

    if last != 4:

    return False

    dataCheckSum = self.getBBC(checkData)

    if dataCheckSum == checkSum:

    return True

    else:

    return False

    isCheck函數(shù)判斷起始結(jié)束標(biāo)識(shí)符是否正確,通過(guò)getBBC函數(shù)計(jì)算校驗(yàn)碼與獲取的校驗(yàn)碼對(duì)比是否一致,當(dāng)對(duì)比結(jié)果一致的時(shí)候isCheck函數(shù)返回True,表示通過(guò)驗(yàn)證,剩下的命令標(biāo)識(shí)符字段和數(shù)據(jù)字段就是我們需要的數(shù)據(jù)。由于各個(gè)命令跟隨的數(shù)據(jù)結(jié)構(gòu)及長(zhǎng)度都不盡相同,全部詳細(xì)講解篇幅過(guò)大,下面舉簡(jiǎn)單個(gè)例說(shuō)明。

    2.4 實(shí)例數(shù)據(jù)講解

    如需要獲取矩陣規(guī)模,查詢說(shuō)明得知獲取矩陣規(guī)模命令是QS,數(shù)據(jù)字段為空。所以可通過(guò)實(shí)例化類對(duì)象的send方法,即client.send('QS')。

    使用Socket Tools工具模擬矩陣接收數(shù)據(jù)可以看到當(dāng)實(shí)例化對(duì)象client.send('QS')發(fā)送QS查詢矩陣規(guī)模命令時(shí),經(jīng)過(guò)封裝發(fā)送出去的數(shù)據(jù)如圖2所示可看成是一串16進(jìn)制的數(shù),以0x01開(kāi)頭0x04結(jié)尾,0x51 0x53通過(guò)ASCII轉(zhuǎn)碼為QS,0x30 0x32是0x51XOR0x53得出的結(jié)果02的轉(zhuǎn)碼結(jié)果。

    當(dāng)矩陣接收到QS命令會(huì)應(yīng)答,通過(guò)Python軟件運(yùn)行獲取軟件應(yīng)答數(shù)據(jù)為b\0x01SQ00000A030B000000000000000000000000032\0x04,通過(guò)軟件解析保留命令和數(shù)據(jù)字段為SQ00000A030B外加后面一串0,通過(guò)查詢說(shuō)明書(shū)可知SQ是反饋QS的命令,后面的A030B是矩陣規(guī)模數(shù)據(jù),其余用0填滿保留字段長(zhǎng)度,A表示音頻1層,0x03表示輸出端口有0到3四個(gè)輸出口,0x0B表示輸入端口有0到B十二個(gè)輸入口,所以矩陣規(guī)模為4x12。

    如需要查詢上述矩陣音頻1層各端口狀態(tài),獲取矩陣通道狀態(tài)命令是QD,后面跟隨數(shù)據(jù)占3各字節(jié),前兩個(gè)字節(jié)是通道總數(shù),為00表示查詢所有通道,第三個(gè)字節(jié)為層標(biāo)示,這里只有一個(gè)音頻層,層標(biāo)示為A,所以通過(guò)對(duì)象實(shí)例發(fā)送client.send('QD00A'),最終軟件獲取矩陣應(yīng)答數(shù)據(jù)為b\0x01DQ04A0002NA0100LA0200LA0300L11\0x04,通過(guò)解析保留命令和數(shù)據(jù)字段為DQ04A0002NA0100LA0200LA0300L,通過(guò)查詢說(shuō)明書(shū)可知DQ04為反饋有4個(gè)通道,A0002N表示A層1口輸出為1端口,輸入為3端口,狀態(tài)無(wú)鎖定。A0100L表示A層2口輸出為2端口,輸入為1端口,狀態(tài)鎖定。后面兩個(gè)口依此類推。

    如需要切換1通道狀態(tài)為輸出口1,輸入口4,使用AS命令,數(shù)據(jù)依次為通道總數(shù)(只切換一個(gè)通道就為01)、層標(biāo)示(音頻1層標(biāo)示為A)、輸出通道(為00)、輸入通道(為03)、通道狀態(tài)(為T(mén)表示切換狀態(tài))。當(dāng)發(fā)送命令請(qǐng)求后軟件會(huì)收到矩陣應(yīng)答數(shù)據(jù)0x21,表示切換命令已經(jīng)立即執(zhí)行。

    3 結(jié)語(yǔ)

    X-PLUS矩陣功能強(qiáng)大,它提供接口供外部自動(dòng)化通訊控制,雖然通訊命令封裝解析繁瑣復(fù)雜,但是通過(guò)軟件實(shí)現(xiàn)自動(dòng)封裝解析后各種命令變得簡(jiǎn)單易用,原本人工手動(dòng)需要數(shù)秒的操作通過(guò)自動(dòng)化軟件能在1秒內(nèi)完成,且7x24小時(shí)響應(yīng)無(wú)差錯(cuò),節(jié)約維護(hù)成本,提高響應(yīng)速度。在后期還可以用組合操作達(dá)成矩陣所不具備的功能,比如想實(shí)現(xiàn)通道輪巡功能可以讓軟件每隔幾秒自動(dòng)切換輸入端口,想實(shí)現(xiàn)信號(hào)錯(cuò)誤檢測(cè)可以讓軟件分析信號(hào),發(fā)現(xiàn)問(wèn)題自動(dòng)轉(zhuǎn)換通道。由此可見(jiàn),自動(dòng)化系統(tǒng)與矩陣遠(yuǎn)程通訊交互不僅節(jié)約資金,還能創(chuàng)造更多價(jià)值。

    參考文獻(xiàn)

    [1] X-PLUS多格式矩陣[J].世界廣播電視,2008,22(11):109.

    [2] yongfutian.Socket技術(shù)詳解[EB/OL].https://www.jianshu.com/p/066d99da7cbd,2019-01-11/2020-02-10.

    Abstract:This paper introduces the matrix communication protocol, explains the command format in detail, proposes the method of communication between x-plus matrix and automated software based on Python, and develops and realizes it, so as to reduce operation time, improve response speed, reduce operation and maintenance cost, and improve the functionality and operability of matrix.

    Key words:Python;X-PLUS;Socket;broadcast matrix

    看片在线看免费视频| 亚洲av熟女| 99在线视频只有这里精品首页| 国产v大片淫在线免费观看| 黄色a级毛片大全视频| 久久精品国产综合久久久| 最新在线观看一区二区三区| 国产精品日韩av在线免费观看| 一进一出好大好爽视频| 久久精品国产清高在天天线| 美女大奶头视频| 他把我摸到了高潮在线观看| 国产一区二区在线观看日韩 | 一本久久中文字幕| 午夜精品在线福利| 久9热在线精品视频| 国产日本99.免费观看| 欧美极品一区二区三区四区| 午夜成年电影在线免费观看| 亚洲专区国产一区二区| 国产91精品成人一区二区三区| 母亲3免费完整高清在线观看| 精品欧美一区二区三区在线| 国产免费男女视频| 午夜a级毛片| 国产黄色小视频在线观看| 国产视频内射| 亚洲专区字幕在线| 欧美日本亚洲视频在线播放| 国产黄色小视频在线观看| 欧美丝袜亚洲另类 | www.自偷自拍.com| 嫩草影院精品99| 国产成人av教育| 国产1区2区3区精品| 少妇粗大呻吟视频| 亚洲av日韩精品久久久久久密| 亚洲成av人片免费观看| 亚洲 欧美一区二区三区| 久久久久久免费高清国产稀缺| 久久精品国产清高在天天线| 嫁个100分男人电影在线观看| 亚洲国产精品久久男人天堂| 中文亚洲av片在线观看爽| 国产蜜桃级精品一区二区三区| cao死你这个sao货| 久久久久精品国产欧美久久久| 手机成人av网站| 美女午夜性视频免费| 国产伦人伦偷精品视频| 成熟少妇高潮喷水视频| 国产黄片美女视频| 国产精品,欧美在线| 又大又爽又粗| 怎么达到女性高潮| 精品人妻1区二区| 九九热线精品视视频播放| 日韩有码中文字幕| 欧美乱码精品一区二区三区| www日本黄色视频网| 久久精品国产亚洲av高清一级| www国产在线视频色| 国产伦在线观看视频一区| 人人妻人人澡欧美一区二区| 久久中文字幕人妻熟女| 蜜桃久久精品国产亚洲av| 成年版毛片免费区| 丰满的人妻完整版| 午夜精品久久久久久毛片777| 精品国内亚洲2022精品成人| 日本五十路高清| 听说在线观看完整版免费高清| 亚洲欧美激情综合另类| 亚洲va日本ⅴa欧美va伊人久久| 在线视频色国产色| www.www免费av| 欧美大码av| 国产一级毛片七仙女欲春2| 欧美黑人欧美精品刺激| 欧美色视频一区免费| 啦啦啦观看免费观看视频高清| 不卡一级毛片| 丝袜美腿诱惑在线| 国产v大片淫在线免费观看| 亚洲午夜精品一区,二区,三区| 久久亚洲精品不卡| 给我免费播放毛片高清在线观看| 人人妻人人看人人澡| 欧美又色又爽又黄视频| 精品免费久久久久久久清纯| 国产精品久久电影中文字幕| 在线观看免费视频日本深夜| 亚洲精品色激情综合| 亚洲欧美日韩高清专用| 久久 成人 亚洲| 亚洲av成人不卡在线观看播放网| 丝袜美腿诱惑在线| 欧美中文综合在线视频| 老司机靠b影院| 国产一区二区激情短视频| 国产成人一区二区三区免费视频网站| 国产精品乱码一区二三区的特点| 亚洲成人国产一区在线观看| 国内精品久久久久久久电影| 国产精品一区二区精品视频观看| 九色成人免费人妻av| 国产精品美女特级片免费视频播放器 | 波多野结衣巨乳人妻| 波多野结衣高清无吗| 九九热线精品视视频播放| 欧美丝袜亚洲另类 | 亚洲美女视频黄频| 男人的好看免费观看在线视频 | 香蕉丝袜av| 免费看日本二区| 国产精品一区二区三区四区免费观看 | av福利片在线观看| 亚洲av成人av| 可以免费在线观看a视频的电影网站| 亚洲午夜精品一区,二区,三区| 日韩精品青青久久久久久| 最近视频中文字幕2019在线8| 国产日本99.免费观看| 99国产精品一区二区三区| 午夜福利欧美成人| 在线观看美女被高潮喷水网站 | 国内揄拍国产精品人妻在线| 色综合亚洲欧美另类图片| 久久中文字幕一级| 午夜福利在线观看吧| 精品欧美一区二区三区在线| 国产成+人综合+亚洲专区| 天天躁夜夜躁狠狠躁躁| 深夜精品福利| 国产精品亚洲一级av第二区| 午夜成年电影在线免费观看| 91在线观看av| 小说图片视频综合网站| 亚洲片人在线观看| 欧美日韩亚洲综合一区二区三区_| 精品无人区乱码1区二区| 黑人欧美特级aaaaaa片| 欧美 亚洲 国产 日韩一| 悠悠久久av| 黄色女人牲交| 精品国产美女av久久久久小说| 在线观看美女被高潮喷水网站 | 亚洲aⅴ乱码一区二区在线播放 | 大型黄色视频在线免费观看| 国产精品久久久久久精品电影| 久久中文字幕人妻熟女| 最近在线观看免费完整版| 成年女人毛片免费观看观看9| 九色国产91popny在线| 国产精品国产高清国产av| 色在线成人网| 欧美在线一区亚洲| 99国产精品99久久久久| 巨乳人妻的诱惑在线观看| 又大又爽又粗| 欧美绝顶高潮抽搐喷水| 美女高潮喷水抽搐中文字幕| 久久精品国产99精品国产亚洲性色| 亚洲最大成人中文| 国产精品免费一区二区三区在线| 操出白浆在线播放| 日本成人三级电影网站| 听说在线观看完整版免费高清| 国产成人啪精品午夜网站| 不卡一级毛片| 免费搜索国产男女视频| 国产精品野战在线观看| 男女下面进入的视频免费午夜| 一本一本综合久久| 搞女人的毛片| 亚洲18禁久久av| 两人在一起打扑克的视频| 国语自产精品视频在线第100页| 岛国视频午夜一区免费看| 三级毛片av免费| 日韩精品中文字幕看吧| 欧美黑人欧美精品刺激| 精品久久久久久成人av| 日韩欧美国产一区二区入口| 午夜免费激情av| 一级毛片高清免费大全| 午夜免费观看网址| 亚洲第一欧美日韩一区二区三区| 999久久久精品免费观看国产| 黄色视频,在线免费观看| 成人18禁在线播放| 欧美又色又爽又黄视频| 国产av又大| 搞女人的毛片| 欧美一区二区国产精品久久精品 | 婷婷精品国产亚洲av在线| 免费人成视频x8x8入口观看| 看黄色毛片网站| 久久这里只有精品中国| 久久久久性生活片| 人妻夜夜爽99麻豆av| 18禁美女被吸乳视频| 国产成人av激情在线播放| 国产亚洲精品第一综合不卡| 久9热在线精品视频| 亚洲最大成人中文| 国产黄a三级三级三级人| 亚洲第一欧美日韩一区二区三区| 人妻夜夜爽99麻豆av| 两个人视频免费观看高清| 精品久久久久久久久久免费视频| 午夜福利欧美成人| 两人在一起打扑克的视频| 国产精品亚洲一级av第二区| 亚洲av熟女| 一级毛片精品| 亚洲精品色激情综合| www国产在线视频色| 不卡一级毛片| 这个男人来自地球电影免费观看| 两性午夜刺激爽爽歪歪视频在线观看 | 成人国语在线视频| 在线观看www视频免费| 性色av乱码一区二区三区2| 亚洲在线自拍视频| 草草在线视频免费看| 无人区码免费观看不卡| 国产99白浆流出| 性色av乱码一区二区三区2| 怎么达到女性高潮| 18禁国产床啪视频网站| 成年女人毛片免费观看观看9| 身体一侧抽搐| 欧美成人一区二区免费高清观看 | 亚洲欧美日韩无卡精品| bbb黄色大片| 三级男女做爰猛烈吃奶摸视频| 精品久久久久久久毛片微露脸| 黄色丝袜av网址大全| 亚洲精品在线观看二区| 真人一进一出gif抽搐免费| 亚洲一区中文字幕在线| 叶爱在线成人免费视频播放| 免费在线观看日本一区| 香蕉av资源在线| 又爽又黄无遮挡网站| 黄色 视频免费看| 人成视频在线观看免费观看| 91九色精品人成在线观看| 国产精品,欧美在线| 免费看日本二区| 午夜视频精品福利| 欧美乱妇无乱码| 欧美日韩瑟瑟在线播放| 久久中文字幕一级| 亚洲av成人一区二区三| 国产精品九九99| 中文字幕最新亚洲高清| 美女大奶头视频| 免费在线观看黄色视频的| 这个男人来自地球电影免费观看| 欧美不卡视频在线免费观看 | 亚洲色图av天堂| 精品久久久久久久毛片微露脸| 午夜成年电影在线免费观看| 精华霜和精华液先用哪个| 一本一本综合久久| 在线国产一区二区在线| 亚洲自偷自拍图片 自拍| 99精品在免费线老司机午夜| 亚洲熟女毛片儿| 免费在线观看完整版高清| 精品午夜福利视频在线观看一区| 天天躁夜夜躁狠狠躁躁| 精品熟女少妇八av免费久了| 一二三四在线观看免费中文在| 免费观看人在逋| 窝窝影院91人妻| 香蕉av资源在线| 亚洲第一欧美日韩一区二区三区| 亚洲自拍偷在线| 成人av在线播放网站| av福利片在线观看| 亚洲av第一区精品v没综合| 亚洲中文日韩欧美视频| 国产亚洲欧美在线一区二区| 可以在线观看毛片的网站| 国产精品一及| 丰满人妻熟妇乱又伦精品不卡| 国产三级在线视频| 日本撒尿小便嘘嘘汇集6| 12—13女人毛片做爰片一| 高清毛片免费观看视频网站| 国产亚洲av高清不卡| 精品免费久久久久久久清纯| 欧美绝顶高潮抽搐喷水| 国产精品自产拍在线观看55亚洲| 亚洲中文日韩欧美视频| 久久久国产精品麻豆| 亚洲av成人精品一区久久| avwww免费| 最新在线观看一区二区三区| 国产亚洲精品第一综合不卡| 国产区一区二久久| 国产三级在线视频| 国产成人一区二区三区免费视频网站| 又粗又爽又猛毛片免费看| tocl精华| 三级国产精品欧美在线观看 | 精品无人区乱码1区二区| 999精品在线视频| 久久久久九九精品影院| 黑人巨大精品欧美一区二区mp4| 亚洲七黄色美女视频| 亚洲午夜理论影院| 久久久精品欧美日韩精品| 亚洲 欧美一区二区三区| 88av欧美| 国内精品久久久久精免费| 国产精品,欧美在线| 国产久久久一区二区三区| 成人三级黄色视频| 国产v大片淫在线免费观看| 男女午夜视频在线观看| 欧美丝袜亚洲另类 | 国产精品精品国产色婷婷| 99精品在免费线老司机午夜| 国产黄a三级三级三级人| 精品一区二区三区av网在线观看| 99热只有精品国产| 欧美久久黑人一区二区| 国产精品久久久久久精品电影| 欧美另类亚洲清纯唯美| 亚洲精品久久成人aⅴ小说| 国产成人欧美在线观看| 人人妻人人澡欧美一区二区| 欧美3d第一页| av国产免费在线观看| 欧美黄色淫秽网站| 亚洲自拍偷在线| 日本撒尿小便嘘嘘汇集6| 男人舔奶头视频| 18禁黄网站禁片午夜丰满| 999精品在线视频| 久久九九热精品免费| 成人特级黄色片久久久久久久| 国模一区二区三区四区视频 | 久久中文看片网| 国产精品 欧美亚洲| 日本 av在线| 亚洲男人的天堂狠狠| 国产一区二区在线观看日韩 | av超薄肉色丝袜交足视频| 亚洲午夜精品一区,二区,三区| 日日干狠狠操夜夜爽| 无限看片的www在线观看| 我要搜黄色片| 国产伦在线观看视频一区| 国产精品av久久久久免费| 久久精品国产综合久久久| 国产一区二区三区在线臀色熟女| 搡老熟女国产l中国老女人| 黄色视频,在线免费观看| 在线观看舔阴道视频| 国产精品精品国产色婷婷| 中文资源天堂在线| 少妇裸体淫交视频免费看高清 | 女生性感内裤真人,穿戴方法视频| 精品国产乱子伦一区二区三区| 男女床上黄色一级片免费看| 成人欧美大片| 久久久国产精品麻豆| 男男h啪啪无遮挡| 九九热线精品视视频播放| 中文字幕高清在线视频| 久久中文字幕人妻熟女| 757午夜福利合集在线观看| 99国产精品一区二区蜜桃av| 黄色成人免费大全| 一本久久中文字幕| 每晚都被弄得嗷嗷叫到高潮| 热99re8久久精品国产| 97碰自拍视频| www国产在线视频色| 亚洲国产精品999在线| www国产在线视频色| 18禁黄网站禁片免费观看直播| 欧美成人免费av一区二区三区| 国产真人三级小视频在线观看| 亚洲avbb在线观看| 国产私拍福利视频在线观看| 夜夜躁狠狠躁天天躁| 亚洲精品美女久久av网站| 可以在线观看毛片的网站| 色综合站精品国产| 国产免费男女视频| 一级片免费观看大全| 欧美不卡视频在线免费观看 | 久久精品人妻少妇| 亚洲免费av在线视频| 美女大奶头视频| 亚洲avbb在线观看| 在线免费观看的www视频| 欧美久久黑人一区二区| 久久久久久国产a免费观看| 午夜日韩欧美国产| 一个人免费在线观看电影 | 日韩精品免费视频一区二区三区| 久久久久精品国产欧美久久久| 黄片小视频在线播放| 精品久久久久久久久久免费视频| 久久久久久久午夜电影| 搞女人的毛片| 18美女黄网站色大片免费观看| 国产亚洲av高清不卡| 欧美成狂野欧美在线观看| 色哟哟哟哟哟哟| 国产真实乱freesex| 此物有八面人人有两片| 老司机午夜福利在线观看视频| 在线观看一区二区三区| 一本精品99久久精品77| 亚洲精品国产精品久久久不卡| 日韩欧美在线乱码| 精品免费久久久久久久清纯| 久热爱精品视频在线9| 桃红色精品国产亚洲av| 亚洲专区中文字幕在线| www国产在线视频色| 久久精品aⅴ一区二区三区四区| 欧美大码av| 亚洲熟妇熟女久久| 搡老熟女国产l中国老女人| 最近最新中文字幕大全免费视频| 在线观看免费视频日本深夜| 日韩有码中文字幕| 国产精品久久久av美女十八| 国产人伦9x9x在线观看| 国产av不卡久久| 两性午夜刺激爽爽歪歪视频在线观看 | 美女扒开内裤让男人捅视频| 岛国视频午夜一区免费看| 亚洲精品av麻豆狂野| 女生性感内裤真人,穿戴方法视频| 亚洲欧洲精品一区二区精品久久久| 精华霜和精华液先用哪个| 国产麻豆成人av免费视频| 小说图片视频综合网站| 亚洲欧美一区二区三区黑人| 无限看片的www在线观看| 99久久无色码亚洲精品果冻| 欧美三级亚洲精品| 免费在线观看成人毛片| av在线播放免费不卡| www.精华液| 久久久久久久久久黄片| 成人精品一区二区免费| 日本a在线网址| av福利片在线观看| 亚洲人成电影免费在线| 村上凉子中文字幕在线| 国内久久婷婷六月综合欲色啪| 黄片小视频在线播放| 精品久久久久久久人妻蜜臀av| 叶爱在线成人免费视频播放| 久热爱精品视频在线9| 欧美色视频一区免费| 女人高潮潮喷娇喘18禁视频| 国产精品永久免费网站| 亚洲精品美女久久久久99蜜臀| 在线国产一区二区在线| 夜夜爽天天搞| 人妻夜夜爽99麻豆av| 成年免费大片在线观看| 国产蜜桃级精品一区二区三区| 看免费av毛片| 国产黄色小视频在线观看| 黑人巨大精品欧美一区二区mp4| 在线观看日韩欧美| 成人三级黄色视频| 欧美久久黑人一区二区| 国产精品精品国产色婷婷| 777久久人妻少妇嫩草av网站| 精品欧美国产一区二区三| 人人妻人人澡欧美一区二区| 高清在线国产一区| 九九热线精品视视频播放| 色老头精品视频在线观看| 欧美成狂野欧美在线观看| 女人高潮潮喷娇喘18禁视频| 黄色丝袜av网址大全| 国产精品九九99| 757午夜福利合集在线观看| 成人手机av| 日本五十路高清| 国产精品永久免费网站| 视频区欧美日本亚洲| 天天一区二区日本电影三级| 欧美成狂野欧美在线观看| 最好的美女福利视频网| 中文在线观看免费www的网站 | 色老头精品视频在线观看| 成年人黄色毛片网站| 人人妻,人人澡人人爽秒播| 亚洲av电影不卡..在线观看| 88av欧美| 搞女人的毛片| 久久午夜亚洲精品久久| 国产成人系列免费观看| 夜夜躁狠狠躁天天躁| 91av网站免费观看| 中文亚洲av片在线观看爽| 免费在线观看成人毛片| 久久天堂一区二区三区四区| 男男h啪啪无遮挡| 母亲3免费完整高清在线观看| 欧美一区二区精品小视频在线| 成人三级做爰电影| 国产av不卡久久| 不卡av一区二区三区| 桃红色精品国产亚洲av| 色在线成人网| 久久久久久久久免费视频了| 久久中文字幕人妻熟女| 亚洲电影在线观看av| 最新在线观看一区二区三区| 欧美黄色片欧美黄色片| 熟妇人妻久久中文字幕3abv| 欧美成狂野欧美在线观看| 天天躁狠狠躁夜夜躁狠狠躁| 久久久久久久久免费视频了| 搡老妇女老女人老熟妇| 久久久久久免费高清国产稀缺| 性欧美人与动物交配| 亚洲av美国av| 欧美性长视频在线观看| 99在线视频只有这里精品首页| av国产免费在线观看| 精品国产乱子伦一区二区三区| 日本a在线网址| 两个人的视频大全免费| 亚洲精品国产一区二区精华液| 麻豆国产97在线/欧美 | 18禁美女被吸乳视频| 999精品在线视频| 色综合欧美亚洲国产小说| 日韩三级视频一区二区三区| 亚洲av五月六月丁香网| 免费在线观看黄色视频的| 欧美黑人精品巨大| 国产亚洲精品综合一区在线观看 | 欧美又色又爽又黄视频| 中文字幕最新亚洲高清| 香蕉丝袜av| 欧美日韩黄片免| 国产69精品久久久久777片 | 免费在线观看黄色视频的| 国产主播在线观看一区二区| 人人妻人人看人人澡| 日韩高清综合在线| 国产三级在线视频| 亚洲欧美日韩高清在线视频| 久久久久久久精品吃奶| 日韩精品青青久久久久久| 日韩欧美国产在线观看| 日本免费a在线| 成人av一区二区三区在线看| 国产久久久一区二区三区| 国产一区二区三区在线臀色熟女| 午夜两性在线视频| 亚洲第一欧美日韩一区二区三区| 麻豆国产97在线/欧美 | 欧美成人性av电影在线观看| 日本免费一区二区三区高清不卡| 高清在线国产一区| 香蕉丝袜av| 亚洲成人久久性| 久久伊人香网站| 极品教师在线免费播放| 欧美三级亚洲精品| 亚洲av电影不卡..在线观看| 淫秽高清视频在线观看| 欧美成人午夜精品| 99久久综合精品五月天人人| 琪琪午夜伦伦电影理论片6080| 女同久久另类99精品国产91| e午夜精品久久久久久久| 99精品欧美一区二区三区四区| 欧美性长视频在线观看| 一进一出抽搐动态| 久久天堂一区二区三区四区| 亚洲自偷自拍图片 自拍| 日韩有码中文字幕| 久久精品国产清高在天天线| 天天一区二区日本电影三级| 三级毛片av免费| 岛国视频午夜一区免费看| 国产精品国产高清国产av| 国内精品久久久久久久电影| 中文字幕人妻丝袜一区二区| 欧美性长视频在线观看| 国产成人av教育| 美女高潮喷水抽搐中文字幕| 白带黄色成豆腐渣| 免费在线观看成人毛片| www.999成人在线观看| av免费在线观看网站| e午夜精品久久久久久久| 天堂√8在线中文| 亚洲精品一卡2卡三卡4卡5卡| 欧美3d第一页| 久久久久久国产a免费观看| 全区人妻精品视频| 婷婷丁香在线五月| 天天添夜夜摸|