青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

興海北路

---男兒仗劍自橫行
<2008年8月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

統計

  • 隨筆 - 85
  • 文章 - 0
  • 評論 - 17
  • 引用 - 0

常用鏈接

留言簿(6)

隨筆分類

隨筆檔案

收藏夾

全是知識啊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

忘記mysql用戶密碼怎么辦?

作者: falcon   發表日期: 2007-04-05 21:50   復制鏈接



1. stop the mysql server
$ps -ef | grep mysqld
then  kill one by one
OR
$killall -TERM mysqld

2. start the mysql server with the following command
$ /usr/bin/mysqld_safe --skip-grant-table &

3. change your password for root
mysql> use mysql;
mysql> update user set password=password("new password") where user="root";
mysql> flush privileges;
mysql> quit

4. restart the mysql server with normal mode
/etc/init.d/mysql restart

轉自:
http://www.cndw.com/tech/data/2006050864444.asp
有改動

posted @ 2008-03-14 16:08 隨意門 閱讀(232) | 評論 (0)編輯 收藏
用mysqldump備份和恢復指定表

作者: falcon   發表日期: 2007-03-05 17:03   復制鏈接



備份
Quote:

mysqldump -u user -p db tab1 tab2 > db.sql



恢復
Quote:

mysql -u user -p db < db.sql



參考資料:

備份/恢復
http://hi.baidu.com/hecheng/blog/item/e0d5b31c2e24a88b87d6b643.html

posted @ 2008-03-14 16:07 隨意門 閱讀(848) | 評論 (0)編輯 收藏
自動備份mysql數據庫

作者: falcon   發表日期: 2007-04-18 11:00   復制鏈接



如果管理過數據庫,你就會發現手工備份數據庫是個非常糟糕的事情。如果能夠按照一定的策略自動備份,可能會是個不錯的選擇。

就mysql 來說,我們可以通過copy數據庫文件和mysqldump兩種方式來實現備份,這里我們通過直接copy數據庫文件來進行備份(這種方式在不同的 mysql版本之間備份和恢復可能會存在問題,需要注意,當然mysqldump也會出一些問題,但是沒有前者嚴重)。

下面介紹具體的備份方法:

先寫一個實現自動備份的腳本(建議引入一些參數,提高靈活性):


Code:

[Ctrl+A Select All]



*這里的備份策略是:保留兩周內備份的數據,備份的數據庫名字包含日期信息

然后把上面的腳本作為cron的任務
> su
> crontab -e
4 4 * * 1 /bin/backup.sh 2>/var/log/backup.log

*這里的備份策略是:每周的周一的4點4分備份一次

這個樣子就實現了每周備份一次,并保留兩周內備份的數據。

posted @ 2008-03-14 16:06 隨意門 閱讀(399) | 評論 (0)編輯 收藏
獲取IP地址函數(本地、域名轉換)

作者: falcon   發表日期: 2006-09-27 15:27   復制鏈接



 前些天由于項目需要,自己整了一個比較全面的獲取IP地址的函數:
  可以獲取本地的IP地址,也可以根據域名獲取IP地址,感覺比較有用特此奉獻上,呵呵。

  下面是源代碼


Code:

[Ctrl+A Select All]


  下面是一個測試的代碼
test_GetIp.c


Code:

[Ctrl+A Select All]



  具體使用演示
引文:

$./test_GetIp xxxy.lzu.edu.cn --這里是根據域名轉換為IP地址
domain name or ip address : xxxy.lzu.edu.cn
current ip address: 202.201.0.237

$ ./test_GetIp 219.246.79.7 --輸入地址返回地址
domain name or ip address : 219.246.79.7
current ip address: 219.246.79.7

$ ./test_GetIp localhost  --獲取本地IP地址
domain name or ip address : localhost
current ip address: 219.246.79.4

posted @ 2008-03-14 16:05 隨意門 閱讀(4248) | 評論 (0)編輯 收藏
匿名FTP站點掃描C語言源代碼

