黄a在线观看-黄a在线-黄a大片-黄色片在线看-黄色毛片免费-黄色大片网站

您的位置:首頁技術(shù)文章
文章詳情頁

Django Channel實(shí)時推送與聊天的示例代碼

瀏覽:12日期:2024-10-09 10:39:04

先來看一下最終的效果吧

Django Channel實(shí)時推送與聊天的示例代碼

開始聊天,輸入消息并點(diǎn)擊發(fā)送消息就可以開始聊天了

Django Channel實(shí)時推送與聊天的示例代碼

點(diǎn)擊 “獲取后端數(shù)據(jù)”開啟實(shí)時推送

Django Channel實(shí)時推送與聊天的示例代碼

先來簡單了解一下 Django Channel

Channels是一個采用Django并將其功能擴(kuò)展到HTTP以外的項(xiàng)目,以處理WebSocket,聊天協(xié)議,IoT協(xié)議等。它基于稱為ASGI的Python規(guī)范構(gòu)建。

它以Django的核心為基礎(chǔ),并在其下面分層了一個完全異步的層,以同步模式運(yùn)行Django本身,但異步處理了連接和套接字,并提供了以兩種方式編寫的選擇,從而實(shí)現(xiàn)了這一點(diǎn)。

詳情請參考官方文檔:https://channels.readthedocs.io/en/latest/introduction.html

再簡單說下ASGI是什么東東吧

ASGI 由 Django 團(tuán)隊提出,為了解決在一個網(wǎng)絡(luò)框架里(如 Django)同時處理 HTTP、HTTP2、WebSocket 協(xié)議。為此,Django 團(tuán)隊開發(fā)了 Django Channels 插件,為 Django 帶來了 ASGI 能力。在 ASGI 中,將一個網(wǎng)絡(luò)請求劃分成三個處理層面,最前面的一層,interface server(協(xié)議處理服務(wù)器),負(fù)責(zé)對請求協(xié)議進(jìn)行解析,并將不同的協(xié)議分發(fā)到不同的 Channel(頻道);頻道屬于第二層,通常可以是一個隊列系統(tǒng)。頻道綁定了第三層的 Consumer(消費(fèi)者)。

詳情請參考官方文檔:https://channels.readthedocs.io/en/latest/asgi.html

下邊來說一下具體的實(shí)現(xiàn)步驟

一、安裝channel

pip3 install channels pip3 install channels_redis

二、新建Django項(xiàng)目

1.新建項(xiàng)目

django-admin startproject mysite

2.新建應(yīng)用

python3 manage.py startapp chat

3.編輯mysite/settings.py文件

#注冊應(yīng)用INSTALLED_APPS = [ .... ’chat.apps.ChatConfig’, 'channels',]# 在文件尾部新增如下配置#將ASGI_APPLICATION設(shè)置設(shè)置為指向該路由對象作為您的根應(yīng)用程序:ASGI_APPLICATION = ’mysite.routing.application’#配置RedisCHANNEL_LAYERS = { ’default’: { ’BACKEND’: ’channels_redis.core.RedisChannelLayer’, ’CONFIG’: { 'hosts': [(’10.0.6.29’, 6379)], }, },}

三、詳細(xì)代碼與配置

1. 添加索引視圖的模板

在chat目錄中創(chuàng)建一個templates目錄。在您剛剛創(chuàng)建的templates目錄中,創(chuàng)建另一個名為的目錄chat,并在其中創(chuàng)建一個名為的文件index.html以保存索引視圖的模板

將以下代碼放入chat/templates/chat/index.html

