久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

如何用JS WebSocket實現簡單聊天

瀏覽:121日期:2024-03-27 17:57:59
短輪詢(Polling)

短輪詢的實現思路就是瀏覽器端每隔幾秒鐘向服務器端發送 HTTP 請求,服務端在收到請求后,不論是否有數據更新,都直接進行響應。在服務端響應完成,就會關閉這個 TCP 連接,代碼實現也最簡單,就是利用 XHR, 通過 setInterval 定時向后端發送請求,以獲取最新的數據。

setInterval(function() { fetch(url).then((res) => { // success code })}, 3000);

優點:實現簡單。

缺點:會造成數據在一小段時間內不同步和大量無效的請求,安全性差、浪費資源。

長輪詢(Long-Polling)

客戶端發送請求后服務器端不會立即返回數據,服務器端會阻塞請求連接不會立即斷開,直到服務器端有數據更新或者是連接超時才返回,客戶端才再次發出請求新建連接、如此反復從而獲取最新數據。大致效果如下:

如何用JS WebSocket實現簡單聊天

客戶端代碼如下:

function async() { fetch(url).then((res) => {async();// success code }).catch(() => {// 超時async(); })}

優點:比 Polling 做了優化,有較好的時效性。

缺點:保持連接掛起會消耗資源,服務器沒有返回有效數據,程序超時。

WebSocket

前面提到的短輪詢(Polling)和長輪詢(Long-Polling), 都是先由客戶端發起 Ajax 請求,才能進行通信,走的是 HTTP 協議,服務器端無法主動向客戶端推送信息。

當出現類似體育賽事、聊天室、實時位置之類的場景時,輪詢就顯得十分低效和浪費資源,因為要不斷發送請求,連接服務器。WebSocket 的出現,讓服務器端可以主動向客戶端發送信息,使得瀏覽器具備了實時雙向通信的能力。

沒用過 WebSocket 的人,可能會以為它是個什么高深的技術。其實不然,WebSocket 常用的 API 不多也很容易掌握,不過在介紹如何使用之前,讓我們先看看它的通信原理。

通信原理

當客戶端要和服務端建立 WebSocket 連接時,在客戶端和服務器的握手過程中,客戶端首先會向服務端發送一個 HTTP 請求,包含一個 Upgrade 請求頭來告知服務端客戶端想要建立一個 WebSocket 連接。

在客戶端建立一個 WebSocket 連接非常簡單:

let ws = new WebSocket(’ws://localhost:9000’);

類似于 HTTP 和 HTTPS,ws 相對應的也有 wss 用以建立安全連接,本地已 ws 為例。這時的請求頭如下:

Accept-Encoding: gzip, deflate, brAccept-Language: zh-CN,zh;q=0.9Cache-Control: no-cacheConnection: Upgrade // 表示該連接要升級協議Cookie: _hjMinimizedPolls=358479; ts_uid=7852621249; CNZZDATA1259303436=1218855313-1548914234-%7C1564625892; csrfToken=DPb4RhmGQfPCZnYzUCCOOade; jsESSIONID=67376239124B4355F75F1FC87C059F8D; _hjid=3f7157b6-1aa0-4d5c-ab9a-45eab1e6941e; acw_tc=76b20ff415689655672128006e178b964c640d5a7952f7cb3c18ddf0064264Host: localhost:9000Origin: http://localhost:9000Pragma: no-cacheSec-WebSocket-Extensions: permessage-deflate; client_max_window_bitsSec-WebSocket-Key: 5fTJ1LTuh3RKjsJxydyifQ==// 與響應頭 Sec-WebSocket-Accept 相對應Sec-WebSocket-Version: 13 // 表示 websocket 協議的版本Upgrade: websocket // 表示要升級到 websocket 協議User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/76.0.3809.132 Safari/537.36

響應頭如下:

Connection: UpgradeSec-WebSocket-Accept: ZUip34t+bCjhkvxxwhmdEOyx9hE=Upgrade: websocket

如何用JS WebSocket實現簡單聊天

此時響應行(General)中可以看到狀態碼 status code 是 101 Switching Protocols, 表示該連接已經從 HTTP 協議轉換為 WebSocket 通信協議。 轉換成功之后,該連接并沒有中斷,而是建立了一個全雙工通信,后續發送和接收消息都會走這個連接通道。

注意,請求頭中有個 Sec-WebSocket-Key 字段,和相應頭中的 Sec-WebSocket-Accept 是配套對應的,它的作用是提供了基本的防護,比如惡意的連接或者無效的連接。Sec-WebSocket-Key 是客戶端隨機生成的一個 base64 編碼,服務器會使用這個編碼,并根據一個固定的算法:

GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'; // 一個固定的字符串accept = base64(sha1(key + GUID)); // key 就是 Sec-WebSocket-Key 值,accept 就是 Sec-WebSocket-Accept 值

其中 GUID 字符串是RFC6455官方定義的一個固定字符串,不得修改。

客戶端拿到服務端響應的 Sec-WebSocket-Accept 后,會拿自己之前生成的 Sec-WebSocket-Key 用相同算法算一次,如果匹配,則握手成功。然后判斷 HTTP Response 狀態碼是否為 101(切換協議),如果是,則建立連接,大功告成。

實現簡單單聊

下面來實現一個純文字消息類型的一對一聊天(單聊)功能,廢話不多說,直接上代碼,注意看注釋。

客戶端:

function connectWebsocket() { ws = new WebSocket(’ws://localhost:9000’); // 監聽連接成功 ws.onopen = () => {console.log(’連接服務端WebSocket成功’);ws.send(JSON.stringify(msgData)); // send 方法給服務端發送消息 }; // 監聽服務端消息(接收消息) ws.onmessage = (msg) => {let message = JSON.parse(msg.data);console.log(’收到的消息:’, message)elUl.innerhtml += `<li>小秋:${message.content}</li>`; }; // 監聽連接失敗 ws.onerror = () => {console.log(’連接失敗,正在重連...’);connectWebsocket(); }; // 監聽連接關閉 ws.onclose = () => {console.log(’連接關閉’); };};connectWebsocket();

從上面可以看到 WebSocket 實例的 API 很容易理解,簡單好用,通過 send() 方法可以發送消息,onmessage 事件用來接收消息,然后對消息進行處理顯示在頁面上。 當 onerror 事件(監聽連接失敗)觸發時,最好進行執行重連,以保持連接不中斷。

服務端 Node: (這里使用ws庫)

const path = require(’path’);const express = require(’express’);const app = express();const server = require(’http’).Server(app);const WebSocket = require(’ws’);const wss = new WebSocket.Server({ server: server });wss.on(’connection’, (ws) => { // 監聽客戶端發來的消息 ws.on(’message’, (message) => { console.log(wss.clients.size); let msgData = JSON.parse(message); if (msgData.type === ’open’) { // 初始連接時標識會話 ws.sessionId = `${msgData.fromUserId}-${msgData.toUserId}`; } else { let sessionId = `${msgData.toUserId}-${msgData.fromUserId}`; wss.clients.forEach(client => {if (client.sessionId === sessionId) { client.send(message); // 給對應的客戶端連接發送消息} }) } }) // 連接關閉 ws.on(’close’, () => { console.log(’連接關閉’); });});

同理,服務端也有對應的發送和接收的方法。完整示例代碼見這里

這樣瀏覽器和服務端就可以愉快的發送消息了,效果如下:

如何用JS WebSocket實現簡單聊天

其中綠色箭頭表示發出的消息,紅色箭頭表示收到的消息。

心跳保活

在實際使用 WebSocket 中,長時間不通消息可能會出現一些連接不穩定的情況,這些未知情況導致的連接中斷會影響客戶端與服務端之前的通信,

為了防止這種的情況的出現,有一種心跳保活的方法:客戶端就像心跳一樣每隔固定的時間發送一次 ping,來告訴服務器,我還活著,而服務器也會返回 pong,來告訴客戶端,服務器還活著。ping/pong 其實是一條與業務無關的假消息,也稱為心跳包。

可以在連接成功之后,每隔一個固定時間發送心跳包,比如 60s:

setInterval(() => { ws.send(’這是一條心跳包消息’);}, 60000)總結

如何用JS WebSocket實現簡單聊天

通過上面的介紹,大家應該對 WebSocket 有了一定認識,其實并不神秘,這里對文章內容簡單總結一下。當創建 WebSocket 實例的時候,會發一個 HTTP 請求,請求報文中有個特殊的字段 Upgrade,然后這個連接會由 HTTP 協議轉換為 WebSocket 協議,這樣客戶端和服務端建立了全雙工通信,通過 WebSocket 的 send 方法和 onmessage 事件就可以通過這條通信連接交換信息。

以上就是如何用JS WebSocket實現簡單聊天的詳細內容,更多關于WebSocket的資料請關注好吧啦網其它相關文章!

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 亚洲高清视频在线 | 国产高清精品一区二区三区 | 成人亚洲精品777777大片 | 亚洲国产视频网站 | 99视频免费 | 久久久久久国产精品mv | 午夜精品久久久久久久久 | 91av在| 天堂在线中文 | 神马久久久久久久久 | 久久成人综合网 | 日本福利网站 | 超碰综合 | 国产精品久久久久久久久久久久久久 | 欧美一级日韩片 | 亚洲日本二区 | 亚洲一区二区三区爽爽爽爽爽 | 久久综合久久久 | 国产精品久久久久久久免费大片 | 久久av资源网 | 亚色在线 | 艹逼逼视频 | 日韩一区二区在线观看视频 | 黄色a三级 | 91精品国产综合久久福利软件 | 久久99er6热线精品首页蜜臀 | 中文久久 | 国产区一区 | 男女羞羞视频在线观看 | 国产婷婷色一区二区三区 | 午夜免费影院 | 久久久久91| 久久久精品一区二区三区 | 一区二区精品视频在线观看 | 国产精品国色综合久久 | 免费一区二区 | 精品视频在线观看 | 日韩1区3区4区第一页 | 一区二区三区av | 日韩在线免费 | 在线观看av网站永久 | 免费成人av| 亚洲国产免费 | 麻豆91视频 | 免费看片国产 | 天天操操 | 黄视频网站免费观看 | 国产宾馆自拍 | 可以免费看的av | 国产精品国产精品国产专区不片 | 欧美一级欧美三级在线观看 | 亚洲青涩在线 | 交视频在线观看国产 | 国产精品成人一区二区 | 在线免费观看毛片 | 日韩快播电影网 | 国产美女自拍视频 | 精品一区二区国产 | 精品久久久久久久久久久 | 91看片淫黄大片一级在线观看 | 亚洲精品在线成人 | 成人免费在线观看视频 | 久草视频免费在线播放 | 日韩精品小视频 | 国产精品网站在线看 | 欧美视频在线播放 | 成人免费视频网 | 国产精品三级久久久久久电影 | 国产特级毛片 | 福利片中文字幕 | 一区二区三区在线 | 欧 | 欧美色综合 | 国产精品久久精品 | 日本一区二区视频 | 亚洲免费视频在线 | 亚洲人网站 | 一区二区国产在线观看 | 一本久久a久久精品亚洲 | 欧美激情网 | 精品国产精品 | 国产99久久精品一区二区永久免费 | 免费在线日韩 | 国产欧美日韩综合精品一区二区 | 国产在线视频一区二区 | 亚洲精品视频在线免费播放 | 久久久久成人精品 | 福利视频一区二区 | 欧美久久综合 | 久久伊99综合婷婷久久伊 | 色视频网站在线观看 | 精品成人一区 | 国产精品久久精品 | a级性生活| 日韩精品免费在线视频 | 国产欧美日韩精品一区 | 91久久久久久久久 | 午夜网址 | 成人a网 | 九九九久久久 | 色接久久 | 免费国产黄网站在线观看视频 | 久久一区| 久操视频在线 | 国产最新网址 | 成人看片免费 | 91综合视频在线观看 | 国产精品久久久久久久久久久久 | 在线国产视频 | 中文字幕精品一区久久久久 | 国产目拍亚洲精品99久久精品 | 久久亚洲精品中文字幕 | 欧美黄 片免费观看 | 一级在线播放 | 99在线精品视频 | 国产性×xxx盗摄xxxx | 成人在线视频免费观看 | 黄色四虎 | 午夜激情在线 | 欧美日韩在线免费观看 | 欧美日韩国产中文字幕 | 综合婷婷| 色69av | 国产亚洲一区二区精品 | 一区二区三区免费看 | 国产精品久久婷婷六月丁香 | 亚洲va中文字幕 | 免费大片黄在线观看 | 国产 高清 在线 | 男人av网 | 成人国产精品视频 | 久久男人 | 一区二区在线免费观看 | 欧美成人激情 | 国产a视频 | 四虎影视网址 | 欧洲一区| 精品久久亚洲 | 日韩一二| 一级免费片 | 白浆在线播放 | 欧美成人精品 | 久草院线 | 久久婷婷国产麻豆91天堂 | 久久久www成人免费精品 | 欧美色视频在线观看 | 黑人巨大精品欧美黑白配亚洲 | 99爱视频 | 久久久久久久免费 | 精品在线一区 | 国产欧美精品一区二区色综合 | 在线观看国产一级片 | 成人高清网站 | www.99| 做a视频免费观看 | 色婷婷综合网 | 91视频观看 | 超碰人人射 | 成人欧美一区二区三区黑人孕妇 | 高清av一区 | 在线观看羞羞 | 蜜桃视频在线观看www社区 | 99热精品免费| 久久精品中文 | 久久免费的视频 | 久久久久久久久久久久久久av | 91免费看 | 久久精品一区视频 | 亚洲国产一区二 | 成人免费xxx在线观看 | 中文字幕三区 | 另类综合在线 | 好看的一级毛片 | 黄网站涩免费蜜桃网站 | 亚洲乱码一区二区三区在线观看 | 日韩欧美手机在线 | 国产精品久久国产精麻豆99网站 | 成人一区二区在线 | 国产精品美女久久久久aⅴ国产馆 | 成人中文字幕在线 | a亚洲精品 | 中文字幕视频在线观看 | 午夜精品一区二区三区在线观看 | 日韩国产在线观看 | 日韩三级电影免费观看 | 中文字幕亚洲综合久久久软件 | 久久成人免费视频 | 在线精品一区 | 91精品久久久久久久久入口 | 资源av | 国产一级免费在线 | 欧美精品99 | 毛片国产| 亚洲欧洲视频 | 99re热精品视频国产免费 | 天天噜天天干 | 在线观看日韩精品 | 天天操天天插天天干 | 成人免费精品视频 | 国产日韩一区 | 天天干天天操天天舔 | 久久久天堂国产精品女人 | 欧美一区二区三 | 九色 在线| 精品久久香蕉国产线看观看亚洲 | 国产拍揄自揄精品视频麻豆 | 视频在线一区二区 | 久热伊人 | 精品视频一区二区三区四区 | 国产成人99久久亚洲综合精品 | 日本久久成人 | 99久久精品免费 | 日韩影院在线 | 国产免费亚洲 | 国产亚洲精品久久久久动 | 精品三级在线观看 | 亚洲经典视频在线观看 | 欧美a在线 | 午夜激情在线免费观看 | 日韩精品一区二区三区免费观看视频 | 成人精品视频在线 | 特级丰满少妇一级aaaa爱毛片 | 久久精品国产91精品亚洲高清 | 日韩福利视频 | 亚洲三级视频 | 国产欧美精品一区二区 | 黄网站在线播放 | 玖玖精品视频 | 亚洲精品一区二区网址 | 日日搞夜夜操 | 狠狠操夜夜操 | 亚洲中国精品精华液 | 精品久久久久久久久久 | 男女中文字幕 | 国产精品原创av片国产免费 | 亚洲视频一区二区 | 香蕉在线影院 | 久久久久亚洲一区二区三区 | 欧美国产综合 | 成人免费视频视频在线观看 免费 | 可以在线观看的黄色 | 欧美日韩a | 亚洲精彩视频在线 | 久久久久免费精品视频 | 在线视频不卡一区 | 欧美综合国产精品久久丁香 | 国产精品自拍av | 欧美激情视频一区二区三区在线播放 | 高清一区二区 | 噜噜噜视频在线观看 | 99视频在线| www.99| 亚洲一区二区三 | 久久久av一区 | 日韩有码一区 | 午夜精品一区二区三区在线播放 | 日韩欧美一级在线 | 亚洲 欧美 精品 | 久久99这里只有精品 | 在线观看国产www | 一级片在线观看 | 欧美一级片在线 | 日韩成人在线网站 | 国产精品久久久久久久一区探花 | 日本黄色片免费 | 在线观看国产精品一区二区 | 国产h视频在线观看 | 亚洲乱码在线 | 亚洲一区二区中文字幕 | 国产欧美综合一区二区三区 | 国产亚洲成av人片在线观看桃 | 亚洲精品在线播放 | 日韩欧美精品一区二区三区 | 国产激情一区二区三区 | 毛片com| 久久亚洲免费 | 国产麻豆乱码精品一区二区三区 | 国产一区二区三区在线 | 久久国内精品 | 成人不卡视频 | 欧美亚洲成人一区 | 亚洲成人中文字幕 | 亚洲欧美在线观看 | 亚洲第一成年免费网站 | 另类免费视频 | 日韩av一区在线 | 午夜男人免费视频 | 日韩电影免费在线观看中文字幕 | 亚洲网站在线观看 | 国产一级免费视频 | 欧美在线亚洲 | 久草av在线播放 | 黄色高清视频 | 欧美第7页 | 国产中文字幕一区 | 亚洲特级| 成人在线免费观看 | 91短视频版在线观看www免费 | av大片网 | 午夜精| 成人免费视频视频在线观看 免费 | 一区二区在线免费观看 | 亚洲欧洲一区 | 久久九精品 | 一级毛片免费观看 | 午夜影院在线看 | 黄色的视频免费 | 91xx在线观看 | av免费网站在线观看 | 久久精品免费一区二区三区 | 国产精品国产精品国产专区不片 | 久草在线在线精品观看 | 亚洲视频区 | 美女扒开内裤让男人桶 | 久久综合一区二区 | 国产精品一区二区三区99 | 国产日韩欧美在线 | 国产高清精品在线 | 国产欧美精品一区二区三区 | 日韩欧美国产一区二区三区 | 亚洲精品乱码久久久久久麻豆不卡 | 欧美成人久久 | 日韩视频在线观看视频 | 久久久久亚洲国产 | 欧美二区视频 | 久久久精品免费观看 | 精品亚洲一区二区三区四区五区 | 一级黄色毛片 | 国产欧美精品在线 | 在线视频亚洲 | 久久99精品久久久久国产越南 | 日韩在线播放一区二区 | 欧美一级免费看 | 九九热欧美 | 不卡成人 | 日韩国产中文字幕 | 国内精品国产三级国产在线专 | 99久久九九 | 日本久久网站 | 亚洲天堂久久 | 国产精品极品美女在线观看免费 | 中文字幕视频网站 | 在线观看亚洲一区 | 国产综合精品一区二区三区 | 亚洲欧美一区二区在线观看 | 少妇一级淫免费放 | 亚洲高清在线 | 亚洲九九| av片在线观看 | 亚洲视频在线观看 | 久久人体| 国产一区二区免费 | 一级毛片在线播放 | 日韩成人中文字幕 | 欧美日本韩国一区二区 | 精品一区久久 | 免费观看黄色一级大片 | 91精品国产99久久久久久红楼 | 成年人av网站 | 国产浪潮av色综合久久超碰 | 日韩精品99久久久久中文字幕 | 国产一区二区精品丝袜 | 一区二区三区亚洲 | 亚洲精品一区二区网址 | 国产一区二区欧美 | 午夜免费影视 | 亚洲 欧美 日韩 精品 | 亚洲成人激情在线观看 | 中文字幕视频在线观看 | 欧美成人精品一区 | 影视在线观看 | 中文字幕欧美日韩一区 | 亚洲视频精品一区 | 一级免费在线视频 | 久久久久久国产视频 | 亚洲综合大片69999 | 欧美一区在线视频 | 欧美激情在线狂野欧美精品 | www国产成人免费观看视频 | 91高清视频 | 黑人av| 成人av播放 | 国产午夜精品一区二区三区 | 一级a性色生活片久久毛片波多野 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 精品在线不卡 | 免费中文字幕日韩欧美 | 国产成人亚洲综合 | 色欧美片视频在线观看 | 看毛片网站 | 国产精品免费一区二区三区四区 | 日韩精品一区二区三区在线观看 | 99视频网站 | 成人精品国产一区二区4080 | 午夜精品成人一区二区 | 日本黄色大片免费 | 精品欧美乱码久久久久久 | www久久久| 亚洲精品成人无限看 | 国产成人精品一区二区三区网站观看 | 国产高清在线精品一区二区三区 | 日本a在线| 日韩一级大片 | 亚洲在线一区二区 | 少妇看av一二三区 | 午夜电影av | 久久综合社区 | 日韩av在线免费电影 | 99久久日韩精品视频免费在线观看 | 波多野结衣一区二区三区高清 | 黄色a级| 国产免费一区二区三区 | 国产精品久久av | 国产精品日韩欧美一区二区三区 | 欧美激情小视频 | 一级毛片视频播放 | 一级毛片免费网站 | 天天精品| 日韩城人网站 | 999精品视频 | av在线成人 | 日本久久精品视频 | 精品香蕉一区二区三区 | 亚洲欧美激情在线 | 欧美日韩一区二区中文字幕 | 久久精品99国产精品亚洲最刺激 | 亚洲视频中文字幕 | 免费在线看a| 国产一区二区三区免费视频 | 亚洲精品乱码久久久久久花季 | 免费在线观看成年人视频 | 欧美日韩一区二区三区在线观看 | 亚洲欧美一区二区三区在线 | 日韩在线成人 | 在线亚洲一区二区 | 日韩中文字幕无码一区二区三区 | 亚洲第一黄 | 精品国产三级a在线观看 | 亚洲欧美精选 | 国产精品视频不卡 | 亚洲日韩欧美一区二区在线 | 日韩精品一二三区 | 国产目拍亚洲精品99久久精品 | 欧美日韩a | 天天操天天插天天干 | 99久久婷婷国产精品综合 | av中文字幕在线播放 | 色久视频| 蜜臀av在线播放一区二区三区 | 国产精品欧美一区二区三区 | 黄色一级片视频 | 久久久国产精品 | 免费成人av网站 | 精品网站999www | 国产日韩欧美一区 | 人人叉人人 | 欧美精品一区二区视频 | 欧美在线综合 | 欧美激情性国产欧美无遮挡 | 先锋资源久久 | 在线观看视频一区 | 亚洲在线视频 | 在线国产欧美 | 国产成人一区二区 | 91精品国产一区二区 | 中文字幕免费看 | 91国自产精品中文字幕亚洲 | a毛片国产 | 高清久久 | 欧美一区二区三区精品 | 日韩成人免费av | 午夜无码国产理论在线 | 欧美久热| 中文字幕国产一区 | 中文字幕国产 | 中文字幕第十二页 | 精一区二区 | 久久r精品| 成人在线免费视频 | 亚洲一区中文字幕 | 国产精品一二三区 | 99久久精品一区二区成人 | 精品一区久久 | 亚洲精品a在线观看 | 欧美一区二区三区精品 | h视频在线观看免费 | 综合网视频| 狠狠操一区二区三区 | 国产在线在线 | 日韩欧美在线一区二区 | 国产在线高清 | 一区二区三区在线播放 | 韩国三级中文字幕hd久久精品 | 91成人在线免费视频 | 精品亚洲一区二区三区四区五区 | 日韩中文在线 | 夜夜操天天操 | 91麻豆精品国产91久久久资源速度 | 日日想日日干 | 国产欧美日本 | 免费在线观看av的网站 | 国产91精品一区二区绿帽 | 最近免费中文字幕在线视频2 | 久久精品六 | 国产成人精品无人区一区 | 岛国av免费观看 | 成人国产精品久久 | 国产91精品在线 | 中文二区| 免费av片在线 | 日韩视频一区 | 欧美日韩激情四射 | 黄色一级在线观看 | 一级黄色爱爱视频 | 6080yy精品一区二区三区 | 久久久精品电影 | 亚洲精品天堂 | 国产精品久久久久久久久免费 | 美女一级毛片 | 操老逼| 一区二区三区精品视频 | 黑人巨大精品欧美一区二区三区 | 麻豆精品国产91久久久久久 | 欧美成人黄色小说 | 天天干天天插 | 亚洲精品久久久久久久久久久久久 | 夏同学福利网 | 国产成人av免费 | 日韩欧美理论片 | 亚洲欧美日韩国产综合精品二区 | 成人在线观看免费视频 | 久久久精品影院 | 亚洲色图偷拍视频 | 亚洲一级一片 | 人人澡人人射 | 国产在线视频网站 | 中文字幕乱码一区二区三区 | 中文字幕日韩久久 | 亚洲成人一区二区 | 亚洲国产91| 91视频分类 | 男女视频在线观看 | 一道本一区二区三区 | 亚洲精品乱码久久久久久按摩观 | 日日视频| 做视频免费观看网站 | 久久久久一区二区 | 国产精品久久久久久久久久妇女 | 99热国产精品| 黄色免费在线观看 | 国产精品国产三级国产aⅴ9色 | 黄色拍拍视频 | 老司机福利在线观看 | 久久精品国产v日韩v亚洲 | 男人天堂亚洲 | 欧美不卡视频一区发布 | 狠狠躁夜夜躁人人爽天天高潮 | 欧美一级在线观看 | 免费午夜电影 | 国产欧美精品区一区二区三区 | 亚洲欧美在线免费观看 | 亚洲精品一区二区在线观看 | 久久免费99精品久久久久久 | 99视频网| 91麻豆精品国产91久久久更新资源速度超快 | 特黄毛片 | 欧美精品一区二区三区免费视频 | 国产精品久久久一区二区三区 | 欧美一区二 | 日韩免费一区 | 精品日韩在线观看 | 精品久久久久久久 | www久久久| 欧美激情一区二区 | 日韩视频在线观看一区 | 久久精品99视频 | 97av视频在线观看 | 欧美精品成人一区二区三区四区 | 亚洲成人第一区 | 国产成人精品999在线观看 | 日韩视频三区 | 亚洲精品电影网在线观看 | 欧美午夜在线观看 | 精品日韩一区二区 | www.麻豆| 午夜国产精品视频 | 中文字幕观看 | 精品一区二区三区免费 | 一区二区三区欧美 | 日韩精品视频网 | 9久9久| 国产一区二精品区在线 | 自拍偷拍99 | 国产精品一区二区三区在线播放 | 一级一片免费视频 | 亚洲国产成人精品女人 | 国产精品69久久久久水密桃 | 九色91在线 | 狠狠视频 | 色综合视频 | 美女h视频 | 日韩在线精品视频 | 久久精品国产精品青草 | 成人精品一区二区三区 | 伊人在线 | 欧美三级免费观看 | 一本大道综合伊人精品热热 | 色视频网站在线观看一=区 日韩一二三区 | 日韩一级| 欧美精品区| 精品国产精品国产偷麻豆 | 欧美精品一区二区三区一线天视频 | 久久成人精品 | 日韩精品av一区二区三区 | 精品一区二区三区三区 | 亚洲国产精品成人 |