作者: falcon   發表日期: 2006-08-22 09:21   復制鏈接



經過幾天的調試和修改,比較穩定的匿名ftp站點掃描工具終于完成拉。
該掃描工具可以掃描指定IP段的ftp站點,大家可以把它改寫來掃描其他的端口。甚至基于此結構寫一個ftp搜索引擎的爬蟲。過段時間,我再把爬蟲的代碼公布出來,暫時正在調試和修改中。

這些天弄得很累,呵呵,暫時只把源代碼弄上來。有時間再做詳細的解釋。有問題在后面跟帖哦。

ftp掃描的核心代碼:ffs.c


Code:

[Ctrl+A Select All]



自動掃描多個IP段的腳本: affs


Code:

[Ctrl+A Select All]



這個可以用來終止上面的掃描過程: kffs


Code:

[Ctrl+A Select All]



下面是蘭大校園網內的IP段: ftpinfo.txt
Quote:

202.201.0.0 202.201.15.255;210.26.48.0 210.26.63.255;219.246.32.0 219.246.95.255;219.246.176.0 219.246.191.255;222.23.48.0 222.23.63.255;202.38.127.176 202.38.127.191;202.38.126.224 202.38.126.255


注意,每個段之間用分號分開哦,因為在affs腳本里頭用到了這個分割符號。

下面這個可以在掃描過后的日志里頭提取出ip地址: logtoip


Code:

[Ctrl+A Select All]




具體使用演示:

只用 ffs
Quote:

falcon@falcon:~/program/c/code/ftp/socket$ gcc -lpthread -o ffs ffs.c
falcon@falcon:~/program/c/code/ftp/socket$ ./ffs 219.246.183.222 219.246.183.222
startIp = 219.246.183.222,3690379230
endIp = 219.246.183.222,3690379230
thread 0 create successed!
currentIp = 3690379230  219.246.183.222
220 Microsoft FTP Service
331 Anonymous access allowed, send identity (e-mail name) as password.
230 Anonymous user logged in.
221
<can login: 219.246.183.222>
Thread 0 down
Finish!




用 affs

Quote:

falcon@falcon:~/program/c/code/ftp/socket$ ./affs ftpinfo.txt fs.log
start time:2006年 08月 21日 星期一 21:38:01 CST
is scaning...



正在掃描,結束以后,我們可以獲得掃描的一個日志文件fs.log

用logtofile腳本提取可以訪問的ip地址
Quote:

falcon@falcon:~/program/c/code/ftp/socket$ ./logtoip fs.log
202.201.0.237
202.201.0.243
202.201.1.126
202.201.3.82
202.201.3.99
202.201.6.125
202.201.7.17
202.201.8.125
202.201.13.65
202.201.13.118
202.201.13.139
202.201.13.149



最好,要是想結束掃描的話,用 kffs腳本
Quote:

falcon@falcon:~/program/c/code/ftp/socket$ ./kffs
do you want to kill all ftp scan process?(y or n): y
殺死



另外,要是你想把你的測試結果發布,可以在日志里頭提取出ip地址并放到html文件里頭。下面是這么一個腳本:logtohtml


Code:

[Ctrl+A Select All]



為了讓系統自動掃描所有的IP段,并保存為html文件發布出去,那么我們可以這么做。再寫個腳本 updateftp,(把affs 和logtohtml放在同一目錄下哦,還有updateftp也是)


Code:

[Ctrl+A Select All]



如果再加上crontab,我們就可以讓系統自動掃描拉
Quote:

$crontab -e
00 12 * * * path/to/updateftp



ok,好啦
這里是演示的最終結果:
http://mirror.lzu.edu.cn/newftp/index.html

經過測試,掃描整個蘭大校園網內的IP段,大概需要15鐘左右。

對拉,需要提到的是,在用腳本的時候,記得先修改成可執行的哦,如:
Quote:

$chmod 755 path/to/shellscriptfile



