亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Linux平臺即時通信系統(tǒng)的研究與開發(fā)

        2017-04-14 10:34:41趙向兵張景安
        軟件 2017年2期
        關(guān)鍵詞:線程好友按鈕

        趙向兵,張景安

        Linux平臺即時通信系統(tǒng)的研究與開發(fā)

        趙向兵,張景安

        (山西大同大學(xué)數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,山西 大同 037009)

        針對目前信息安全成為國家重要安全戰(zhàn)略,中國軍用電腦已裝國產(chǎn)操作系統(tǒng)“麒麟”等,信息電子產(chǎn)品國產(chǎn)化必將成為趨勢,而麒麟操作系統(tǒng)是一款基于Linux的操作系統(tǒng),但是在Linux局域網(wǎng)環(huán)境下沒有一款即時通信軟件可供選擇。經(jīng)研究Linux Socket網(wǎng)絡(luò)編程,及用戶界面編程知識,本文設(shè)計出基于Linux的C/S模式即時通信系統(tǒng),此設(shè)計基于Linux C語言開發(fā),使用GTK制作圖形界面,并涉及到TCP/IP和POP/SMTP協(xié)議,實現(xiàn)聊天,記錄聊天記錄,發(fā)送電子郵件,發(fā)送文件功能。從而填補(bǔ)國家信息電子產(chǎn)品國產(chǎn)化在即時通信方面的空白。

        信息安全;麒麟操作系統(tǒng);Liunx;即時通信系統(tǒng)

        0 引言

        2013年“棱鏡門”事件已經(jīng)暴露了我國國內(nèi)信息安全的極大隱患,國內(nèi)的重要信息系統(tǒng)、操作系統(tǒng)、數(shù)據(jù)庫、中間件等幾乎都來自國外產(chǎn)品,國內(nèi)信息電子產(chǎn)品主要部件過度依賴進(jìn)口,如果信息電子產(chǎn)品植入監(jiān)測插件,就會成為竊取情報的手段。隨著信息安全隱患問題日漸凸顯,國家已經(jīng)加強(qiáng)重視信息安全問題,并把信息安全列入國家重要安全戰(zhàn)略之中。微軟目前主打的Windows 8操作系統(tǒng)采用不安全的技術(shù)架構(gòu),并且系統(tǒng)集成的殺毒軟件可以自由掃描用戶電腦,勢必失去電腦的控制權(quán),導(dǎo)致用戶個人信息的泄漏。2014年5月中央國家機(jī)關(guān)政府采購中心發(fā)布通知,中央機(jī)關(guān)所有計算機(jī)類產(chǎn)品不允許安裝Windows 8操作系統(tǒng)。同時,我國將實行網(wǎng)絡(luò)安全審查制度,工信部也提出措略支持國內(nèi)軟件信息服務(wù)業(yè)發(fā)展。要解決國家安全戰(zhàn)略問題迫切需要國內(nèi)信息安全的自主創(chuàng)新,自主可控的國產(chǎn)產(chǎn)品才是安全可信的,才能真正全面完整有效抵御境內(nèi)外敵對黑客勢力的滲透、入侵[1]。

        在網(wǎng)絡(luò)越來越發(fā)達(dá)的今天,人們對網(wǎng)絡(luò)的依賴越來越多,越來越離不開網(wǎng)絡(luò),網(wǎng)絡(luò)聊天已成為上網(wǎng)族的一種普遍的休閑方式,所以,一款好的即時通信[2-3]聊天軟件成了上網(wǎng)的必備工具之一。國產(chǎn)操作系統(tǒng)基本以安全性能良好的Linux操作系統(tǒng)為基礎(chǔ),但是當(dāng)前在Linux局域網(wǎng)環(huán)境下沒有一款即時通訊軟件可供選擇,本文設(shè)計出基于Linux的C/S模式即時通訊系統(tǒng),它是基于Linux C語言開發(fā),使用GTK+制作圖形界面,并涉及到TCP/IP和POP/SMTP協(xié)議,實現(xiàn)聊天,記錄聊天記錄,發(fā)送電子郵件,發(fā)送文件功能。

        1 系統(tǒng)整體框架

        1.1服務(wù)器端功能

        系統(tǒng)對于用戶權(quán)限的限制主要是在服務(wù)器端(如圖1)進(jìn)行管理控制。管理員登錄系統(tǒng)后,開啟服務(wù)器,可對用戶資料和聊天記錄進(jìn)行查詢、刪除等操作。這些數(shù)據(jù)和信息將存入后臺數(shù)據(jù)文件中保存,而普通用戶只有通過注冊到服務(wù)器后驗證通過才可使用服務(wù)器提供的服務(wù),服務(wù)器具有的功能:驗證登陸信息,發(fā)送系統(tǒng)信息,處理新用戶的申請信息,更新用戶服務(wù)。

        圖1 服務(wù)器功能結(jié)構(gòu)圖

        1.2客戶端功能

        客戶端基本功能包括:(1)用戶的登錄與注冊:記錄用戶的個人提交信息,包括合法郵箱等,注冊成功后返回賬號作為用戶系統(tǒng)唯一標(biāo)識。在下次登錄的時候,即可僅通過驗證賬號和密碼來實現(xiàn)登錄;(2)用戶之間的信息交換:用戶好友列表中的互加好友可以完成文字信息和文件的傳遞;(3)用戶資料的查看和修改:在聊天的過程中,用戶能查看感興趣用戶的個人信息;(4)顯示在線好友:用戶登陸后會從服務(wù)器返回用戶的對應(yīng)好友列表信息及登陸狀態(tài)信息;(5)利用POP3協(xié)議發(fā)送指向特定郵箱的郵件。

        2 系統(tǒng)設(shè)計

        2.1數(shù)據(jù)表結(jié)構(gòu)設(shè)計

        本系統(tǒng)服務(wù)器采用Mysql數(shù)據(jù)庫軟件,Mysql是一個開源的小型的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)[4]。目前Mysql數(shù)據(jù)庫集成LMAP、WMAP框架,其體積小、速度快、總體擁有成本低,作為WEB開發(fā)中后臺數(shù)據(jù)存儲的主流平臺[5-6]。

        數(shù)據(jù)庫(Mysql):在使用Mysql時必須將數(shù)據(jù)庫帳號設(shè)置成root密碼:123456,該數(shù)據(jù)庫中包含有一個用戶表,服務(wù)器處理用戶信息都是對這個表進(jìn)行操作的。用戶表(usermsg):用戶表里包含了用戶的所有可以用到的信息,有帳號,稱昵,密碼等信息。用戶信息表(usermsg)見表1。

        圖2 客戶端整體框架

        表1 用戶信息表(usermsg)

        2.2GTK +和Mysql開發(fā)過程中的問題

        結(jié)合Mysql、Linux、GTK +開發(fā)系統(tǒng),為了解決GTK+缺少數(shù)據(jù)庫API的問題,本文利用Mysql提供的CAPI 實現(xiàn)數(shù)據(jù)的存儲,GTK+僅作為用戶間交互的界面開發(fā)。利用GTK+提供的事件傳遞機(jī)制實現(xiàn)整個模塊功能的集成[7]。下面是一個GTK +和Mysql相結(jié)合的示例程[8]:

        Mysql操作程序結(jié)構(gòu):

        void db-operate (char *abname)

        { Interface-create();/ /界面的初始化

        db-init (dbname) //數(shù)據(jù)庫的初始化

        operate(); // 數(shù)據(jù)庫操作

        db-cIose(); / / 數(shù)據(jù)庫關(guān)閉

        主程序結(jié)構(gòu):

        gtk-init (Sargc, Sargv);/ /GTK + 初始化

        db-operate (“db-name”)/ / MySOL操作

        gtk-main ();/ /GTK + 事件循環(huán)

        2.3系統(tǒng)界面設(shè)計

        GTK +有豐富的GTK Widget構(gòu)件,這些構(gòu)件實現(xiàn)了類型、繼承檢驗和信號/回調(diào)函數(shù)的基礎(chǔ)結(jié)構(gòu)。由C語言編寫這一特性決定了它有很好的可移置性。本文采用GTK+2.0編程技術(shù)實現(xiàn)服務(wù)器端和客戶端程序界面設(shè)計。通過GTK +的事件傳遞機(jī)制。實現(xiàn)通信連接、信息發(fā)送、信息提交,信息驗證,文件傳送等功能[9],即時通訊系統(tǒng)主要界面包括:1)登陸界面:雙擊客戶端應(yīng)用程序,彈出登錄窗口,本界面需要兩個文本框和兩個命令按鈕,一個是用戶賬號文本框,一個是用戶密碼文本框和一個登陸按鈕,一個注冊按鈕;2)注冊界面:點擊注冊按鈕跳到注冊窗口,輸入指定信息注冊成功后彈出賬號提示信息,這時請牢記自己注冊的賬號,返回登錄。應(yīng)設(shè)計四個文本框和兩個命令按鈕,四個文本框分別用于輸入網(wǎng)名,密碼,密碼,電子郵件,兩個按鈕分別是提交和重置;3)主界面:登陸成功后可彈出好友列表即主界面,該頁面顯示所有在線的好友,主窗口會顯示當(dāng)前用戶的信息及好友列表,好友列表分成在線好友和不在線好友,不能與不在線好友聊天,單擊一個不在線好友即彈出不能會話提示對話框;4)聊天界面:點擊在線好友,可彈出聊天對話框,包含的構(gòu)件應(yīng)該有一個顯示聊天消息的列表框,一個發(fā)消息的文本框和一個歷史記錄按鈕,一個文件傳輸按鈕及一個發(fā)送郵件按鈕;5)文件傳輸界面:文件傳輸界面有包含一個選擇文件的選擇框和一個發(fā)送按鈕;6)發(fā)送郵件界面:一個輸入電子郵件地址的文本框,一個輸入標(biāo)題的文本框,一個輸入正文的列表框及一個發(fā)送按鈕;7)聊天記錄界面:聊天記錄界面只要一個顯示聊天記錄的列表框就行了。

        3 Socket即時通信設(shè)計關(guān)鍵技術(shù)

        網(wǎng)絡(luò)通信的關(guān)鍵是Socket(套接字),是一個通信鏈的句柄,用于描述IP地址、端口號,連接建立后,則可以發(fā)送消息或執(zhí)行命令。采用C/S模式的程序中,服務(wù)器端和客戶端都要擁有屬于自己的Socket。通常服務(wù)器程序用listen(sockfd,MAX_ CLIENT)監(jiān)聽指定的端口,接收用戶的Socket請求,異步處理多個登陸管理員客戶端的請求。假如客戶端發(fā)出TCP請求,服務(wù)器會新建專用與這個客戶通信的Socket,并把這個Socket加入到FD_SET套接字集合中,運用select(maxfd,&sockset,NULL,NULL,NULL),循環(huán)遍歷所有的Socket處理有信息請求的客戶端請求。遠(yuǎn)端客戶端,使用Socket通過connet( )向服務(wù)器發(fā)出連接請求,服務(wù)器返回接受確認(rèn)后,就可以發(fā)送消息或執(zhí)行命令,并且建立不死線程通過該線程等待服務(wù)器給客戶端的信息,具體是通過select(sockfd+1,&sockset,NULL,NULL,NULL)阻塞等待服務(wù)器的信息。會話完成后,關(guān)閉Socket[10]。

        遠(yuǎn)程控制通過如下幾個步驟實現(xiàn):

        第一步,Socket定義,本系統(tǒng)服務(wù)器端采用重復(fù)服務(wù)器模型[9],算法[14]如下:

        SOCKET( ); //建立Socket

        BIND( ); //與網(wǎng)絡(luò)地址和端口號綁定

        LISTEN( ); //在綁定的套接字上監(jiān)聽客戶端發(fā)來的網(wǎng)絡(luò)請求

        FD_ZERO( ); //清空套接字集合

        FD_SET(sockfd,&sockset);//將監(jiān)聽套接字加入集合初始集合

        maxfd=max(maxfd,sockfd+1); //替換最大的套接字號

        for (;;)

        { select(maxfd,&sockset,NULL,NULL,NULL);//異步遍歷套接字集合查看狀態(tài)有沒有變化

        new_sockfd =ACCEPT( ); //接受狀態(tài)有變化的套接字

        FD_SET(new_sockfd,&sockset);//將監(jiān)聽到的套接字入集合

        WHILE(1)

        {

        READ( ); //從套接字中讀取數(shù)據(jù)

        PROCESS( ); //解析收到的數(shù)據(jù)包,匹配后進(jìn)入第六步進(jìn)行相應(yīng)的處理

        WRITE( ); //從套接字中寫入數(shù)據(jù)

        CLOSE( ); //關(guān)閉套接字

        }

        第二步,接收數(shù)據(jù),解包,實現(xiàn)數(shù)據(jù)檢測和匹配;

        4 界面部分實現(xiàn)的基本算法

        4.1Linux內(nèi)核線程處理機(jī)制

        即時通信啟動后,程序要一直在監(jiān)聽是否有新的信息到達(dá)?;诠δ芴匦詻Q定為避免程序進(jìn)入假死狀態(tài),程序要采用多線程機(jī)制。將等待監(jiān)聽作為一個單獨運行的子線程,可以提高程序響應(yīng)效率,提高用戶體驗,這個線程也叫心跳線程。本系統(tǒng)在main( )函數(shù)中創(chuàng)建多個線程,由linux系統(tǒng)組織線程的合利調(diào)度[12]。

        GTK+中使用線程,利用g_thread_init(NULL)和gdk_threads_init()完成前期工作。g_thread_create()函數(shù)創(chuàng)建線程,接收消息的線程由g_thread_create()函數(shù)創(chuàng)建。線程的具體事件回調(diào)函數(shù)由get_message()函數(shù)執(zhí)行。對于GTK+設(shè)計中的線程互斥由于gdk_threads_enter(),gdk_threads_leave()完成全局鎖的獲得和釋放。心跳線程啟動后信息回調(diào)函數(shù)就被激活。各功能子線程各司其職完成相應(yīng)的操作。同樣,客戶端的多線程編程與此類似。

        4.2GTK消息處理機(jī)制

        GTK+的本質(zhì)是事件驅(qū)動,gtk-main()函數(shù)啟動時程序進(jìn)行靜默狀態(tài),用戶點擊界面操作后激活事件,程序被喚醒,GTK+將主線程執(zhí)行權(quán)交給處理用戶操作的函數(shù),這一系列操作都是由ANSI C語言完成功能邏輯的。窗口控件事件發(fā)生,激活消息信號,GTK+專門的信號處理機(jī)制會捕獲信號[13],將激活相應(yīng)的回調(diào)函數(shù)完成信號處理。

        對象事件與回調(diào)函數(shù)的關(guān)聯(lián)標(biāo)簽是由不同的返回值決定的。按照函數(shù)聲明的順序執(zhí)行回調(diào)函數(shù),可以解決同一個對象與多個回調(diào)函數(shù)的匹配。信號處理器的創(chuàng)建函數(shù)定義中,參數(shù)object表示產(chǎn)生信號的 widget構(gòu)件,參數(shù)name表示捕獲的事件或信號的名稱,參數(shù)callback-func表示事件的回調(diào)函數(shù)名稱,參數(shù)func-data表示回調(diào)函數(shù)的參數(shù)存在[11]。要在主程序的前面定義回調(diào)函數(shù),函數(shù)聲明為:void callback-func(Gtkwidget widget,gpointer func-data)。以服務(wù)器啟動主程序為例,服務(wù)器啟動主程序啟動函數(shù)是:void button_start_clicked(GtkWidget * button,gpointer data)。

        這個函數(shù)是進(jìn)入主線程的接口,它初始化一些變量,打開監(jiān)聽端口及進(jìn)入主線程。服務(wù)器啟動時會通過POP3將啟動好的服務(wù)器地址及端口號發(fā)到互聯(lián)網(wǎng)上的一個郵箱上去,原因客戶會使用這個地址及端口號,客戶端啟動時從郵箱中讀這個郵件就可以知道服務(wù)器啟動時的IP地址及端口號了,這樣省去很多麻煩,其實現(xiàn)包含在下面的函數(shù)中:

        void button_start_clicked(GtkWidget * button,gpointer data);

        主線程負(fù)責(zé)創(chuàng)建激活其他四個子線程,主線程函數(shù)原型是:

        void go_to(void);

        下面介紹由主線程創(chuàng)建的四個子線程的作用及函數(shù)原型。負(fù)責(zé)處理登陸信息的線程的函數(shù)原型:

        void func_check(struct check *k);

        負(fù)責(zé)處理注冊信息的線程的函數(shù)原型:

        void func_check(struct check *k);

        負(fù)責(zé)處理退出信息的線程的函數(shù)原型:

        void func_quit(char ipip[40]);

        系統(tǒng)消息是通過一個函數(shù)一個一個向所有在線用戶發(fā)的系統(tǒng)消息,這個函數(shù)原型是:

        void button_message_clicked(GtkWidget * button,gpointer data);

        給出程序中函數(shù)之間運行順序跟關(guān)系的參照圖如圖3所示。

        圖3 函數(shù)之間運行順序跟關(guān)系的參照圖

        5 系統(tǒng)功能測試

        在Linux環(huán)境下運行客戶端,以局域網(wǎng)中的一臺主機(jī)作為服務(wù)器。另外選取兩到三臺電腦作為工作用戶機(jī)按照如下進(jìn)行測試:

        (1)注冊測試

        (2)登陸測試

        (3)私聊測試

        (4)文件傳輸測試

        (5)接收系統(tǒng)消息測試

        測試的結(jié)果為:

        1. 注冊頁面輸入以下信息:網(wǎng)名:王曉博,密碼:123456;第二個密碼框:123456,電子郵件:1wangxiaobo@163.com得到:(登陸賬號:10012)注冊成功的頁面如圖3所示。

        2. 登陸頁面輸入以下信息:帳號:10012 ,密碼:123456。登陸成功的結(jié)果如圖4所示。

        3. 首先登陸兩個賬號,如(賬號10011,密碼123;賬號10013,密碼123456)。然后. 打開聊天窗口,相互發(fā)送信息如圖5所示。

        4. 在聊天窗口點擊消息記錄按鈕,選擇一個文件如圖6所示。點擊確定。而后發(fā)送結(jié)果如圖7所示。

        5. 在服務(wù)器發(fā)一個系統(tǒng)消息,客戶端接收如圖8所示。

        圖3 返回注冊賬號圖

        圖4 返回好友列表

        圖5 兩個人進(jìn)行聊天

        圖6 選擇文件

        圖7 發(fā)送結(jié)果圖

        8 系統(tǒng)消息圖

        6 總結(jié)

        隨著國內(nèi)電子信息產(chǎn)品國產(chǎn)化,在Linux環(huán)境下開發(fā)即時通信系統(tǒng)勢在必行,本文實現(xiàn)的基于Liunx + Mysql + C + GTK設(shè)計的即時通信系統(tǒng),這種環(huán)境具有極高的性能價格比,較強(qiáng)的安全性,為減少信息安全隱患,防止信息外泄做出貢獻(xiàn)?,F(xiàn)階段此即時通信工具尚未達(dá)到強(qiáng)大功能,在下一階段將繼續(xù)把這個即時通信系統(tǒng)的功能更加完善。

        [1] 吳勇毅. 工信部力挺軟件國產(chǎn)化政策機(jī)遇促行業(yè)大發(fā)展.通信信息報[DB/OL] http://it.people.com.cn/n/2014/0605/ c1009-25108211.html.

        [2] 劉皓. 分布式環(huán)境下可靠數(shù)據(jù)同步及通訊的協(xié)議分析[J].軟件, 2015, 36(9): 113-116.

        [3] 張勇, 裴東良, 張會兵. 消息傳輸系統(tǒng)研究[J]. 軟件, 2016, 37(3): 51-54.

        [4] Shuyan SUN, Xiaojuan QI, Yongji YANG. The Design of Scientific Research Project Management System in Universities[J]. Management Science and Engineering, 2014, 8(1): 57-61.

        [5] Yuanzhe Zhao, Chundong Hu, Peng Sheng, Xiaodan Zhang, Deyun Wu, Qinglong Cui, Rui Zhang, Yulian Lin, Application Software of Main Control Server for Neutral Beam Injection Control System[J]. Journal of Fusion Energy, 2014, 33(4): 412-416.

        [6] 周京暉. 集成消息服務(wù)和定時通知的分布式內(nèi)存數(shù)據(jù)庫[J].軟件, 2013, 34(1): 89-92.

        [7] 陳特放, 黎丹. Linux下用GTK+和MySQL開發(fā)基于TCP/IP的網(wǎng)絡(luò)聊天室[J]. 長沙大學(xué)學(xué)報. 2006, 20(5): 54-58.

        [8] 宋勁杉. Linux C編程一站式學(xué)習(xí)[M]. 電子工業(yè)出版社, 2009: 276-284.

        [9] Harlow E Developing Linux Application with GTK+ and GDK[M]. MacmillanComputer Publishing House, 1999.

        [10] 左巖, 趙建玉, 張紅. 基于Linux的嵌入式數(shù)據(jù)采集裝置的TCP/IP通信[J]. 暨南大學(xué)學(xué)報(自然科學(xué)版). 2014, 28(3): 194-197.

        [11] 苑曉芳, 劉志廣. Linux下基于TCP傳輸組建的實現(xiàn)[J]. 無線電通信技術(shù), 2014, 40(4): 46-49.

        [12] Neil Matthew, Richard Stones. Beginning Linux Programming(4 edition)[M]. Wrox, 2007.

        [13] 余長江, 周淵平, 呂海龍. Linux平臺下基于GTK+的聊天室設(shè)計[J]. 通信技術(shù), 2012, 45(5): 98-100.

        [14] Emoto. M, Shibata. K, Watanabe. K, Ohdachi. S, Ida. K, Sudo. S. Development of a flexible visualization tool[J]. Fusion Engineering and Design, 2002, 60(3): 367-371.

        R&D of the Linux-Based Instant Messaging System

        ZHAO Xiang-bing, ZHANG Jing-an
        (School of Mathematics and Computer Science, Shanxi Datong University, Datong Shanxi 037009)

        For current Information Security has become an important national security strategy, China-made military computer operating system “unicorn” has been installed, and domestic electronic information products will become the trend, while Kylin operating system is a Linux-based operating system, but under the Linux LAN environment there is not an instant messaging software to choose from.After studying Linux Socket network programming, and UI programming knowledge, this paper designs for instant messaging system which is based on Linux C/S mode, and Linux C language development, using GTK graphical interface, relating to TCP / IP and POP / SMTP protocol for chat, recording chats,sending an e-mail, sending the file. So it fills the national electronic information products localization in Instant Messaging System gaps.

        Information security; Kylin operating system; Liunx; Instant messaging system

        TP311.52

        A

        10.3969/j.issn.1003-6970.2017.02.006

        山西省軟科學(xué)研究計劃項目(2014041049-1);大同市軟科學(xué)研究計劃項目(2014112-2)

        趙向兵(1978-),男,講師,主要研究方向:數(shù)據(jù)挖掘、大數(shù)據(jù)。張景安(1970-),男,教授,主要研究方向:云計算、計算機(jī)網(wǎng)絡(luò)應(yīng)用技術(shù)。

        本文著錄格式:趙向兵,張景安. Linux平臺即時通信系統(tǒng)的研究與開發(fā)[J]. 軟件,2017,38(2):23-27

        猜你喜歡
        線程好友按鈕
        哪個是門鈴真正的按鈕
        當(dāng)你面前有個按鈕
        屬羊
        刪除好友
        雜文月刊(2017年20期)2017-11-13 02:25:06
        死循環(huán)
        淺談linux多線程協(xié)作
        內(nèi)心不能碰的按鈕
        Linux線程實現(xiàn)技術(shù)研究
        么移動中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
        在線好友無處可逃
        中文字幕一区二区av | 日本中文一区二区在线观看| 一本色道久久爱88av| 中文字幕人妻熟女人妻洋洋| 国产免费一区二区三区最新不卡| 白白视频在线免费观看| 国产人成在线免费视频| 一本色道久久88综合亚精品| 91九色播放在线观看| 色噜噜亚洲男人的天堂| 国产欧美日韩精品丝袜高跟鞋| 国产香蕉国产精品偷在线| 久久久久亚洲av无码专区桃色| 国产中文久久精品| 免费在线观看草逼视频| 少妇又紧又爽丰满在线视频| 亚洲av午夜精品无码专区| 真人新婚之夜破苞第一次视频| 无码 制服 丝袜 国产 另类| 亚洲av高清资源在线观看三区| 精品熟女视频一区二区三区国产| 国产av无码专区亚洲精品| 性无码专区无码| 无套内射无矿码免费看黄| 老色鬼永久精品网站| АⅤ天堂中文在线网| 99麻豆久久精品一区二区| 国产欧美va欧美va香蕉在线| 最近在线更新8中文字幕免费| 依依成人精品视频在线观看| 无码人妻系列不卡免费视频| 日韩精品一区二区三区四区五区六| 国产免费精品一品二区三| 国产美女主播视频一二三区| 国产精品久久久久久久妇| 国产精品自产拍在线观看免费| 精品人妻一区二区三区蜜臀在线 | 免费在线观看视频播放| 欧美a级毛欧美1级a大片免费播放| 亚洲欧美日韩一区在线观看 | 国产免费一区二区三区在线视频|