亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

libwebsockets實戰(zhàn)指南:從源碼編譯到嵌入式WebSocket通信

libwebsockets實戰(zhàn)指南:從源碼編譯到嵌入式WebSocket通信 我最早接觸libwebsockets是在一個智能網(wǎng)關(guān)項目里需要讓設(shè)備端和云端保持實時通信。當(dāng)時第一反應(yīng)是用WebSocket但搜了一圈發(fā)現(xiàn)輕量級的方案里libwebsockets幾乎是最靠譜的選擇——純C實現(xiàn)、對嵌入式環(huán)境友好、支持SSL/TLS而且協(xié)議棧完整。后來我在不同平臺x86 Linux、ARM交叉編譯、Windows上都編譯過這個庫也踩了不少坑今天把整個過程整理出來從下載、編譯到測試一次性講透。1. libwebsockets是什么為什么值得用libwebsockets是一個用C語言寫的開源WebSocket協(xié)議庫由Andy Green維護在GitHub上長期保持活躍。它的核心定位是給資源受限的環(huán)境提供完整的WebSocket通信能力但又不只是在嵌入式里能用——你在普通的Linux服務(wù)器、macOS、Windows上都能編譯運行。它的幾個核心特性我實際用下來感受很深協(xié)議支持非常全RFC6455標準的WebSocket協(xié)議、H2HTTP/2多路復(fù)用、HTTP/3QUIC的實驗性支持還有MQTT over WebSocket。依賴極小只用到的核心依賴是OpenSSL如果啟用TLS和zlib如果啟用壓縮。不需要一堆沒完沒了的第三方庫。自帶測試用例和示例代碼源碼里有大量minimal example每個示例針對一種功能場景比如最小HTTP服務(wù)器、WebSocket客戶端、WS over TLS、異步DNS解析等對學(xué)習(xí)協(xié)議和庫的API非常有幫助。事件驅(qū)動模型基于自己的event loop也支持集成到外部event loop比如libuv、glib、ev/uv設(shè)計上不算臃腫。這個庫適合誰來用呢一是做嵌入式設(shè)備端通信的開發(fā)者二是需要在C/C服務(wù)端上直接集成WebSocket能力的人三是研究WebSocket協(xié)議本身、想通過實際代碼加深理解的入門者。相比直接用Boost.Beast或者OpenSSL裸手寫握手解析libwebsockets把協(xié)議細節(jié)封裝得足夠好同時在調(diào)用層面又保留了足夠的控制力。2. 下載libwebsockets源碼版本選擇與獲取方式2.1 從GitHub獲取最新代碼libwebsockets的官方倉庫地址是https://github.com/warmcat/libwebsockets。下載方式有兩種一種是直接clone git倉庫另一種是下載release tarball源碼包。git clone https://github.com/warmcat/libwebsockets.git如果你只需要某個特定版本不想把整個提交歷史都拉下來可以加--depth 1參數(shù)做淺克隆配合--branch指定分支或標簽git clone --depth 1 --branch v4.3-stable https://github.com/warmcat/libwebsockets.git2.2 穩(wěn)定版與開發(fā)版怎么選libwebsockets的發(fā)布節(jié)奏很有特點它有長期維護的stable分支類似v4.3-stable同時main分支上也持續(xù)加入新特性。根據(jù)我實際項目經(jīng)驗做產(chǎn)品選型時用stable分支更穩(wěn)妥特別是要做長期維護的設(shè)備端固件時stable分支的API穩(wěn)定性明顯更好編譯依賴也更可控。而main分支上的代碼可能更早支持新的協(xié)議特性和優(yōu)化但偶爾會引入構(gòu)建系統(tǒng)調(diào)整或者API改動如果只是跑測試玩一下無所謂但用于生產(chǎn)環(huán)境的項目我不建議直接跟蹤main。另外很多發(fā)行版Debian/Ubuntu的軟件源里也有l(wèi)ibwebsockets-dev包版本通常會滯后一些但勝在安裝省事sudo apt install libwebsockets-dev當(dāng)然發(fā)行版自帶的版本對只想快速用到功能的人來說很合適但如果需要自定義編譯選項、裁剪功能或者交叉編譯到ARM平臺還是得從源碼自己編譯。2.3 下載后確認目錄結(jié)構(gòu)源碼下載完成后先看一眼頂層目錄結(jié)構(gòu)方便后面找東西CMakeLists.txt構(gòu)建系統(tǒng)主文件整個編譯配置都靠它。cmake/CMake的輔助腳本和模塊包括找依賴庫的腳本。lib/libwebsockets核心庫的全部源碼這是我們最終編譯產(chǎn)物的來源。bin/一些測試工具和輔助程序的源碼比如測試證書生成腳本。minimal-examples/官方提供的大量極簡示例每個目錄對應(yīng)一個獨立小項目特別適合學(xué)習(xí)。test-apps/早期版本里的測試程序目錄現(xiàn)在很多新功能示例都遷移到minimal-examples了。如果是老版本比如v3.x頂層目錄會略有差別但核心的lib/和CMakeLists.txt兩個單元永遠都在。拿到源碼先不急著編譯花兩分鐘看看minimal-examples里的示例對理解庫的能力邊界很有幫助。3. 編譯libwebsockets從CMake配置到生成產(chǎn)物3.1 前置依賴比想象中簡單libwebsockets的依賴真的不多但缺了會導(dǎo)致某些功能編譯不出來。我這里按功能分類列一下基礎(chǔ)編譯環(huán)境gcc/clang、make、cmake建議3.16以上版本舊版本有些選項不支持。TLS支持OpenSSL開發(fā)庫libssl-dev。如果不配置這個編譯出的庫默認不支持wss://WebSocket over TLS和https://。壓縮支持zlib開發(fā)庫zlib1g-dev。啟用后HTTP壓縮和permessage-deflate擴展才可用??蛇x能力libuv外部事件循環(huán)、libev、libevent、mbedtls輕量TLS、cjsonJSON解析、sqlite3存儲相關(guān)示例使用。在Ubuntu/Debian上安裝基礎(chǔ)依賴sudo apt update sudo apt install build-essential cmake libssl-dev zlib1g-dev如果后面交叉編譯主機上的依賴庫和最終目標板用的庫要區(qū)分清楚。交叉編譯時目標板跑的程序需要的是目標架構(gòu)的庫而不是主機上的x86庫。3.2 標準編譯流程CMake三板斧libwebsockets從v3.x開始全面轉(zhuǎn)向CMake構(gòu)建系統(tǒng)。原來的autotoolsconfigure/make在老版本里還有但新版本已經(jīng)不推薦了。整個編譯過程其實就是三句話mkdir build cd build cmake .. make但這只是最基本的流程實際工程里基本不可能這么樸素地編譯——你幾乎總要配置一些選項比如禁用某些不需要的功能、開啟測試、指定安裝路徑等等。3.3 關(guān)鍵CMake選項解析選型必看我把自己常用的一些關(guān)鍵選項整理成了表格方便對照查閱。這里面的選項基本決定了你編譯出的庫是精簡版還是全功能版選項默認值作用說明我的建議LWS_WITH_SSLON啟用TLS/SSL支持依賴OpenSSL做產(chǎn)品建議打開現(xiàn)在wss幾乎是標配LWS_WITH_CLIENTON編譯客戶端模式支持需要主動連接WebSocket服務(wù)端時保留LWS_WITH_SERVERON編譯服務(wù)端模式支持服務(wù)端開發(fā)必須保留LWS_WITH_MINIMAL_EXAMPLESON同時編譯minimal示例程序開發(fā)調(diào)試階段打開方便驗證功能LWS_WITHOUT_TESTAPPSOFF是否跳過測試程序如果不想編譯test-apps里的工具設(shè)為ONLWS_WITH_SHAREDON編譯動態(tài)庫.so/.dll默認是動態(tài)庫設(shè)為OFF生成靜態(tài)庫LWS_WITH_STATICOFF編譯靜態(tài)庫.a/.lib需要靜態(tài)鏈接時設(shè)為ONCMAKE_INSTALL_PREFIX/usr/local指定安裝路徑交叉編譯時務(wù)必改成你的工具鏈sysrootLWS_IPV6ON啟用IPv6支持視實際網(wǎng)絡(luò)環(huán)境而定LWS_WITH_HTTP2OFF啟用HTTP/2支持有HTTP/2需求時打開功能相對獨立LWS_WITH_CJSONOFF集成cJSON以支持JSON相關(guān)示例示例代碼需要時自動開啟實際編譯時我一般這么配cmake .. \ -DCMAKE_BUILD_TYPERelease \ -DCMAKE_INSTALL_PREFIX/usr/local/libwebsockets \ -DLWS_WITH_MINIMAL_EXAMPLESON \ -DLWS_WITHOUT_TESTAPPSON \ -DLWS_WITH_SHAREDON \ -DLWS_WITH_STATICON這里-DLWS_WITH_STATICON和-DLWS_WITH_SHAREDON可以同時開啟這樣動態(tài)庫和靜態(tài)庫都會生成——調(diào)試時用靜態(tài)庫更方便部署到設(shè)備上可以用動態(tài)庫減小體積。3.4 遇到編譯錯誤時的排查思路有次編譯v4.3-stable時報錯提示找不到openssl/ssl.h但我明明確認過libssl-dev已經(jīng)安裝了。后來發(fā)現(xiàn)是因為系統(tǒng)同時裝了多個OpenSSL版本CMake的find_package找到了錯誤的路經(jīng)。解決辦法是指定OpenSSL根目錄cmake .. -DOPENSSL_ROOT_DIR/usr/local/openssl -DOPENSSL_INCLUDE_DIR/usr/local/openssl/include另一個常見問題是在比較老的glibc環(huán)境下編譯新版本libwebsockets會出現(xiàn)某些符號未定義的錯誤——這說明系統(tǒng)基礎(chǔ)庫太老要么升級系統(tǒng)要么換用更老的libwebsockets版本。最典型的經(jīng)驗是libwebsockets的新版本通常依賴較新的OpenSSL3.x而很多老系統(tǒng)自帶的是OpenSSL 1.1.1。v4.3-stable對OpenSSL 1.1.1兼容性還不錯但v5.x以后最好直接上OpenSSL 3.x不然可能遇到API不兼容的編譯錯誤。3.5 交叉編譯到ARM目標板做嵌入式項目時交叉編譯是繞不開的。libwebsockets的CMake交叉編譯流程和大多數(shù)庫類似需要指定工具鏈文件關(guān)鍵是要讓CMake找到正確的編譯器、頭文件和庫路徑。我整理了一份通用的交叉編譯工具鏈文件放在cmake_toolchain_arm.cmakeset(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCESSOR arm) set(CMAKE_C_COMPILER /opt/gcc-arm-none-eabi/bin/arm-none-eabi-gcc) set(CMAKE_CXX_COMPILER /opt/gcc-arm-none-eabi/bin/arm-none-eabi-g) set(CMAKE_SYSROOT /opt/gcc-arm-none-eabi/arm-none-eabi) set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)編譯命令mkdir build-arm cd build-arm cmake .. -DCMAKE_TOOLCHAIN_FILE../cmake_toolchain_arm.cmake \ -DCMAKE_INSTALL_PREFIX$PWD/_install \ -DLWS_WITH_SSLOFF \ -DLWS_WITH_MINIMAL_EXAMPLESOFF make -j$(nproc) make install注意我把LWS_WITH_SSL關(guān)了——ARM板如果不需要wss關(guān)掉TLS能省下不少Flash空間和內(nèi)存。實際上很多嵌入式場景確實用不到TLS因為TLS的握手和證書管理對MCU類設(shè)備來說開銷太大。4. 測試libwebsockets驗證功能的核心方法4.1 編譯自帶的測試工具libwebsockets源碼里帶了幾個非常實用的測試程序。在build/bin/目錄下編譯完成后會生成一些可執(zhí)行文件比如lws-minimal-http-server極簡HTTP服務(wù)器可以測試基礎(chǔ)的HTTP GET/POST請求。lws-minimal-ws-clientWebSocket客戶端支持連接外部ws://服務(wù)器。lws-minimal-ws-serverWebSocket服務(wù)器可以接受客戶端連接并收發(fā)消息。lws-minimal-ws-server-tls帶TLS加密的WebSocket服務(wù)器用于驗證wss功能。這些例子是認識libwebsockets功能邊界最好的入口每一個都是一個獨立的完整程序直接用CMake編譯好之后運行即可。4.2 啟動自帶的WebSocket服務(wù)器假設(shè)我們編譯時開啟了LWS_WITH_MINIMAL_EXAMPLESON在build目錄下找到示例程序cd build/bin ./lws-minimal-ws-server -p 7681這個命令會啟動一個WebSocket服務(wù)監(jiān)聽7681端口。啟動日志會顯示[2025/01/12 10:23:45:1234] NOTICE: lws-minimal-ws-server: listening on :7681如果要測試TLS版本需要先準備證書。libwebsockets源碼里帶了自簽名證書生成腳本在scripts/或者直接用系統(tǒng)的openssl命令生成openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365 -subj /CNlocalhost ./lws-minimal-ws-server-tls -p 7682 --ssl --cert cert.pem --key key.pem4.3 用命令行工具測試連接驗證WebSocket服務(wù)最簡單的方式是用現(xiàn)成的WebSocket客戶端工具比如websocat或wscat。我用得比較多的是websocat安裝也簡單cargo install websocat # 或者 apt install websocat連接測試websocat ws://localhost:7681連接成功后客戶端輸入內(nèi)容回車服務(wù)端會原樣回顯echo模式。這就是WebSocket的基本通信流程——握手升級、雙向消息傳遞。如果使用的是TLS版本連接命令要改一下websocat wss://localhost:7682 -k-k參數(shù)的作用是跳過證書校驗因為自簽名證書不被信任。4.4 寫一個簡單的C語言測試客戶端命令行工具能驗證基本連通性但如果你想測libwebsockets的C API是否調(diào)用正確、消息收發(fā)是否可靠建議寫一個簡單客戶端用庫的API來主動建立連接。我基于minimal-examples里ws-client示例簡化了一個測試客戶端核心邏輯如下#include libwebsockets.h #include string.h #include signal.h static int interrupted 0; static int callback_ws(struct lws *wsi, enum lws_callback_reasons reason, void *user, void *in, size_t len) { switch (reason) { case LWS_CALLBACK_CLIENT_ESTABLISHED: lws_callback_on_writable(wsi); break; case LWS_CALLBACK_CLIENT_RECEIVE: printf(received: %.*s\n, (int)len, (char *)in); break; case LWS_CALLBACK_CLIENT_WRITEABLE: { unsigned char buf[LWS_PRE 64]; unsigned char *p buf[LWS_PRE]; size_t n sprintf((char *)p, hello from lws client); lws_write(wsi, p, n, LWS_WRITE_TEXT); break; } case LWS_CALLBACK_CLIENT_CONNECTION_ERROR: fprintf(stderr, connection error\n); interrupted 1; break; default: break; } return 0; } int main(void) { struct lws_context_creation_info info; struct lws_client_connect_info ccinfo; struct lws_context *context; struct lws *wsi; memset(info, 0, sizeof(info)); info.port CONTEXT_PORT_NO_LISTEN; info.protocols (struct lws_protocols[]) { { example-protocol, callback_ws, 0, 4096 }, { NULL, NULL, 0, 0 } }; info.options LWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT; context lws_create_context(info); if (!context) { fprintf(stderr, context creation failed\n); return 1; } memset(ccinfo, 0, sizeof(ccinfo)); ccinfo.context context; ccinfo.address localhost; ccinfo.port 7681; ccinfo.path /; ccinfo.protocol example-protocol; ccinfo.ietf_version_or_minus_one -1; wsi lws_client_connect_via_info(ccinfo); if (!wsi) { fprintf(stderr, connection failed\n); lws_context_destroy(context); return 1; } while (!interrupted lws_service(context, 0) 0) { // 事件循環(huán)持續(xù)運行 } lws_context_destroy(context); return 0; }這段代碼做的事情是創(chuàng)建上下文、發(fā)起客戶端連接、在握手建立后發(fā)送一條文本消息、把服務(wù)端回顯的消息打印出來。編譯時鏈接庫gcc my_client.c -o my_client -I/usr/local/include -L/usr/local/lib -lwebsockets ./my_client如果一切正常服務(wù)端日志里能看到accepted client之類的連接日志客戶端則打印出received: hello from lws client——這是服務(wù)端echo回來的消息。4.5 壓力測試與連接穩(wěn)定性驗證測試WebSocket服務(wù)除了功能通斷還要看它能扛多少并發(fā)連接。libwebsockets自帶一個多線程壓力測試程序在某些版本位于test-apps下名字類似lws-mirror或lws-spawn。也可以通過外部工具做壓測websocat -n ws://localhost:7681 # 一次性發(fā)完消息斷開更實際的方案是自己寫一個壓測腳本用Python的websocket-client庫批量建立連接同時收發(fā)消息。我在實際項目里會關(guān)注幾個指標最大并發(fā)連接數(shù)受文件描述符上限影響ulimit -n。單連接長連穩(wěn)定性長時間不通信服務(wù)端和客戶端心跳?;睢V剡B恢復(fù)能力服務(wù)端重啟后客戶端能否自動重連。libwebsockets的心跳PING/PONG機制默認開啟在server模式下每隔一段時間會給客戶端發(fā)PING客戶端回PONG這能保證連接不會因中間設(shè)備超時而斷開。如果在測試過程中出現(xiàn)連接頻繁斷開優(yōu)先檢查心跳間隔配置在lws_context_creation_info里設(shè)置ws_ping_pong_interval。5. 常見問題與踩坑記錄5.1 編譯階段的問題問題1找不到OpenSSL頭文件報錯特征fatal error: openssl/ssl.h: No such file or directory排查步驟確認libssl-dev有沒有安裝dpkg -l | grep libssl-dev搜索頭文件實際位置find /usr -name ssl.h 2/dev/nullCMake重新指定路徑或用sudo apt install libssl-dev問題2OpenSSL版本太新導(dǎo)致API編譯失敗報錯特征error: RSA {aka struct rsa_st} has no member named e之類。這是OpenSSL 3.x中很多結(jié)構(gòu)體變?yōu)椴煌该鱫paque導(dǎo)致的。解決思路是換用支持OpenSSL 3的libwebsockets版本或者將OpenSSL降級到1.1.1。我個人更傾向換庫版本因為新系統(tǒng)的OpenSSL 3是安全更新基線沒必要為了舊庫強行降級系統(tǒng)組件。問題3鏈接階段找不到 -lwebsockets編譯自己的程序時提示cannot find -lwebsockets原因通常是庫文件沒有安裝到系統(tǒng)搜索路徑中或者動態(tài)庫運行時加載路徑?jīng)]配置。解決辦法export LD_LIBRARY_PATH/usr/local/libwebsockets/lib:$LD_LIBRARY_PATH或者在編譯時用-Wl,-rpath,/usr/local/libwebsockets/lib把庫路徑寫進可執(zhí)行文件。5.2 運行階段的問題問題1連接被拒絕客戶端報Connection refused檢查服務(wù)端是否真的在監(jiān)聽、端口是否正確netstat -tlnp | grep 7681問題2TLS握手失敗客戶端報TLS handshake failed優(yōu)先檢查證書路徑是否正確、證書格式是否是PEM。有次我用.crt格式證書直接指定結(jié)果libwebsockets只認PEM格式用openssl轉(zhuǎn)換一下就通過了。問題3發(fā)送消息亂序或丟失在低配設(shè)備上如果發(fā)送緩沖設(shè)置太小高頻消息可能被丟棄。libwebsockets的發(fā)送是異步的不能在一個回調(diào)里連續(xù)調(diào)用多次lws_write必須等LWS_CALLBACK_CLIENT_WRITEABLE再一次觸發(fā)后繼續(xù)寫。如果發(fā)現(xiàn)自己發(fā)的消息總是丟檢查是否在這個回調(diào)里一次性寫了過多數(shù)據(jù)或者沒有關(guān)注lws_write的返回值。5.3 我積累的幾個實用技巧技巧1開啟詳細日志調(diào)試libwebsockets提供lws_set_log_level接口可以動態(tài)調(diào)整日志級別。編譯時如果開啟LWS_WITH_DEBUG測試階段把日志級別調(diào)到最高能看到完整的手握包、數(shù)據(jù)幀收發(fā)過程lws_set_log_level(LLL_ERR | LLL_WARN | LLL_NOTICE | LLL_INFO | LLL_DEBUG, NULL);這比抓包工具直觀得多特別適合理解WebSocket協(xié)議細節(jié)。技巧2檢查文件描述符上限壓測連接數(shù)超過1024之后連接失敗十有八九是文件描述符限制。臨時調(diào)整ulimit -n 65535如果是生產(chǎn)環(huán)境需要改/etc/security/limits.conf。技巧3盡量用static庫嵌入產(chǎn)品固件我做嵌入式產(chǎn)品時有條經(jīng)驗?zāi)苡渺o態(tài)庫就不用動態(tài)庫。動態(tài)庫在Linux桌面場景沒問題但到嵌入式環(huán)境版本管理和依賴關(guān)系很容易變成隱形炸彈。libwebsockets的靜態(tài)庫編譯出來體積在100KB~300KB左右取決于裁剪選項對現(xiàn)代設(shè)備來說完全可接受。6. 在項目里集成libwebsockets時的架構(gòu)建議libwebsockets用起來不難但真正要跟自己的業(yè)務(wù)架構(gòu)融合有幾個關(guān)鍵設(shè)計點需要想清楚?;卣{(diào)驅(qū)動的編程思維libwebsockets是事件驅(qū)動模型你的業(yè)務(wù)邏輯都掛在各種回調(diào)里。這和寫線性執(zhí)行的傳統(tǒng)C程序不太一樣新手容易在回調(diào)里做耗時操作結(jié)果把event loop卡住導(dǎo)致掉線或者消息延遲。后來我把耗時的業(yè)務(wù)處理全部丟到工作線程池回調(diào)里只做數(shù)據(jù)拷貝和狀態(tài)標記整個穩(wěn)定性一下就上來了。數(shù)據(jù)緩沖區(qū)的生命周期LWS_CALLBACK_CLIENT_RECEIVE回調(diào)里的in指針只在回調(diào)期間有效你不要存下來異步使用。正確做法是立即memcpy出來或者用lws_traffic之類機制管理緩沖。這個坑我踩過一次——當(dāng)時把in指針直接傳給了工作線程結(jié)果兩分鐘后讀到的全是垃圾數(shù)據(jù)。與業(yè)務(wù)層解耦我建議把libwebsockets封裝成獨立的通信模塊對外只提供簡單的接口connect()、send()、on_message(callback)。業(yè)務(wù)層完全不需要知道WebSocket握手的細節(jié)也不需要關(guān)心底層是ws還是wss。這樣即使以后要換通信協(xié)議業(yè)務(wù)層代碼不受影響。7. 常見操作速查表最后整理一份速查表覆蓋最常用的操作方便你日常開發(fā)時翻查操作命令/配置克隆倉庫git clone https://github.com/warmcat/libwebsockets.git編譯release版cmake -DCMAKE_BUILD_TYPERelease .. make開啟所有示例-DLWS_WITH_MINIMAL_EXAMPLESON只編靜態(tài)庫-DLWS_WITH_SHAREDOFF -DLWS_WITH_STATICON指定安裝路徑-DCMAKE_INSTALL_PREFIX/your/path生成工程后查看可用選項ccmake ..或cmake -L ..運行ws服務(wù)器./lws-minimal-ws-server -p 7681運行ws客戶端測試websocat ws://localhost:7681啟用TLS-DLWS_WITH_SSLON運行時帶證書啟動安裝make install默認到/usr/local這套流程下來從源碼下載到服務(wù)跑通基本能覆蓋 libwebsockets 使用的主路徑。后續(xù)你完全可以基于minimal-examples里的代碼改出一個滿足具體業(yè)務(wù)需求的服務(wù)端或客戶端——我后面好幾次做項目都是直接在示例代碼上改出來的。根據(jù)我個人經(jīng)驗libwebsockets這類庫最大的學(xué)習(xí)價值在于它把WebSocket這個協(xié)議完全透明地呈現(xiàn)在你面前——你可以在日志里看到每一個數(shù)據(jù)幀的流向在回調(diào)里感受每一次狀態(tài)機的切換。理解了這個過程之后無論是排查網(wǎng)絡(luò)問題、還是實現(xiàn)自己的長連接服務(wù)心里都會非常有底。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产青视频| 九九AV| 欧美亚洲20p| 久久是精品| 五月天丁香网| 欧美区亚洲区偷拍区| 在线国产一区二区av| 亚洲熟女少妇免费视频| 内射白嫩美女| 欧美色女人| 久久国产三区| 成 人片 黄色大片| 天美传媒AV在线| 国产欧美精选激情视频| 亚洲情色 自拍| 欧美亚男人的天堂| 亚洲另类电影| 9国产超碰| 91痴汉| 网页导航五月天免费一二三区| 91天射| 柠檬AV导航| 亚洲伊人成综合成人网| 天天操天天干美女网址导航| 日韩精品第3页| a级理论午夜日本| 欧美 色 亚洲| 尤物视频网 刘玥| 天天草夜夜草高潮片| 久久久久国产精品人妻aⅴ天堂| 黄片色区软件| 国产三级在线现体验区| 日韩精品一区二区人人人| 亚洲精品天天影视综合网| 一区操逼日比视频| 后入福利| 亚洲黄色网址| 成人热久久精品| 欧美性爱www免费版| 欧美少妇高潮| 俞拍自拍| 长久操视频| 99少妇精品视频| AA特级绝黄| 思思热国产高清| 蜜桃狠狠色伊人亚洲综合| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 熟女露脸激情自拍视频| 色大香蕉97N| 9久精品| 天堂中文资源在线bt| 国产熟妇 码视频户外直播| 天天操天天干美女网址导航| 久久亚洲日韩国产欧| 91色综合激情| 夜夜嗷嗷一区二区| 欧美色图片91| 97香蕉碰碰人妻国产欧美| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | av网站国产主播在线| 蜜桃传媒视频第一区入口在线看| 欧美色日本| 中文字幕91综合| 99热自拍| 中文字幕在线观看AV| 五月婷婷综合在线| 秋霞影音一区二区三区| 国产一区在线免费播放| 精品黑人一区二区| 91啪啪| 久久久国产三级黄色片| 综合网色| 性爱乱伦视频免费| 黄色毛片A片| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧美 日韩 亚洲 春色| 啪啪综合网| 大香蕉久久| 人妻精品一区二区| 日韩一级性爱无码| 青青草天天亲夜夜操网| 人妻熟女一区在| 内射老妇BBWX0C0CK| 麻豆三极片| 牛牛操视频逼| 日本在线视频导航| 精品四五区| 日韩 人妻 精品| 欧美亚男人的天堂| 97chaopenrihan| 人妻熟妇久草在线| 丰满人妻一区二区三区免费| 五月天我淫我色av| 成人线上超碰| 国产女人高潮嗷嗷嗷叫小说| 可以免费观看的AV| 青青草在线视频人人想人人上| 97香焦色区| 欧美性,色九九| 蜜臀久久久国产| 久久黄黄黄| 亚洲 暴爽 AV人人爽日日碰| 亚洲欧洲日韩国产自在线| 精品v日韩欧美国产| 丁香激情五月天| 狠狠图片青青草| 九九九九精品精| 日韩人妻一区二区| 亚洲精品中文字幕一区在线视频| 97超碰国产亚洲精品资源| 在线黄色污污网站| 亚洲无992tv| 丁香五月综合| 日日夜夜国产综合| 豆花视频操逼网址| 久久一二区四| 一卡二卡三卡| 日韩成人大片在线观看| 啊啊啊快操我视频| 老司机福利青青草| 98一区二区精品| 在线黄色污污网站| 丝袜亚洲综合| 久久久精品国产亚洲AV无码| 欧美日韩人妻少妇 一区二区三区| 久久久免费高清中文视频| 麻豆天天躁天天揉揉AV| 国产AV久久久蜜爱影集| 日韩不卡一二三四| 欧美人与动性人交a| www.av在线观看| 亚洲少妇在线影音| 国产精品日韩在线一区| 偷窥自拍亚洲色图| 2017天天拍大香蕉| 黄片www视频免费| 五月婷婷久久综合| 久操视频在线| 自拍偷拍 日韩无码| 牛牛久久国产精品视频一二三| 麻豆天美一区二区| 国产AV线| 三级激情网站| 乱操乱伦AV| 亚洲一二三四区机械| 国产18精品亚洲精品| 九九九精品成人免费视频小说| 久久中文字幕人妻熟av女蜜柚| 日韩 欧美 校园一区| 亚洲日韩精品在线播放| 操逼片中文| 日韩字幕一区| 色视频蜜乳| 九九九九热| 熟女人妻一区二区三区免费看| 天天干人妻视频| 夜夜嗨一区二区三区三州加勒比| 97频视在线| 欧美成人一区二区| 天天搞欧美| 色妇91| 天美传媒av一区二区| 日韩一级二级三级免费看完整版国语版| 婷婷色网| 综合网亚| 色97综合中文字幕| 国产亚洲精品无码三区| 久久免费少妇| 亚洲蜜桃V妇女| 超碰成人免费| 97欧美精品综合| 久久99草| 久热一区二区| 亚洲码专区| 婷婷久久网| 人人澡综合涩| 超碰色97| 欧美麻豆成人同性GⅤ在线| 亚洲天堂日本| 好色综合| 欧美亚洲国产日本在线,久久精品国产| 丁香五月综合| 狼天天狼天天大香蕉| 久久日韩精品一区二区| 色欲人妻一区二区在线| 日日夜夜狠狠| 黄片免费看黄片免费看| 日韩小电影| 天天综合麻豆视频| 免费看黄视频亚洲网站| www鬼畜国产男人的天堂| 午夜男女爽爽爽影院视频| 一个人免费视频观看在线WWW| 另类综合另类| 日韩精品1区2区中文字幕| av在线免费一区二区| 欧美亚男人的天堂| 国产熟女一区二区| 高清孕妇孕交 交| 高清国产精品无码| 亚洲精品国产精品乱码不99| 亚洲欧美经典一区二区| 亚洲另类综合欧美| 美美91成人国产精品欧美精品久久久久久久| 麻豆激情综合| 日本孕妇一区二区视频操逼免费看 | 成人女人国产| 久久精品 六十路 熟女 欧美| 五月激情视频| 久操精品| 懂色av色欲av蜜臀av| 色综合20p| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 亚洲熟妇综合久久久久久| 美女露胸露尿口| 色情五月综合婷婷| 成人性爱电影一区二区| 秋霞久久亚洲精品成人| 人人做天天爱| 国产在线强奸视频| 韩国一级AAA| 日本 色 导航| 婷婷亚洲五月***久久| 日本操色导航| 黄片免费看的| 中文字幕精品区先锋资源| 久久精品中文字幕无码l| 成全动漫视频观看免费下载| 69视频入口| 91无码西班牙视频在线| 91在线视频国产网站| 国产高清成人mv在线观看| 日本爽爽爽爽爽爽免费视频| 中文人妻av高清一区| 人妻精品免费一二三区| 国产日产精品久久快鸭的功能介绍| 日韩少妇无码| 精品午夜福利国产一区二区在线观看| 美国aaaaa一级黄片| 欧美性巨大╳╳╳╳╳高跟鞋| 美女极品一区二区三区| 日本超碰在线国产一区| 熟妇高潮一区二| 日韩人妻精品| 麻豆天美传媒毛片| 秋霞成人一级在线观看| 日本高清有码网址视频| 婷婷色网| 欧美大片一区二区三区| 欧洲精品二区| 欧洲综合无码| 激情综合五月丁香| 怡红院成人av| 日韩肏逼视频| 日韩一级欧美一级在线观看| 日韩一区二区熟女| 久久精品一区二区三区蜜桃臀| 国产9熟妇视频网站| 亚州综合网| 俺去啦俺来也久久综合| 国人欧美精品一区二区| 欧美 亚洲 大香| 97天天在线| 欧美牲| a v网站在线播放| 黄色污污污污污污网站| 九九九九免费视频| www.色吧5.com| 熟妇操花| 亚洲宗合网| 大象AV在线| ?亚洲伊人伊成久久人综合网| 992这里有精品| 欧美激情久久久久| 91人精品妻入口| 99色在线| 777超碰| 国产精品无套内谢| 60秒免费小视频| 欧美色涩| 色999亚洲人成色| 操淫穴亚洲五月丁香 | 七月丁香婷婷| 国产精品老熟女一区二区| jiujiujiujingpin| 五月天久久综合网| 91久久堂| 欧美日韩另类在线播放| 97天天综合网| 97资源视频| 99re6久热只有精品6在线直播| 亚洲怡春院| 飘花国产午夜精品不卡| 亚洲色图国产另类| 一级二级三级黑人无码| 亚洲91网。| 91网九色蝌蚪操熟女| 日韩人妻资源网| 亚洲人久久久久日| 东北夫妻性偷拍| 超碰78| 殴美牲| 久热一区二区| 日本久久综合| 八人操人人摸人人看| 亚洲自拍欧美色综合| 亚洲一欧洲中文字幕在线| 免费成人在线熟妇网| 午夜福利av电影在线| 99色日| 午夜福利精品| 久久久78| 无码91| 中国一级操逼视频| 久久激情视频| 国产成人亚洲精品自产在线| 国产成人超碰在线| 国产精品乱码久久久久久| 无码 有码 国产18p| 97色欧洲| 亚洲综合网图| 日本欧美亚洲高清在线看| 日韩天天综合| 强上我不卡卡| 欧美午夜视频精品久久| 清纯唯美亚洲综合| 久久精品一区| 91成人精品在线播放| 成人性交午夜免费片| 97舔舔| 久久中文字幕一区不卡| 亚洲做性| 色九九九九| 激情看片网站| 日韩在线一区高清在线| 黄色工厂这里只有精品| 四虎视频在线观看| 人妻熟女字幕一区二区| 欧美精品成人在线播放| 日日超碰亚洲| 欧美草草| 嗯嗯啊啊好疼| 91九九九馒头| 婷婷午夜| 国产精选三级在线观看| 欧美综合国产精品久久丁香| 91黄射| 国精综合一二三区影视| 大香交伊人网| 成人八戒网站| 亚洲欧美精品国产一区二区| 久久岛国| 91天堂丝袜美腿| 5252色欧美在线| 99久久久久| αⅴ天堂| 成人影院永久免费观看网址| 黄色大片视频在线免费看| 东北操逼| 欧美高潮| 精品久久大胆人体| 成人久久无码www| 丁香六月婷婷| 午夜男女爽爽爽在线视频| 亚洲97成人在线观看| 综合少妇网| 伊人久久大香线综合无码| 亚洲人妻一区二区三区| 第一高清av中文字幕| 国产欧美精选自拍一区| 无码精品久久| 亚洲春色欧美激情自拍| 东北少妇高潮zzzz| 欧美色www亚洲国产阿娇要播| 蜜桃网熟妇| 99久久9| 欧美熟女妇同| 91熟女综合| av麻豆啪啪| 熟女天天干| 丝袜狠狠草尤物人妻av91| 韩日精品四区| 亚洲激情网一二三四区| 欧美亚洲综合色| 色色激情| 婷婷情色综合网| 人人手机欧洲亚洲国产人妻| 日韩女优中文字幕| 红桃视频高潮| 亚洲大胆人体av| 国产熟女精品区| www.男人天堂| 大香蕉2017| 人人妻人人爽| 97免费在线视频| 国产精品不卡高清在线观看| 九九九九精品| 大香蕉黄色一级片免费看| 在线播放一级无码视频| 无码少妇精品一区二区60岁老人| 99九九精品| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 中文字幕二区日韩天堂| 日韩AV一区二区三区三州三州| 婷婷三区| 天天舔天天日天天射| 欧美色综合图片| 色婷婷A V一二三四区麻豆综合| 亚洲脚交| 操国产逼| 美女自卫慰黄网站免费| 91天天日| 秋霞影音一区二区三区| 日本综合久久| 91女人的网站| 欧美,日韩,中文,另类| 四虎精品一区二区| 无码国产Av| 999岛国大片| 国产精品国产自产拍高清AV| 2019午夜福利视频| 欧美丝袜中文字幕07在线| 2017大香蕉| 人妻丰满熟妇一区二区三| 国产亚州精品美女久久久免费| 天天色粽合合合合合合合| 淫色网综合| 亚洲国产中文字幕| 国产毛片片精品天天看视频 | 日韩无码AB| 久热伊人| 欧美视频第二页| 一二视频神马久久传媒| 天操天操夜操夜月月年年操操| 国产美女激情| 狠狠入| 9997se| 精品久久99| 中文字幕aⅴ在线视频| 亚洲精品欧美专业| 欧美黑人与女人91~| 国产天天噜一噜久久久| 黄色视频60分钟| 岛国AB视频| 91色综| 97国产精品一区二区传媒公司| 美国日韩黄片| 色综合久| 大粗鳼巴久久久久| 99久久久er直播网址| 伊人影院在线理论播放| 欧色网址| 国产美女高潮叫床视频| 99re这里| 黄色av网站在线播放| 97天天摸天天碰| 日韩成人人妻网站| 国产AV久久野战精品| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 67914亚洲精品| 日韩av在线免费网站| 啊啊嗯嗯好爽| 国产精品天美传媒| 东北女人| 99热婷婷一区二区三| 国产v亚洲v日韩v欧美v片另类| 麻豆尤物视频网| 91亚洲影院综合| 91久久青青草原精品| 午夜男女爽爽爽在线视频| 东北女人| 激情抓乳插进去啪啪啪日韩 | 一二三卡欧美日韩人妻免费精品| 岛国片在线播放| 春色校园综合网| 国产又黄又爽| 亚洲熟妇熟在线电影视频| 超碰成人人人爽人人爽| 超碰激情808| 亚洲美女AV无码| 欧美 亚洲 制服 精品| 91综合中文字幕| 淮穴色AV| AⅤ片水多多| 日本一片一区| 亚洲中文国际强奸字幕| 97chaopenrihan| 欧美日韩岛国大片在线观看| 欧美色蜜桃97| 国产精品交换一区二区| 少妇一级无码精品| 日韩精品怡红院| 99久久久久久久久| 91高清欧美| 91久久久久久久久久久| 久久成人国产精品| 九草九九九| 熟妇熟女视频一区二区三区| 日日干天天干夜夜爽| 色www精品视频在线观看| 日韩探花精品在线视频| 东京热,男人的天堂| 日本三级久| 亚洲AV成人无码一二三久久 | 亚洲综合另类小说色区亚洲成av人片在www | 少妇天堂网络| 欧美少妇性爱网站| 91中出视频| 亚洲影院小综合| 一区三区啪啪| 日本一区二区亚洲综合| 色天堂在线观看| 91操人| 男女做爰猛烈动高潮A片免费应用| 欧美一区二区传媒| 中文字幕在线高清男人的天堂| 国产熟妇 码视频户外直播| 日本一天色道久久久精品视频| 免费中文在线| 国产一级舔足在线观看| 日本一级不卡一二区| 久久精品视频久久久| 操高情无码| 97欧美视频| 劲爆欧美人妖三区91| 女人爽到高潮久久久| 欧美日韩日产免费网站看| 天天久久久久久| 亚洲免费97免费| 狠狠穞A片一區二區三區| 大香蕉www.超碰| 国产97视频| 99re在线视频| 久久草视频污视频| 中文字幕在线观看网页| 五月天婷婷久久| 伊人久久大香线蕉无码| 一起草三级AV电影在线观看 | 五月天亚洲网| 91日产欧美| 日韩在线女优天天干| 再深点灬舒服灬太大了好硬好爽| 欧美一级美片在线观看免费| 久久久亚洲| 另类小说欧美激情校园春色| 蜜乳AV.COM| 成人国产视频在线观看| 久久一区二区蜜桃| 欧美激情亚洲| 色天天野狼综合社区| 亚洲性猛交| 嫩草伊人久久精品| 大香蕉 222| 久久久久久夜夜夜夜夜| 大香蕉操久久| 久操高青| 久久9久9久99久9久9| 色色激情| 狠狠中文字幕| 国产成人资源| 欧美日韩淫加| 99啪啪| 天天看特黄的免费网站| 91色黑人少妇| 久久97资源 网| 欧美日韩少妇色情| 精品乱码久久久久| 强奸熟女一区二区三区| 四虎在线免费视频| 久久九九精品一区二区| 超碰天天去日穴| 久久三区四区| 免费国产视频| 国产亚洲精品无码三区| 波多野结衣先锋影音| 乱伦av.com| 日韩欧美经典在线观看| 国产玖玖| 丝袜喷水在线| 蜜桃臀久久| 欧美一级二级三级| 男人女人18禁片免费看网站| 国产一级137片内射麻豆| 黑人操一区二区| 亚洲中文字幕精品久久久久久直播| 91九色网| 精品视频97| 超碰是碰在线观看| 伊人91| 国产日韩精品无码去免费专区国产| 大香蕉欧美伊| 天天色怡春院| 久久午夜神马| 日韩激情毛片一级久久久| 啪啪资源网| 亚洲精品色| 久日91在线| 91情色在线| av一区二区三区四区| 女人高潮抽搐喷水视频网站| 国产超碰国产97| 欧美熟女丝袜| 97久久久| 欧美性爱一级操| 97操97色| 久9综合在线| 国产亚洲日韩欧| 国产精品免费美女视频| 一牛影视久久久一区二区三区| 色哟哟av网址| 激情五月天中文字幕色| 天天躁日日躁XXXXYY| 97国伦国色| 美女十八禁| 亚洲国产av中文字幕久久| 五月丁香综合网| 中文字幕综合人妻| 立川理惠被中出无码| 伊人久操| 日韩欧美偷拍美女视频| 日本506070| 精品一区二区成人动漫| 久久国产精品熟女人妻| 屁股久久久久久| 亚洲AV无码久久久国产精品| 吉川爱美亚洲二区在线| 国产在线视频午夜精华在| 国产精品亚洲美女久久久久| 久久久男人的天堂| 久久透逼视频| 欧洲射精91| 天久久久噜噜噜久久国产精品爽爽| 丁香五月综合| 99re在线视频国产| 天天躁日日躁xxxxx| 成人无码专区精品视频| 九七超碰| 五月天丁香欧洲日韩| 欧美se综合| 亚洲超碰在线| 国产农村妇女毛片精品久久| 日韩黄色成人性爱| 色色福利| 色综合久久夜色精品国产天堂| 婷婷色色五月天福利| 97爱爱爱综合| 青娱乐国产剧情av一区| 天天干2区3区| a片久久久久久久久久久久 | 老熟女91视频| 欧美淫穴| 欧美不卡在线一区二区| 天堂日本亚洲欧美| 一级二级三级黑人无码| 一区二区不卡| 国产福利在线视频网站| 欧美超碰人妻97| 天天精品| 欧美亚洲首页| 精品熟女一区=区三区| 84YTCOM性无码| 欧美黑人与女人91~| 在线播放成人高清免费视频| 九九热视频这里只有精品| 美女视频尤物网在线看| 人妻素股| 欧美日韩成人在线| 26UUU欧美日本| 高跟伊人julia ann| 2019天天干天天操| 中文字幕一区二区三区四五区| 午夜精品视频777| 亚洲欧洲激情卡通另类文学四射小说网站| 欧美日韩国产传媒在线精品| 一级做a爰片久久毛片图片| 超碰97久久国| 综合熟女| 美女熟妇色| 加勒比五月天| 日韩草久视频| 色色色色日本| 九九热精品视频六| 亚洲精品天天影视综合网| 中文字幕一区二区三区高清| 91在线一起| 色av中文字| 2021久久国产综合精品青草| 校园春色亚洲色图| silk lablo在线观看一区二区| 黑人黄片在线免费观看| 日韩在线国产字幕| 国产精品久久久九九九| 久久久一区二区三区四曲免费听 | 成年人黄色| 91无码人妻| 天天91~综合入口| 午夜精品五区| 久久久久亚洲Av无码专区老牛影视 | 天天天操天天天爱| 日韩伦理久 久久 清纯| 91动漫操逼视频| 日韩一级久久毛片| 中文字幕青青草| 骚逼一区二区| 极品五月天噜噜| 黑人黄片在线免费观看| 国产传媒午夜理伦精品| 亚洲欧美91| 美熟女逼导航AV操逼| 日本一二区免费| av一区二区三区 中文| 五十路六十路七十路熟婆| 大香蕉日韩| 欧洲性人爱视频| 亚洲色香| 区一二区日韩亚洲乱码av电影| 亚洲中文字幕网| 八人操人人摸人人看| 精品无码久久久久久久杏吧| 麻豆一区二区三区在线看 | 啊啊啊啊啊啊在线观看| 亚洲欧美内射| 亚洲天堂电影网| 天天干天天日天天射黄色片| 亚洲美女精品| 欧日韩不卡视.频| 强免费黄色网址| 可以在线观看AV的网站| 日本欧美一区二区三区视频麻豆| 91啪啪| 久久久不卡| 国产激情在线| 视频二区美腿制服人妻欧美| 俺也射| 九草九九九| 欧美激情亚洲情色| 9999九九九久久久| 加勒比东京热五月天天堂网| 亚洲天堂日本| 国产亚洲精品美女| 嗯嗯啊啊好大好爽| 日韩综合97P| 久久久久久久六六 | 国产精品视频精品一二| 午夜影美女日鸡鸡天天视频国产| 亚洲欧美自拍偷拍| 激情综合av| 超碰中文字幕人妻草一区| 美国久久一二三四| 久草精品视频| 欧美色图在线视频少妇| www久久精品| 欧美性高潮| 久久嫩草| 久96热在线观看视频| 人人么人人操| 国产日韩精品无码去免费专区国产| 成人免费毛片| 亚洲啪啪视频一区二区| 日韩一级片在线看| 色婷婷视频| 四虎影库国产精品免费| 精品乱子一区二区三区99| 天天干天天日天天射黄色片| 亚洲凸凹超碰成人| 老熟女阿 国产91| 综合欧美亚洲| 亚瑟国产精品久久无码| a级理论午夜日本| 夜夜嗨AV一区天天| 精品人妻一区二区免费蜜桃| 亚洲色图 图片| 欧洲亚洲人妻无码高清久久三区四区| 一起草视频在线| 天天上日日上日韩精品| 天天干人人干天天日97| 免费看日产一区二区三区| 97天天爽| 一区二区三区色综合| 91四海无码日韩欧美| 一级乱伦网站| 丝袜剧情| 另类综合另类| 熟女露脸激情自拍视频| 国产后入| 日韩中文字幕在线视频观看| 丰满人妻一区二区三区四| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 超碰免费欧美7| 亚洲欧美色图片| 亚洲αv一区二区三区| 韩日精品四区| 国产一区二区三区视频在线看| 亚洲最大无码中文字幕网站| 超碰97资源大奶| 日本ZZ高免费A级视频| 日韩成年人性爱视频| 国产AV无码AV| 久久一区,青青青青草视频在线播放| 亚洲丝袜99| 91欧洲国产成人久久精品网站| 欧美日韩国产高清在线一二三区| 炮色五月| 日韩内| 搡老人老9丨女老熟人| 亚洲情色五月天 | 天天日夜夜爽| 久久视频,这里只有精品| 日本孕妇一区二区视频操逼免费看 | 亚洲天堂资源在线| 久干9操| 国产精品亚洲四五区在线观看| 亚洲资源吧| 欧美不卡二区| 亚洲精品欧洲精品| 屁股久久久久久久| 狠狠干狠狠色| 天操天操夜操夜月月年年操操| 男女做爰猛烈动高潮A片免费应用| 婷色五月| 96一区二区三区| 日本国产欧美高清在线| 啊啊啊啊啊好大好舒服想要| www.av家庭乱伦| 五月天婷婷欧美三区| 青草伊人网| 国产亚洲日本精品在线| 欧美亚洲高清不卡| 欧美 日韩 亚洲 春色| 亚洲AO在线| 日本熟女不卡视频| 国产精品经典一卡久久久| 青草精品视频-日本久久久久网站| 亚洲国产欧美中文永久| 国产蜜臀在线| 国产高潮AA片免费看| 久久久久久人| 亚洲人妻av| 欧美 亚洲 在线| 大香蕉碰碰| 丰满人妻区一区二区三| 性色avv| 国内精品嫩模A∨私拍小视频| 国产一区二区三区中文字幕| 97欧美| 91国产丝袜足交精品视频| 国产高清自拍| 日本操逼无码| 97蜜桃综合| 强被迫伦姧在线观看无码网站| 欧美天堂日韩三级国产传媒| 国产兽交视频在线播放| 99热 按摩 日韩| xxx0国产在线播放| 亚洲脚交| 五月天婷婷色| 成年人黄色视频免费| 久久色一区二区| 在线看片国产精品每日更新| 天天干夜夜肏| 天天综合网站| 欧美极品美女aaaaaa级黄片| 免费网色网站| 日韩乱伦视频| 超碰九7免费| 久热精品色情| 影音先锋中文字幕日本好一区二区| 亚洲日韩资源| 99热这里只有精| 亚洲国产ⅴ高清在线观看| 老司机福利社视频在线观看| 天天天天干| 精品国产三级av韩国在线| 欧美影音在线| 天天插天天插| 成人性爱AV在线免费观看| 久久精品无码不卡| 美女啊啊啊啊pc| 九九干| 国产精品国产精品国产| 蜜桃视频一区二区三区| 97在线精品| 精品高清av中文字幕| 青青草无码视频| 极品丝袜无码| 国产一区二区欧美日本| 97免费在线观看| 欲色啪| 手机不卡视频不卡在线一二三区| 思思热久久成人| 东京热男人的天堂| 99最新日韩偷拍视频| 99热99re超碰精品| 色爱国产| 欧美日韩另类在线播放| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 国产多人在线观看视频| 好涩综合| 一二视频神马久久传媒| 欧美天天综| 色婷婷成人| 在线强奷到舒服的无码视频| J?P?NESEHD熟女熟妇伦| 国产超碰欧美| 中文字幕AV片| 亚洲色图20p| 欧美黑人XXXⅩ高潮交| 成人亚欧免费视频| 在线人成亚洲视频免费观看| 色爱天堂| 欧美九九九| 国产大学生口爆吞精合集| 欧美99999| 熟妇色99| 欧美熟妇精品黑人巨大91| 欧美最大综合网| 超碰中文字幕人妻草一区| 欧美少妇一区二区三区| 欧美日韩高潮喷水91| 五月色网| 成人性爱电影网| av天堂天堂av日韩| 26uuu偷拍亚洲欧洲综合| 天天干天天舔| 欧美色综合| 免费成人自拍视频在线| 天天综合欧美| av中亚| 亚洲激情视频| 欧美色院| 97免费视频在线观看| 日韩一卡二卡三卡| 操熟女91| 亚洲欧美高清| 97爱综合| 白丝被操91| 74成人在线| 天天艹天天日| 久久久久久日韩| 亚洲最大的综合性av| 亚洲成a人片在线观看中文!!!| 亚洲AV噜噜狠狠网址蜜桃动漫| 午夜男人av| 久久久久久精品免费看A级| 少妇高潮对白在线观看| α√在线| 超碰99在线| 天天综合网一91网| 天天看片天天爽| 东北女人的毛片| 亚洲色资源| 国产精品一区二区麻豆| 久久久999国产精品| 国产精品成人午夜福利| 蜜臀一区二区三区在线| 日韩一级性爱无码| 日本天天操| 九九色精品| 九月丁香婷婷| 日韩欧美偷拍美女视频| 色777999综合| 大奶的诱惑| 亚洲av综合伊人久久| 亚洲va有码在线天堂| 91精品大奶人妻| 偷拍伦理视频| 人人噜夜夜操| 97色香蕉| 日韩欧美大力操| 强奸a片网| sss视频华人在线| 亚洲文学偷乱拍啪啪啪啪| 精品国产乱码久久久A| 亚洲一区日韩精品| 蜜桃无码AV一区二区| 麻豆天美电影一区二区| 在线视频五十市| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 淫荡少妇免费| 天美传媒一二三区永久网站| 欧美成人色| 亚洲熟女综合一区二区| 精品国产一区二区三区香蕉欧美| 中文字幕 国产 精品| 嗯~啊~快点 死我视频| 自拍第一页| 亚洲av噜噜噜噜噜噜| 亚洲最大的综合性av| 91在线综合网| 四虎精品亚洲| 国产精品人人爽人人做可爱福利| 天天插天天操| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 特级特黄一级毛片免费| 色色综合网站| 91美女视频在线| 少妇蹲下露出大唇5| 美女午夜福利免费视频| 男人的天堂2010| 欧美熟女逼久久久久久| 国产精品懂色tv影视免费观看| 性爱边摸边日免费AV| 久久久久成人蜜桃精品| 干妹子| 日本精品网站在线中文| 色情五月丁香| 婷婷久草| 天天视频网站黄| www.色五月| 国产欧美日产一区二区三区 - 国产欧美日 | 超碰97伊人| 91成人在线免费视频| 伊人久久大香蕉线AV五月天| 亚洲 欧美 第一页| 97人妻免费中文字幕| 欧美熟女激情| 午夜精品久久久久久久第一页按摩| 深夜国产一区二区三区在线看| 九九玖玖精品| 91热| 婷婷综合激情| 亚洲美腿丝袜香蕉影视欧美成人| 级做a爱无码性色永久免费| 亚码激情| 91色香| 99爱爱| 久草电影网| 人妻熟女av国产网站| 国产热av| 国产欧美精选激情视频| 五月天久久婷婷亚洲| 极品销魂美女一区二区| 中文字幕 人妻不满 在线视频| 日1区2区3区2020| 乱伦系列一区二区| 天美传媒av在线| 啊啊啊爽爽| 激情五月丁香五月| 久久99久久99精品天美传媒棢·纸:.| 国产精品不卡高清在线观看| 人妻熟女午夜精品在线| 国产人人干| 免费啪啪一级视频| 无码久| 国产欧美成人第一页在线观看 | 亚州色图狠狠干| 97在线免费观看视频| 中文字幕高清20页视频| 女人综合网| 日本免费一区二| 亚洲色婷婷久久久综合日本| 精品国产自在在线99| 欧美成人性爱视频在线播放| 色综合98| 黄色香蕉视频网站一区| 一区| 青娱乐亚洲自拍| 欧美后入式| 亚洲日韩AV视色| 欧美日韩久久精品爱爱| 色综合色色| 婷婷色综合欧美日韩| 色欲人妻一区二区在线| 国模私拍一区二区三区神乳| 久久宗合亚洲| 99热婷婷| 天天影视亚洲| 69人妻精品丰满熟女区| 亚欧性爱ab| 91亚州| 日本日日色视频| 亚洲成人久久一区二区| 91n处女在线观看| 午夜天堂精品久久久久91| 内射夫妻三片| 职场同事知名国产国产精品久久欧美日韩| 熟女视频久久| 色噜噜国产精品视频一区二区| 中文字幕亚洲欧美在线不卡| 亚一综合久久久久久久久久| 一二三卡欧美日韩人妻免费精品| 亚洲在钱| 婷婷五月色| 熟女自慰久久久| 无码最新| 青青五月天| 久久一二区四| 强奸乱伦麻豆| 91亚洲高清| 久久宗合亚洲| 狠狠色综合网| 涩涩这里只有精品视频| 久久久亚洲精品中文字幕人妻| 欧美色偷拍 | 国产一区自拍欧美日韩| 公司1区2区3区精产精| 五月婷婷丁香六月| 伊人久久综合精品欧美| 97干在线视频| 91大学精品激情戏| 秋霞久久亚洲精品成人| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 亚洲Av无码成人精品国产| 亚洲精品久久久久久久蜜桃臀| 大香蕉中文在线| www.男人天堂| 怡红院怡春院| 99热网站| 日韩中文字幕二区| 亚洲欧美一区二区网址| 国产中文字幕在线观看| 色呦呦、国产精品| 日韩999| 99国产精品视频尤物| 91色综合| 人妻少妇无码| 足交视频老司机| 九一亚洲国产免费| 亚洲综合小说另类图欧美视频激情小说色五月天 | 宗合情欲网| 97精品综合久久| 亚洲毛片一级带毛片基地| 亚州熟女乱伦| 色综合超碰超| 亚洲精品骚逼| 伊人久久亚洲中文字幕| 狠狠色丁香| 亚洲色图日韩精品| 日韩av不卡在线看| 欧美一级AAAAAAA| 黑人娇小av在线播放 | 特级丰满少妇一级AAAA爱毛片| 中文AV制服乱伦| 九九九成人| 久久男人| 青青草综合在线| 一区二区三区国产精产| www.婷婷六月天| 久久99视频| 91操碰| 日本一区二区三区四区免费观看| 视频一区二区三区精品| 天天日天天操天天射河南省| 精品九九| 欧美不在线| 亚洲欧美电影| 永久电影三级在线观看| 国产偷拍网站| 免费试看60秒| 中文久久| 国产精品第一区第一页| 激情综合网亚洲| 夫妻天天操岛国视频| 97超碰站| 乱伦熟妇一区二区| 国产久久成人| 在线色导航| 夜夜影视四色| 啊视频在线| 天天色综合图片|