參考資料太多拉,這里暫時不列舉出來哦
翻了一大堆關于套接字和多線程編程的資料。我在其他的幾個帖子里頭貼出了其中的一些參考資料。

posted @ 2008-03-14 16:04 隨意門 閱讀(966) | 評論 (-4)編輯 收藏
linux下C語言多線程編程實例

作者: falcon   發表日期: 2006-08-19 08:36   復制鏈接



學東西,往往實例才是最讓人感興趣的,老是學基礎理論,不動手,感覺沒有成就感,呵呵。

下面先來一個實例。我們通過創建兩個線程來實現對一個數的遞加。
或許這個實例沒有實際運用的價值,但是稍微改動一下,我們就可以用到其他地方去拉。

下面是我們的代碼:


Code:

[Ctrl+A Select All]




下面我們先來編譯、執行一下

Quote:

  falcon@falcon:~/program/c/code/ftp$ gcc -lpthread -o thread_example thread_example.c
  falcon@falcon:~/program/c/code/ftp$ ./thread_example
  我是主函數哦,我正在創建線程,呵呵
  線程1被創建
  線程2被創建
  我是主函數哦,我正在等待線程完成任務阿,呵呵
  thread1 : I'm thread 1
  thread1 : number = 0
  thread2 : I'm thread 2
  thread2 : number = 1
  thread1 : number = 2
  thread2 : number = 3
  thread1 : number = 4
  thread2 : number = 5
  thread1 : number = 6
  thread1 : number = 7
  thread2 : number = 8
  thread1 : number = 9
  thread2 : number = 10
  thread1 :主函數在等我完成任務嗎?
  線程1已經結束
  thread2 :主函數在等我完成任務嗎?
  線程2已經結束





實例代碼里頭的注釋應該比較清楚了吧,下面我把網路上介紹上面涉及到的幾個函數和變量給引用過來。