<!-- chat/templates/chat/index.html --><!DOCTYPE html><html><head> <meta charset='utf-8'/> <title>Chat Rooms</title></head><body> What chat room would you like to enter?<br> <input type='text' size='100'><br> <input type='button' value='Enter'> <script> document.querySelector(’#room-name-input’).focus(); document.querySelector(’#room-name-input’).onkeyup = function(e) { if (e.keyCode === 13) { // enter, returndocument.querySelector(’#room-name-submit’).click(); } }; document.querySelector(’#room-name-submit’).onclick = function(e) { var roomName = document.querySelector(’#room-name-input’).value; window.location.pathname = ’/chat/’ + roomName + ’/’; }; </script></body></html>

2.創(chuàng)建聊天與消息推送模板

chat/templates/chat/room.html

<!DOCTYPE html><html><head> <script src='https://cdn.bootcdn.net/ajax/libs/jquery/3.5.0/jquery.min.js' type='text/javascript'></script> <link rel='stylesheet' rel='external nofollow' > <script src='https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js'></script> <meta charset='utf-8'/> <title>Chat Room</title></head><body><textarea cols='150' rows='30' class='text'></textarea><br><input type='text' size='150'><br><input type='button' value='發(fā)送消息' class='input-sm'><button class='btn btn-success'>獲取后端數(shù)據(jù)</button>{{ room_name|json_script:'room-name' }}<script> $('#get_data').click(function () { $.ajax({ url: '{% url ’push’ %}', type: 'GET', data: {'room': '{{ room_name }}','csrfmiddlewaretoken': '{{ csrf_token }}' }, }) }); const roomName = JSON.parse(document.getElementById(’room-name’).textContent); const chatSocket = new WebSocket( ’ws://’ + window.location.host + ’/ws/chat/’ + roomName + ’/’ ); let chatSocketa = new WebSocket( 'ws://' + window.location.host + '/ws/push/' + roomName ); chatSocket.onmessage = function (e) { const data = JSON.parse(e.data); // data 為收到后端發(fā)來的數(shù)據(jù) //console.log(data); document.querySelector(’#chat-log’).value += (data.message + ’n’); }; chatSocketa.onmessage = function (e) { let data = JSON.parse(e.data); //let message = data['message']; document.querySelector('#chat-log').value += (data.message + 'n'); }; chatSocket.onclose = function (e) { console.error(’Chat socket closed unexpectedly’); }; chatSocketa.onclose = function (e) { console.error('Chat socket closed unexpectedly'); }; document.querySelector(’#chat-message-input’).focus(); document.querySelector(’#chat-message-input’).onkeyup = function (e) { if (e.keyCode === 13) { // enter, return document.querySelector(’#chat-message-submit’).click(); } }; document.querySelector(’#chat-message-submit’).onclick = function (e) { const messageInputDom = document.querySelector(’#chat-message-input’); const message = messageInputDom.value; chatSocket.send(JSON.stringify({ ’message’: message })); messageInputDom.value = ’’; };</script></body></html>

3.創(chuàng)建房間的視圖

將以下代碼放入chat/views.py

# chat/views.pyfrom django.shortcuts import renderfrom django.http import JsonResponsefrom channels.layers import get_channel_layerfrom asgiref.sync import async_to_syncdef index(request): return render(request, 'chat/index.html')def room(request, room_name): return render(request, 'chat/room.html', {'room_name': room_name})def pushRedis(request): room = request.GET.get('room') print(room) def push(msg): channel_layer = get_channel_layer() async_to_sync(channel_layer.group_send)( room, {'type': 'push.message', 'message': msg, 'room_name': room} ) push('推送測試', ) return JsonResponse({'1': 1})

4. 創(chuàng)建項(xiàng)目二級路由

在chat目錄下創(chuàng)建一個名為的文件urls.py

# mysite/chat/urls.pyfrom django.urls import pathfrom . import viewsurlpatterns = [ path(’’, views.index, name=’index’), path(’<str:room_name>/’, views.room, name=’room’),]

5. 修改根路由

# mysite/urls.pyfrom django.contrib import adminfrom django.urls import path, includefrom chat.views import pushRedisurlpatterns = [ path(’admin/’, admin.site.urls), path('chat/', include('chat.urls')), path('push', pushRedis, name='push'),]

6.創(chuàng)建一個消費(fèi)者

文件chat/consumers.py

當(dāng)Django接受HTTP請求時,它會查詢根URLconf來查找視圖函數(shù),然后調(diào)用該視圖函數(shù)來處理該請求。同樣,當(dāng)Channels接受WebSocket連接時,它會查詢根路由配置以查找使用者,然后在使用者上調(diào)用各種功能來處理來自連接的事件。

import timeimport jsonfrom channels.generic.websocket import WebsocketConsumer, AsyncWebsocketConsumerfrom asgiref.sync import async_to_syncimport redispool = redis.ConnectionPool( host='10.0.6.29', port=6379, max_connections=10, decode_response=True,)conn = redis.Redis(connection_pool=pool, decode_responses=True)class ChatConsumer(AsyncWebsocketConsumer): async def connect(self, ): self.room_name = self.scope['url_route']['kwargs']['room_name'] self.room_group_name = 'chat_%s' % self.room_name await self.channel_layer.group_add( self.room_group_name, self.channel_name, ) await self.accept() async def disconnect(self, close_code): print('close_code: ', close_code) await self.channel_layer.group_discard( self.room_group_name, self.channel_name ) async def receive(self, text_data=None, bytes_data=None): text_data_json = json.loads(text_data) message = text_data_json['message'] print('receive_message:', message) await self.channel_layer.group_send( self.room_group_name, {'type': 'chat_message','message': message } ) async def chat_message(self, event): receive_message = event['message'] response_message = 'You message is :' + receive_message await self.send(text_data=json.dumps({ 'message': response_message }))class PushMessage(WebsocketConsumer): def connect(self): self.room_group_name = self.scope['url_route']['kwargs']['room_name'] async_to_sync(self.channel_layer.group_add)( self.room_group_name, self.channel_name ) self.accept() def disconnect(self, code): async_to_sync(self.channel_layer.group_discard)( self.room_group_name, self.channel_name ) def push_message(self, event): ''' 主動推送 :param event: :return: ''' print(event, type(event)) while True: time.sleep(2) msg = time.strftime('%Y-%m-%d %H:%M:%S') + '--- room_name: %s' % event['room_name'] self.send(text_data=json.dumps({'message': msg} ))

7.為項(xiàng)目添加websocket的路由配置

在chat目錄下創(chuàng)建一個名為的文件routing.py

# mysite/chat/routing.pyfrom django.urls import re_path, pathfrom . import consumerswebsocket_urlpatterns = [ re_path(r'ws/chat/(?P<room_name>w+)/$', consumers.ChatConsumer), path('ws/push/<room_name>', consumers.PushMessage),]

8.配置websocket根路由

與setting同級目錄新建ws根路由文件 routing.py

from channels.routing import ProtocolTypeRouter, URLRouterfrom channels.auth import AuthMiddlewareStackimport chat.routingapplication = ProtocolTypeRouter({ 'websocket': AuthMiddlewareStack( URLRouter( chat.routing.websocket_urlpatterns ) ),})

9.最終的文件關(guān)系如下圖

Django Channel實(shí)時推送與聊天的示例代碼

10.啟動服務(wù)

python3 manage.py runserver 10.0.6.2:80

注意看,這和django是不一樣的

Django Channel實(shí)時推送與聊天的示例代碼

還有另一種更穩(wěn)健的啟動方式

和setting同級新增文件 asgi.py

import osimport djangofrom channels.routing import get_default_applicationos.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')django.setup()application = get_default_application()

啟動方式為:

daphne -b 10.0.6.2 -p 80 mysite.asgi:application

daphne 在安裝channel時已經(jīng)自動安裝好了

Django Channel實(shí)時推送與聊天的示例代碼

參考:

https://channels.readthedocs.io/en/latest/tutorial/index.html

https://blog.ernest.me/post/asgi-demonstration-realtime-blogging

到此這篇關(guān)于Django Channel實(shí)時推送與聊天的示例代碼的文章就介紹到這了,更多相關(guān)Django Channel實(shí)時推送與聊天內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 亚洲无在线观看 | 色欲天天天综合网 | av免费观看网址 | 日韩免费一区二区三区 | 午夜福利国产精品久久 | 永久免费未满 | 蜜臀精品国产高清在线观看 | 狠狠艹狠狠干 | 国产性色强伦免费视频 | 人人草人| 日本一区视频在线 | 国产精品久久欧美久久一区 | 精品国产第一区二区三区的特点 | 欧洲天堂网 | 国产三级在线看 | 黄色在线不卡 | 可以看片的网站色 | 国产在线不卡精品网站 | 乳女教师の诱惑julia | 性xxxx视频播放免费 | 国产偷人妻精品一区二区在线 | 在线观看日本视频 | xxxx69黄大片| 国产美女激情视频 | 欧美一级三级 | 婷婷激情综合 | 美女隐私视频黄www曰本 | 91免费黄 | 日本边添边摸免费视频网站 | 9l视频自拍九色9l视频最新 | 老汉色av | 黄瓜视频在线免费观看 | 免费一级淫片aaa片毛片a级 | 亚洲一区二区免费 | 成人免费观看黄a大片夜月小说 | 精品久久久久久久久久久aⅴ | www.亚洲在线 | 日韩在线免费视频观看 | 伊人色综合久久天天小片 | 国产视频一区二区在线观看 | 日本少妇毛茸茸 | 久草在线资源总站 | 国产一区亚洲二区三区 | 丁香花开心四播房麻豆 | 久久国产色av免费看 | 色午夜| 欧美videos另类极品 | 一本久久a久久精品综合 | 看看黄色片 | av一本久道久久综合久久鬼色 | 丝袜捆绑调教午夜一区二区 | 欧洲精品在线观看 | 公妇乱淫真实生活 | 精品久久久久久久久久ntr影视 | 狠狠躁日日躁夜夜躁 | 日本熟妇ⅹxx毛片分类 | 爱色av·com| 女人天堂久久爱av四季av | 青娱乐最新视频 | 国产大学生粉嫩无套流白浆 | 国产丰满天美videossex | 亚洲乱码日产精品bd | 99在线视频精品 | 亚洲国产成人精品久久 | 欧洲熟妇色xxxx欧美老妇 | 精品一区二区三区在线观看 | 九色com| 成人午夜激情视频 | 色婷婷午夜 | 日本激情小视频 | 69影院少妇在线观看 | 99久久综合精品五月天 | 毛片毛片毛片毛片毛片 | 成人免费版欧美州 | 日本亚洲色大成网站www久久 | 成人喂奶露着大乳 | 成人国产精品免费观看 | 欧美性猛交xxxx黑人猛交 | 中文字幕人乱码中文 | 黄色中文字幕在线观看 | 精品国产亚洲一区二区三区 | 无码精品人妻一区二区三区漫画 | 色狠久 | 久久久无码精品亚洲日韩按摩 | 亚洲女子a中天字幕 | 青草青在线 | 超碰97在线人人 | 尤物九九久久国产精品的特点 | 国产极品jk白丝喷白浆图片 | 啪啪av大全导航福利网址 | 日本公与丰满熄 | 亚洲自拍偷拍一区二区三区 | 午夜91视频| 人妻丰满熟妇av无码区乱 | 欧美a在线看 | 好吊色综合 | 天天色成人 | 日韩精品一区二区三区四区新区 | 一个人看的www日本高清视频 | 精品99久久| 国产无遮挡又黄又爽免费软件 | 免费国产a | 国产精品一区二区三区久久久 | 少妇高潮毛片 | 涩涩小网站 | 精品视频一区二区三区四区五区 | 亚洲国产精品成人久久久麻豆 | 国产日韩精品在线观看 | 亚洲综合色自拍一区 | 美女裸体视频永久免费 | 国产粉嫩高中无套进入 | 国产区在线观看视频 | 一道本一二三区 | 午夜视频在线免费播放 | 成人动漫一区二区 | 中国a级大片| 国产精品羞羞答答xxdd | 成人两性视频 | 又粗又大内射免费视频小说 | 6―13呦精品| 国产国产人免费人成免费 | 欧产日产国产69 | 国产色频 | 欧美毛片视频 | 欧美第三页| 狠狠色噜噜狠狠狠狠777米奇 | 伊人精品久久久大香线蕉 | 亚洲国产成人一区二区在线 | 噜噜高清欧美内射短视频 | 国产无遮挡aaa片爽爽 | 中文字幕免费高清视频 | 日本少妇xxxx | 欧美mv日韩mv国产网站app | 欧美乱人伦人妻中文字幕 | 国语对白新婚少妇在线观看 | 国产乱码一区二区三区 | 中文字幕乱码亚洲无线三区 | 欧美激情综合五月色丁香 | 动漫美女露胸网站 | 91超薄肉色丝袜交足高跟凉鞋 | 国产精品丝袜www爽爽爽 | 懂色av蜜乳av一二三区 | 黑丝国产在线 | 精品中文在线 | 亚洲午夜视频在线 | 成人精品水蜜桃 | 无码国产精品久久一区免费 | 又大又粗欧美黑人aaaaa片 | 国产成人免费9x9x人网站视频 | 久久国产精品福利一区二区三区 | 国产色视频一区二区三区 | 亚洲25p| 男人猛吃奶女人爽视频 | 天天精品在线 | 中文字幕一区二区免费 | 91丨porny丨最新 | 亚洲大尺度无码无码专线一区 | 国产精品黄在线观看免费软件 | 夜夜骑狠狠干 | 五月婷婷网 | 日本丰满少妇裸体自慰 | 97在线免费公开视频 | 国产九九九九九九九a片 | 特黄特色大片免费观看播放器 | 91日日拍夜夜嗷嗷叫国产 | 华人av在线 | 国产三级中文字幕 | 一本色道久久综合亚洲精品图片 | 黄色免费在线网站 | 97碰碰碰免费公开在线视频 | 极品少妇xxxx精品少妇 | 夜夜性日日交xxx性视频 | 久久婷婷五月综合色一区二区 | 日韩 欧美 中文字幕 制服 | 狠狠色丁香久久婷婷综合五月 | 国产91天堂素人搭讪系列 | 色老头在线视频 | 一区二区视频网站 | 日本一级黄 | 粉嫩av一区二区三区在线播放 | 亚洲午夜精品久久久久久人妖 | 黄色大片网站在线观看 | 国产又粗又猛又爽又黄的视频文字 | 国产69精品久久久久999小说 | 亚洲欧美18岁网站 | 美女裸体跪姿扒开屁股无内裤 | 蜜桃成人在线视频 | 国产婷婷色综合av蜜臀av | 欧美xx在线 | 免费观看日韩毛片 | 日韩美女乱淫免费看视频大黄 | 久久人人爽人人爽人人片亞洲 | 亚洲伊人久久精品影院 | 日本黄又爽又大高潮毛片 | 欧美高清videosex极品 | 18色av | 国产日韩精品入口 | 精品熟人一区二区三区四区 | 污污在线免费观看 | 天堂69堂在线精品视频软件 | 伊人久久大香线蕉av色婷婷色 | 亚洲精品乱码久久久久久金桔影视 | 狠狠综合久久av一区二区老牛 | 少妇一级淫片免费 | 成人国产一区二区 | 99在线精品视频观看 | 男人亚洲天堂 | 超碰com| 青青草av在线播放 | 亚洲精品一区二区三天美 | 男女猛烈无遮挡免费视频 | 亚洲激情综合 | 调教驯服丰满美艳麻麻在线视频 | 国产精品免费久久久久久久久久中文 | 日本中文在线视频 | 羞羞麻豆国产精品1区2区3区 | 樱井莉亚av | 欧美女优一区 | av 一区二区三区 | 少妇裸体做爰免费视频网站 | 亚洲小视频网站 | 精品久久久噜噜噜久久久 | 91精品福利 | 欧美性受黑人性爽 | av 日韩 人妻 黑人 综合 无码 | 成人免费大片在线观看 | 国产一级片精品 | 午夜视频在线看 | 欧美日韩一区二区精品 | 激情婷婷av | 黄色片在线看 | 日日婷婷夜日日天干 | 国产伦人伦偷精品视频 | 欧美亚洲精品一区二区 | 无码人妻av一区二区三区蜜臀 | 国产亚洲一区二区在线观看 | 色婷婷欧美在线播放内射 | 成人在线观看你懂的 | 久久久看片 | 亚洲成色www久久网站 | 三级全黄做爰龚玥菲在线 | 五月天丁香视频 | 99re视频这里只有精品 | 亚洲综合国产 | 国产成人精品日本亚洲网站 | 免费的黄色大片 | 国产亚洲成人av | 青娱乐极品视觉盛宴国产视频 | 久久99精品久久久久久不卡 | 亚洲夜夜夜| 成人黄色大全 | 佐佐木希av一区二区三区 | 榴莲视频黄色 | 国产精品熟女人妻 | 少妇高潮zzzzzzzy一avhd | 日韩av片无码一区二区不卡电影 | 久久香蕉超碰97国产精品 | 成人激情小视频 | 久久婷婷国产综合精品 | 欧美高清精品 | 无码国产激情在线观看 | 在线中文字幕日韩 | 影音先锋久久久久av综合网成人 | 视频二区中文字幕 | 亚洲愉拍99热成人精品 | 无遮挡1000部拍拍拍免费 | 久久久中文网 | 亚洲大色 | 亚洲女人av久久天堂 | 衣服被扒开强摸双乳18禁网站 | 一级做a免费 | 精品97国产免费人成视频 | 日本精品高清一区二区 | 少妇高潮毛片免费看 | 97香蕉久久超级碰碰高清版 | 毛片毛片毛片毛片毛片毛片毛片毛片 | 不卡av网站 | 欧美黄色免费视频 | 一本色道久久亚洲精品加勒比 | 久久婷婷五月综合色丁香 | 黄色大片一区二区三区 | 国产一级片免费看 | 精品黄色在线观看 | 欧美日韩色另类综合 | 人妻美妇疯狂迎合系列视频 | 久久久国产精华液 | 懂色av中文一区二区三区天美 | 性欧美视频在线观看 | 男女啪动最猛动态图 | 关秀媚三级露全乳 | 国产精品人妖ts系列视频 | 欧美v亚洲v综合ⅴ国产v | 欧美freesex黑人又粗又大 | 无码人妻精品一区二区 | 97日日碰曰曰摸日日澡 | 吻胸摸腿揉屁股娇喘视频网站小说 | 亚洲国产另类久久久精品网站 | 依依激情网 | 日韩有码在线播放 | 欧美人与禽猛交乱配视频 | 色一情一乱一乱一区91av | 麻豆91精品91久久久的优点 | 欧美亚洲日本国产 | 波多野结衣视频免费看 | 五月激情在线观看 | 欧美香蕉视频 | 色五婷婷 | 国产在线无码精品电影网 | 草久久免费视频 | 日本大胆人体视频 | 按摩毛片 | 黄色一集片 | 日本熟妇色一本在线视频 | 国产无遮挡成人免费视频 | 成人在线免费视频播放 | 巨肉高h文从头做到尾肉短文 | 91黄色视屏 | 高跟鞋av| 一本大道东京热无码视频 | 少妇献身老头系列 | 亚洲香蕉视频天天爽 | 日本乱子人伦在线视频 | 日本不卡一区二区三区 | 91嫩草精品少妇 | 国产精品夜夜春夜夜爽久久老牛 | 国产伦理一区二区三区 | 久久国产精品亚洲 | 日本护士╳╳╳hd少妇 | 午夜看毛片 | 亚洲第一aaaaa片 | 久久国产avjust麻豆 | 日韩免费片| 色诱视频在线观看 | 日韩精品字幕 | 国产成人av免费 | 亚洲高清中文字幕 | 亚洲日韩乱码中文无码蜜桃臀网站 | 欧美丰满熟妇bbbbbb百度 | 两个人日本www免费版 | 亚洲丁香婷婷久久一区二区 | 一区二区亚洲 | 中文字幕亚洲欧美日韩在线不卡 | 欧美做受xxxxxⅹ性视频 | 国产精品一卡二卡三卡四卡 | 成人夜晚视频 | 国产视频一区二区在线播放 | 污污在线免费观看 | 尹人色| 九色蝌蚪9l视频蝌蚪9l视频开放 | 97青草超碰久久国内精品91 | 欧洲做受高潮免费看 | 成人91免费版 | xxxx精品| 污污免费在线观看 | 九色porny丨首页入口网页 | 中文字幕av在线一二三区 | 亚洲成人精品视频 | 亚洲va无码va在线va天堂 | 九色在线 | 久操色| av大片免费 | 性瘾荡乳h古代 | 日本一区午夜艳熟免费 | 天天干天天操天天拍 | 天天射天天日本一道 | 成年片黄色日本大片网站视频 | 久久久九九| 国产性猛交╳xxx乱大交 | 中文字幕第一页永久有效 | 色噜噜狠狠成人中文 | 午夜寂寞少妇aaa片毛片 | 午夜久久久久久久久 | 亚洲色图插插插 | 午夜无码一区二区三区在线观看 | 特一级一性一交一视一频 | 肉色超薄丝袜脚交91 | 蜜臀av免费在线观看 | 上海毛片 | 亚洲第一页在线 | 美国一级大黄一片免费中文 | 日日操日日射 | 精品福利在线视频 | 中文字幕亚韩 | 日韩欧美激情在线 | 亚洲色偷拍区另类无码专区 | 大桥未久av一区二区三区中文 | 午夜美女福利视频 | 日本不卡三区 | 亚洲综合色在线 | 国产性色强伦免费视频 | 屁屁国产第一页草草影院 | 黄色一极毛片 | 亚洲色图一区二区 | 女人做爰全过程免费观看美女 | 男人扒开女人腿桶到爽免费 | 亚洲熟妇av一区二区三区宅男 | 名人明星三级videos | 国产成人一区在线观看 | 成人无码一区二区三区网站 | 屁屁影院一区二区三区 | 活大器粗np高h一女多夫 | 亚洲精品久久久久中文字幕二区 | 日本中文字幕在线视频 | 国产精品视频不卡 | 四虎久久久久 | 日韩一卡2卡3卡新区乱码来袭 | 日韩免费黄色片 | 国产又爽又黄又刺激的视频 | 国产亚洲在线观看 | 91亚洲精华国产精华精华液 | 国产成人欧美一区二区三区八 | 人善交video另类hd国产片 | 藏精阁成人免费观看在线视频 | 1000部拍拍拍18勿入在线看 | 精品国产免费久久久久久桃子图片 | www国产精品内射老熟女 | 色综合天天色 | 91精品国产色综合久久不卡粉嫩 | 亚洲图片在线 | 明星性猛交ⅹxxx乱大交 | 91看黄| 在线天堂新版最新版在线8 麻豆成人精品国产免费 | 欧美日韩亚洲二区 | av免费观看入口 | 久久人人爽爽爽人久久久 | 男女国产视频 | 精品xxxxx | 国产精品入口麻豆 | 女人与牲口性恔配视频免费 | 色六月婷婷 | 可以免费看污视频的网站 | 丰满老女人乱妇dvd在线播放 | 人妻丰满av无码久久不卡 | 一卡二卡国产 | 国产欧美日韩在线观看 | 30一40一50老女人毛片 | 免费黄色小视频在线观看 | 中文字幕国产专区 | 亚洲日韩一区二区 | 日韩av毛片在线观看 | 国产视频日韩 | 草久免费视频 | 天海翼一区 | 日韩爱爱网站 | 久久国产香蕉视频 | 欧美亚洲另类视频 | 三级网站视频 | 亚洲欧洲国产精品 | 99久久99久久免费精品蜜桃 | 亚洲最大成人综合网 | 久久亚洲精品无码va白人极品 | 成人国产网站 | 五月天综合婷婷 | 西方裸体在线观看 | wwwav成人| 亚洲精品乱码久久久久久蜜桃不卡 | 色在线免费观看 | 久久98精品久久久久久久性 | 亚洲aⅴ在线无码播放毛片一线天 | 天堂√在线中文资源网 | 在线国产片 | 国产区在线观看视频 | snis839痴汉明日花キララ | 黄色成人在线视频 | 136fldh导航福利视频 | 久久成人国产精品 | 国产精品天干天干在线 | 日本免费中文字幕 | 国产乱人伦精品一区二区三区 | 精品福利视频一区二区 | 久久艹逼视频 | 依依综合网 | 亚洲国产美女久久久久 | 日本aⅴ免费视频一区二区三区 | 国精品人妻无码一区免费视频电影 | 91免费网址| 中文字幕第8页 | 亚洲精品国产成人av在线 | 国产第一页在线播放 | 精品国产一区二区三区日日嗨 | 日韩av成人 | ass色喜ass国模人体 | 国产av国片精品有毛 | 91免费 看片 | 国产偷自拍 | 日本网站在线免费观看 | 舌奴调教日记 | 成人国产一区二区三区精品 | 91亚洲网 | 高h肉放荡爽全文寂寞少妇 高h肉各种姿势g短篇np视频 | 无码人妻久久一区二区三区不卡 | 玩弄人妻少妇500系列 | 国产伦精品一区二区三区视频金莲 | a级片视频网站 | 两性视频久久 | 性色生活片| 91精品啪在线观看国产老湿机 | 国产成人欧美一区二区三区的 | 区一区二区三区中文字幕 | 性欧美xxxx | 亚洲视频在线免费看 | 久久精品97 | 天堂а√在线中文在线鲁大师 | 免费a级毛片在线播放 | 久久一区二区三区精华液使用 | 欧美xxxx做受性欧美88 | 蜜臀av夜夜澡人人爽人人 | 午夜福利国产成人无码gif动图 | 在线日韩成人 | 久草黄色网 | 精品小视频在线观看 | va在线观看| 免费国产高清 | 国产人伦视频 | 亚洲人成77777在线播放网站 | 男女性潮高清免费网站 | 欧美黄色一区 | 四虎影视亚洲精品一区二区 | 91精品国产精品 | 性一交一乱一乱一视频 | 中文有码一区 | 欧美日本国产精品 | 欧美毛茸茸 | 人人爱人人澡 | 欧美黑人性暴力猛交喷水 | 女人精69xxx免费观 | 人人爱人人草 | av大片免费看 | 午夜黄色在线观看 | 欧美粗暴se喷水 | 国产实拍会所女技师在线观看 | 乱视频在线 | 青久草视频 | 免费精品一区二区 | zljzljzlj日本人免费 | 丝袜一级片| 中文字幕亚洲精品无码 | 99视频偷窥在线精品国自产拍 | 国内久久精品视频 | 日韩一级性 | 国产91亚洲精品 | 亚洲综合视频一区 | 亚洲深夜视频 | 中国特级毛片 | 伊人久久av | 欧美日韩一区在线观看 | 男人天堂网在线观看 | 人妖ts福利视频一二三区 | 亚洲少妇网 | 亚洲色图25p | 欧美亚洲一二三区 | 欧美数码高清视频 | 欧美黑人xxxx高潮猛交 | 久久摸摸碰碰97网站 | 永久免费看mv网站入口亚洲 | 成人av激情 | 免费人成视频网站在线观看18 | 91精品综合久久久久m3u8 | 国产99久久久国产精品潘金 | 亚洲情侣偷拍激情在线播放 | 91成人海角社区 | 亚洲日日骚 | 国产成人a∨激情视频厨房 国产精品无码一区二区三级 | 国产毛片精品国产一区二区三区 | 国产精品不卡视频 | 色亚洲欧美| 亚洲精品久久久久久久小说 | 国产无玛 | 小鲜肉自慰网站 | 久久牛牛 | 中文无码热在线视频 | 天堂а√在线地址中文在线 | 一卡二区| 午夜看片在线 | 日美韩一区二区三区 | 日韩综合一区 | 国产一区二区在线播放视频 | 亚洲国产精品成人一区二区在线 | 欧美国产精品一区 | 在线观看国产午夜福利片 | 人人澡人人透人人爽 | 91啪在线| 国产精品无码一区二区在线观一 | 一本大道无码av天堂 | 日日鲁夜夜视频热线播放 | 老司机aⅴ在线精品导航 | 俄罗斯精品一区二区 | 爱爱三级视频 | 午夜网站免费 | 国产成人无码免费视频在线 | 天天都色 | 成人xy99tv | 成人一二三四区 | 狠狠色噜噜狠狠狠狠米奇777 | 欧美专区第二页 | 噜噜噜噜狠狠狠7777视频 | 一级黄片毛片 | 欧美亚洲国产精品久久蜜芽直播 | 毛片你懂的 | 国产一二区在线 | 99热这里只有精品在线 | 97人妻熟女成人免费视频色戒 | 国产日韩精品入口 | 四虎久久久 | 国产做爰全免费的视频软件 | 祥仔av免费一区二区三区四区 | 亚洲中文字幕久久久一区 | a视频在线免费观看 | 秋霞影院午夜伦 | 夜夜爽一区二区三区精品 | 免费无码鲁丝片一区二区 | 污污网站免费在线观看 | 日韩欧美在线第一页 | 天天草天天摸 | sese欧美|