Quote:


  線程相關操作

  一 pthread_t

  pthread_t在頭文件/usr/include/bits/pthreadtypes.h中定義:
    typedef unsigned long int pthread_t;
    它是一個線程的標識符。

  二 pthread_create

  函數pthread_create用來創建一個線程,它的原型為:
    extern int pthread_create __P ((pthread_t *__thread, __const pthread_attr_t *__attr,
    void *(*__start_routine) (void *), void *__arg));
  第一個參數為指向線程標識符的指針,第二個參數用來設置線程屬性,第三個參數是線程運行函數的起始地址,最后一個參數是運行函數的參數。這里,我們的 函數thread不需要參數,所以最后一個參數設為空指針。第二個參數我們也設為空指針,這樣將生成默認屬性的線程。對線程屬性的設定和修改我們將在下一 節闡述。當創建線程成功時,函數返回0,若不為0則說明創建線程失敗,常見的錯誤返回代碼為EAGAIN和EINVAL。前者表示系統限制創建新的線程, 例如線程數目過多了;后者表示第二個參數代表的線程屬性值非法。創建線程成功后,新創建的線程則運行參數三和參數四確定的函數,原來的線程則繼續運行下一 行代碼。

  三 pthread_join pthread_exit
    
  函數pthread_join用來等待一個線程的結束。函數原型為:
    extern int pthread_join __P ((pthread_t __th, void **__thread_return));
  第一個參數為被等待的線程標識符,第二個參數為一個用戶定義的指針,它可以用來存儲被等待線程的返回值。這個函數是一個線程阻塞的函數,調用它的函數 將一直等待到被等待的線程結束為止,當函數返回時,被等待線程的資源被收回。一個線程的結束有兩種途徑,一種是象我們上面的例子一樣,函數結束了,調用它 的線程也就結束了;另一種方式是通過函數pthread_exit來實現。它的函數原型為:
    extern void pthread_exit __P ((void *__retval)) __attribute__ ((__noreturn__));
    唯一的參數是函數的返回代碼,只要pthread_join中的第二個參數thread_return不是NULL,這個值將被傳遞給 thread_return。最后要說明的是,一個線程不能被多個線程等待,否則第一個接收到信號的線程成功返回,其余調用pthread_join的線 程則返回錯誤代碼ESRCH。
    在這一節里,我們編寫了一個最簡單的線程,并掌握了最常用的三個函數pthread_create,pthread_join和pthread_exit。下面,我們來了解線程的一些常用屬性以及如何設置這些屬性。


  互斥鎖相關

  互斥鎖用來保證一段時間內只有一個線程在執行一段代碼。

  一 pthread_mutex_init

  函數pthread_mutex_init用來生成一個互斥鎖。NULL參數表明使用默認屬性。如果需要聲明特定屬性的互斥鎖,須調用函數 pthread_mutexattr_init。函數pthread_mutexattr_setpshared和函數 pthread_mutexattr_settype用來設置互斥鎖屬性。前一個函數設置屬性pshared,它有兩個取值, PTHREAD_PROCESS_PRIVATE和PTHREAD_PROCESS_SHARED。前者用來不同進程中的線程同步,后者用于同步本進程的 不同線程。在上面的例子中,我們使用的是默認屬性PTHREAD_PROCESS_ PRIVATE。后者用來設置互斥鎖類型,可選的類型有PTHREAD_MUTEX_NORMAL、PTHREAD_MUTEX_ERRORCHECK、 PTHREAD_MUTEX_RECURSIVE和PTHREAD _MUTEX_DEFAULT。它們分別定義了不同的上所、解鎖機制,一般情況下,選用最后一個默認屬性。

  二 pthread_mutex_lock pthread_mutex_unlock pthread_delay_np

  pthread_mutex_lock聲明開始用互斥鎖上鎖,此后的代碼直至調用pthread_mutex_unlock為止,均被上鎖,即同一時間只 能被一個線程調用執行。當一個線程執行到pthread_mutex_lock處時,如果該鎖此時被另一個線程使用,那此線程被阻塞,即程序將等待到另一 個線程釋放此互斥鎖。




注意:

需 要說明的是,上面的兩處 sleep不光是為了演示的需要,也是為了讓線程睡眠一段時間,讓線程釋放互斥鎖,等待另一個線程使用此鎖。下面的參考資料1里頭說明了該問題。但是在 linux下好像沒有pthread_delay_np那個函數(我試了一下,提示沒有定義該函數的引用),所以我用了sleep來代替,不過參考資料2 中給出另一種方法,好像是通過pthread_cond_timedwait來代替,里頭給出了一種實現的辦法。


參考資料:

1。Linux下的多線程編程
http://linux.chinaunix.net/doc/program/2001-08-11/642.shtml
2。pthread_delay_np
http://bbs.chinaunix.net/archiver/?tid-584593.html

posted @ 2008-03-14 16:03 隨意門 閱讀(709) | 評論 (0)編輯 收藏
linux下c語言多進程編程

作者: falcon   發表日期: 2006-07-14 16:49   復制鏈接



多進程編程是作為程序員必須熟悉的一個東西哦

下面,我們在linux用系統的fork調用來實現多進程編程練習

先看代碼吧



Code:

[Ctrl+A Select All]



再來看看效果

Quote:

falcon@falcon:~/program/c/code/process$ gcc -o mul_pro_myself mul_pro_myself.c
falcon@falcon:~/program/c/code/process$ ./mul_pro_myself
I am the child :32063
child_pro: 0
I'm the parent :32062
parent_pro: 0
child_pro: 1
parent_pro: -1
child_pro: 2
child_pro: 3
parent_pro: -2
child_pro: 4
parent_pro: -3
Child exit with:5
Who am I :5
parent_pro: -4
Parent exit with:-5
Who am I :-5



看到上面的代碼,結合上面的實驗結果,我們有個疑問: Who am I? i的值到底是什么呢?

以我們平常的經驗,變量i在整個程序里頭只可能有一個副本,也就是說在任何一個狀態,他的值是唯一的。

但是我們從上面的實驗結果可以看出,在多進程的程序里頭,情況就不再是這個樣子,在不同的進程中保存了不同的副本。

好玩不?

如果對程序有疑問,歡迎查看下面的參考資料哦,非常不錯的資料


參考資料:
《linux操作系統下c語言編程入門 》
http://www.mwjx.com/aboutfish/private/book/linux_c.txt

posted @ 2008-03-14 16:03 隨意門 閱讀(1689) | 評論 (0)編輯 收藏
用c寫個大數求和的程序

作者: falcon   發表日期: 2006-05-31 18:46   復制鏈接



先說一下思路哦:

1)先從鍵盤屏幕接收兩個大數,按字符串存放到字符數組中。
2)
初始化進位為0
然后從兩個字符數組中分別取出最后一個字符(數字)開始來求和
一直求和到字符串長度較小的最小下標處停止
結果保存較大數字所存放的字符數組中
(說明:
如果結果大于106,那么結果減去58存入,并記錄進位為1
否則,結果減去48存入,并記錄進位為0

3)如果兩個數字的位數不相同,那么需要求出最后一位可能的進位
比如5+96=101
4)進位為1,那么和之前需要輸出一個1
5)輸出兩個大數的和

下面是具體代碼


Code:

[Ctrl+A Select All]



補充:在ubuntu下用gcc編譯通過
部分演示結果

falcon@falcon:~/program/c/code/mylove$ gcc -o add_LN add_LN.c
falcon@falcon:~/program/c/code/mylove$ ./add_LN
Please input two Large Number less than 10000 bit
5
6
兩數之和為:
11
falcon@falcon:~/program/c/code/mylove$ ./add_LN
Please input two Large Number less than 10000 bit
877848515165484151
996527784841515184
兩數之和為:
1874376300006999335
falcon@falcon:~/program/c/code/mylove$ ./add_LN
Please input two Large Number less than 10000 bit
8995951
784784987951252178485215254798749874984185416845865215187484520512
兩數之和為:
784784987951252178485215254798749874984185416845865215187493516463
falcon@falcon:~/program/c/code/mylove$ ./add_LN
Please input two Large Number less than 10000 bit
5
96
兩數之和為:
101

guest 發表于 2007-11-20 23:38
#2

你的C語言代碼有點小錯誤!就是在那段:
    if(equal==0)
    {
        Temp=LN[flag1][LN_Len[flag1]+i]+jw;
        if(Temp>=58)
        {
              jw=1;
              LN[flag1][LN_Len[flag1]+i]=Temp-10;
        }
        else
        {
              jw=0;
              LN[flag1][LN_Len[flag1]+i]=Temp;
        }
                 
    }

缺少了對一直有進位即JW=1時候的累加!應該加上個while循環:
    if(equal==0)
    {
              while(j>0 && jw==1)
              {
        Temp=LN[flag1][j+i]+jw;
        if(Temp>=58)
        {
              jw=1;
              LN[flag1][j+i]=Temp-10;
        }
        else
        {
              jw=0;
              LN[flag1][j+i]=Temp;
        }
                 j--;
              }

并且初始j=LN_Len[flag1]

歡迎訪問blog.sina.com.cn/Fanmcgrady與我交流!呵呵~~謝謝你的幫助!

posted @ 2008-03-14 16:02 隨意門 閱讀(561) | 評論 (0)編輯 收藏
如何用VC編寫DLL動態鏈接庫文件?

作者: falcon   發表日期: 2006-04-24 14:51   復制鏈接



引言

前不久剛學會了如何用VB編寫DLL動態鏈接庫,但是用vb編寫動態鏈接庫比較麻煩些。下面我們再學習一下如何用vc編寫dll動態鏈接庫,并且通過vc或者vb調用

正文

這里主要介紹兩個東東
第一:用vc編寫動態鏈接庫,用vc調用
第二:用vb編寫動態鏈接庫,用vb調用

一、用vc編寫動態鏈接庫,用vc調用

1、創建DLL文件,命名為FIRSTDLL

1)打開visual c++ 6.0通過new創建一個win30 Dynamic-link Libary的工程,命名為FIRSTDLL
2)接著選擇最后一個選項,讓系統幫我們創建一些必要的文件
3)把FIRSTDLL.cpp用下面的代碼覆蓋


Code:

[Ctrl+A Select All]


4)接著我們在FIRSTDLL.h頭文件里頭用下面的代碼覆蓋


Code:

[Ctrl+A Select All]


5)好拉,我們現在可以編譯FIRSTDLL.cpp文件拉,到debug目錄下看看,是不是已經生成拉我們需要的FIRSTDLL.dll拉

2、通過vb編寫一個函數來調用該DLL,該函數為USEFIRSTDLL

1)同樣通過new創建一個工程,該工程為win30 application,命名USEFIRSTDLL
2)在USEFIRSTDLL.cpp文件中用如下代碼覆蓋


Code:

[Ctrl+A Select All]



好拉,到這里第一部分介紹完拉
下面介紹第二部分


二、用vc編寫動態鏈接庫,用vb調用

在介紹這個之前必須聲明的是(引用自下面的參考資料)

一個DLL中的函數要想被VB調用,必須滿足兩個條件:一是調用方式為stdcall,另一個是必須是export的。要做到第一條,只須在函數聲明前加上__stdcall關鍵字。如:
  short __stdcall sample(short nLen, short *buffer)
  要做到第二條,需要在*.def文件中加上如下的幾行:
  EXPORTS
  sample @1
  這里的sample是你要在VB中調用的函數名,@1表示該函數在DLL中的編號,每個函數都不一樣。注意這里的函數名是區分大小寫的。


1、下面我們類似一創建名為SecondDll的DLL文件

1)創建SecondDll,代碼如下:


Code:

[Ctrl+A Select All]



2)往我們的工程里頭添加一個SecondDll.def文件,內容如下


Code:

[Ctrl+A Select All]


解釋一下哦:
@1是表示Max函數在DLL中函數組中是第一個函數,具體見參考資料

ok,保存
編譯、創建我們的SecondDll.dll

2、通過Vb調用SecondDll.dll文件,來求兩個數中的最大者

我們直接 編寫一段代碼如下哦


Code:

[Ctrl+A Select All]


看到效果沒有啊,在我們的窗體標題中顯示拉:"最大值是9"

到這里我們的工作接結束拉,不過要熟練掌握還得多編寫程序拉,下面是我在學習時的參考資料,非常詳細哦。
在這里,我真的是要謝謝那些專家們為我們免費提供了這么多參考資料,大家要好好珍惜才是,呵呵。


參考資料:
1)基于Visual C++6.0的DLL編程實現 http://hegeng2000.blogchina.com/3807138.html
2)VB和VC混合編程 http://www.china-askpro.com/msg1/qa72.shtml

posted @ 2008-03-14 16:00 隨意門 閱讀(1730) | 評論 (0)編輯 收藏
linux下網絡編程學習——入門實例

作者: falcon   發表日期: 2006-04-14 09:54   復制鏈接



是不是還對用c怎么實現網絡編程感到神秘莫測阿,我們這里就要撕開它神秘的面紗,呵呵。

一起來:

誒,不要著急,我們先來介紹一些網絡程序的主要執行過程,主要是便于大家更好的理解下面的程序實例哦 :

1)系統啟動服務器執行。服務器完成一些初始化操作,然后進入睡眠狀態,等待客戶機請求。
2)在網絡的某臺機器上,用戶執行客戶機程序
3)客戶機進行與服務器進程建立一條連接
4)連接建立后,客戶機通過網路向服務器發出請求,請求某種服務。
5)服務器接收到客戶機的請求后,根據客戶機請求的內容進行相應的處理,然后將處理結果返回。
6)服務器斷開與客戶機的連接,繼續睡眠,等待其他客戶機的請求。

現在介紹一個實例

功能:實現簡單的服務器-客戶機編程,客戶機發送連接請求后接受到連接成功信息。
代碼包括兩部分,服務器部分(service.c)和客戶機部分(client.c)



Code:

[Ctrl+A Select All]




Code:

[Ctrl+A Select All]



下面我們來編譯執行看看效果哦

編譯:
#gcc -o service service.c
#gcc -o client client.c
修改執行權限
#chmod 770 service
#chmod 770 client
執行
現執行服務器端哦
#./service
另開一個命令行窗口,連接服務器的3490端口
#./client localhost
呵呵,看到效果了吧
服務器端:

server: got connection from 127.0.0.1

客戶端

read: Hello,Network!

[注:以上程序在mandriva linux 2006下調試通過]

從此踏上linux下的網絡編程之路,祝賀你一帆風順...
Good Luck,Babies

posted @ 2008-03-14 15:59 隨意門 閱讀(4739) | 評論 (0)編輯 收藏
僅列出標題
共9頁: 1 2 3 4 5 6 7 8 9 
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲第一视频| 国产精品sss| 久久精品国产成人| 欧美巨乳在线观看| 免费欧美高清视频| 国产欧美精品xxxx另类| 亚洲另类在线视频| 亚洲电影免费在线| 久久久久9999亚洲精品| 欧美一乱一性一交一视频| 欧美日韩高清在线观看| 亚洲第一网站| 91久久综合| 久久字幕精品一区| 欧美国产极速在线| 在线观看欧美一区| 久久久一二三| 蜜桃av久久久亚洲精品| 国内精品伊人久久久久av影院| 亚洲欧美日韩人成在线播放| 午夜精品久久久久久久久久久久 | 一本高清dvd不卡在线观看| 久久这里只有精品视频首页| 免费成人高清| 亚洲福利免费| 欧美成人精品在线视频| 亚洲成人在线免费| 午夜精品免费在线| 国产精品嫩草影院一区二区| 这里只有精品视频| 欧美亚洲视频一区二区| 国产麻豆精品视频| 午夜国产不卡在线观看视频| 久久久久久久久岛国免费| 狠狠操狠狠色综合网| 久久久综合网站| 免费亚洲网站| 日韩午夜高潮| 国产精品久久二区| 亚洲欧美日韩中文视频| 久久久国产精品一区二区中文| 国产亚洲精品成人av久久ww| 久久天天躁狠狠躁夜夜爽蜜月| 欧美国产精品日韩| 日韩一级欧洲| 国产精品一区三区| 久久精品在线观看| 亚洲精华国产欧美| 亚洲综合精品一区二区| 国内精品久久久久国产盗摄免费观看完整版| 欧美一级在线亚洲天堂| 欧美风情在线| 亚洲一区二区成人在线观看| 国产日韩亚洲欧美| 欧美国产激情二区三区| 一本一本久久a久久精品牛牛影视| 性亚洲最疯狂xxxx高清| …久久精品99久久香蕉国产 | 亚洲欧美日韩中文视频| 国产主播喷水一区二区| 欧美巨乳在线观看| 香蕉久久国产| 亚洲人在线视频| 久久精品国产77777蜜臀| 亚洲日本一区二区三区| 国产精品久久久久久久久久久久久久| 久久精品一区蜜桃臀影院| 亚洲乱码国产乱码精品精| 久久久精品国产一区二区三区 | 欧美午夜不卡在线观看免费| 欧美在线观看视频| 亚洲免费高清| 欧美成人首页| 久久成人羞羞网站| 亚洲午夜羞羞片| 91久久精品国产91久久性色tv| 国产精品久久99| 欧美精品久久久久久| 久久久久久尹人网香蕉| 亚洲女人天堂成人av在线| 亚洲破处大片| 久久性天堂网| 久久不射2019中文字幕| 亚洲视频第一页| 亚洲人成人99网站| 国产综合视频| 国产女主播一区二区| 欧美日韩的一区二区| 老司机午夜精品视频| 欧美在线综合| 午夜国产欧美理论在线播放| 一区二区高清在线观看| 91久久国产精品91久久性色| 免费视频最近日韩| 久久午夜精品一区二区| 欧美与欧洲交xxxx免费观看 | 欧美一区二区黄色| 亚洲一区成人| 亚洲一区二区三区色| 一区二区三区|亚洲午夜| 亚洲国产精品久久久久婷婷884 | 最新高清无码专区| 亚洲人成在线播放| 亚洲国产综合视频在线观看| 亚洲成色最大综合在线| 亚洲二区免费| 亚洲国产精品久久精品怡红院| 在线观看国产欧美| 精品91视频| 亚洲国产婷婷香蕉久久久久久99| 伊人久久婷婷| 亚洲国产欧美另类丝袜| 亚洲激情六月丁香| 亚洲精品永久免费精品| 一本到12不卡视频在线dvd| 日韩一二三区视频| 在线视频亚洲一区| 一区二区三区日韩在线观看| 一区二区成人精品| 亚洲淫片在线视频| 欧美怡红院视频| 美女诱惑一区| 亚洲激情精品| 亚洲视频1区| 欧美一区久久| 免播放器亚洲一区| 欧美日韩综合一区| 国产农村妇女毛片精品久久莱园子| 国产模特精品视频久久久久| 国产综合精品| 99在线热播精品免费| 亚洲自拍偷拍视频| 久久亚洲免费| 亚洲啪啪91| 欧美亚洲一区二区三区| 久久日韩粉嫩一区二区三区| 欧美久久成人| 国产日韩精品一区二区三区| 亚洲电影成人| 亚洲男人影院| 欧美成人情趣视频| 亚洲午夜精品久久久久久app| 亚洲欧美怡红院| 猛男gaygay欧美视频| 国产精品国色综合久久| 精品不卡一区| 亚洲伊人第一页| 欧美成人一二三| 亚洲欧美综合一区| 欧美激情一区二区久久久| 国产视频在线观看一区二区三区| 在线看不卡av| 性欧美暴力猛交另类hd| 亚洲二区视频| 欧美亚洲午夜视频在线观看| 欧美精品成人| 激情亚洲一区二区三区四区| 亚洲午夜电影在线观看| 蜜臀91精品一区二区三区| 亚洲性视频网站| 你懂的国产精品| 国内精品视频一区| 亚洲欧美日韩一区在线| 亚洲精品123区| 美日韩精品视频免费看| 国产欧美在线视频| 亚洲小视频在线观看| 亚洲第一页自拍| 久久久激情视频| 国产精品嫩草影院一区二区| 亚洲伦理自拍| 免费久久精品视频| 欧美一站二站| 国产欧美日韩三级| 亚洲欧美国产高清va在线播| 亚洲精品久久久久中文字幕欢迎你| 久久久999精品免费| 国产精品爽黄69| 亚洲尤物在线| 夜夜爽av福利精品导航| 欧美黄色免费网站| 亚洲欧洲精品成人久久奇米网 | 欧美日韩国产黄| 亚洲欧洲精品一区二区三区不卡| 久久综合九色综合欧美狠狠| 销魂美女一区二区三区视频在线| 国产精品成人在线| 亚洲综合日韩在线| 一本久道久久综合狠狠爱| 欧美久色视频| 亚洲先锋成人| 这里只有精品丝袜| 国产精品亚洲片夜色在线| 午夜精品久久久久久久久久久久| 一区二区三区日韩在线观看| 国产精品白丝av嫩草影院| 午夜视频在线观看一区二区三区| 在线视频亚洲欧美| 国产精品亚洲网站| 久久精品国亚洲|