注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)網(wǎng)絡(luò)與數(shù)據(jù)通信網(wǎng)絡(luò)服務(wù)UNIX系統(tǒng)編程:通信、并發(fā)與線程

UNIX系統(tǒng)編程:通信、并發(fā)與線程

UNIX系統(tǒng)編程:通信、并發(fā)與線程

定 價(jià):¥198.00

作 者: (美)Kay Robbins(凱·羅賓斯),Steve Robbins(斯蒂芬·羅賓斯)
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121340352 出版時(shí)間: 2018-05-01 包裝:
開本: 16開 頁數(shù): 896 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書是基于新UNIX標(biāo)準(zhǔn)的完備參考書,對(duì)UNIX編程要點(diǎn)進(jìn)行清晰易懂的介紹,從說明系統(tǒng)調(diào)用的短小代碼段開始,逐漸過渡到用于技能提升的實(shí)際項(xiàng)目。作者深入探討通信、并發(fā)和線程問題,對(duì)復(fù)雜概念(如信號(hào)和并發(fā))進(jìn)行全面解讀,覆蓋文件、信號(hào)、信號(hào)量、POSIX線程和客戶機(jī)-服務(wù)器通信等內(nèi)容;提供大量實(shí)例、練習(xí),以及針對(duì)性項(xiàng)目及其參考答案。全書第一部分介紹UNIX基礎(chǔ)知識(shí),包括文件、進(jìn)程和特殊文件等;第二部分介紹信號(hào)和定時(shí)器;第三部分介紹信號(hào)量和進(jìn)程同步;第四部分介紹通信話題。本書適合作為高等院校計(jì)算機(jī)專業(yè)的教材,也可供軟件開發(fā)人員參考使用。

作者簡(jiǎn)介

  Kay Robbins 和 Steve Robbins,是美國麻省理工學(xué)院博士,現(xiàn)任德州大學(xué)圣安東尼奧分校計(jì)算機(jī)科學(xué)系講師?!禪NIX系統(tǒng)編程: 通信、并發(fā)與線程》(UNIX Systems Programming: Communication, Concurrency and Threads)是他們的代表作。譯者師蓉,譯有《完美Java(第6版)》、《信息架構(gòu):大型網(wǎng)站W(wǎng)eb設(shè)計(jì)(第4版)》《像富人一樣思考》《故事場(chǎng)景摩天樓》《互聯(lián)網(wǎng)領(lǐng)導(dǎo)思維》《斷點(diǎn):互聯(lián)網(wǎng)進(jìn)化啟示錄》《游戲編程**指南》《Unity 3.x游戲開發(fā)實(shí)例》《iPhone應(yīng)用用戶體驗(yàn)設(shè)計(jì)實(shí)戰(zhàn)與案例》《社交網(wǎng)站界面設(shè)計(jì)》等書。

圖書目錄

第一部分  基礎(chǔ)知識(shí)
第1章 技術(shù)對(duì)程序的影響 3
1.1術(shù)語的變化 3
1.2時(shí)間和速度 5
1.3多道程序設(shè)計(jì)和分時(shí) 6
1.4應(yīng)用層的并發(fā) 8
1.4.1中斷 8
1.4.2信號(hào) 9
1.4.3輸入和輸出 10
1.4.4進(jìn)程、線程和資源共享 10
1.4.5具有共享內(nèi)存的多個(gè)處理器 11
1.4.6網(wǎng)絡(luò)作為計(jì)算機(jī) 11
1.5安全和容錯(cuò) 12
1.6非法入侵造成的緩沖區(qū)溢出 13
1.6.1緩沖區(qū)溢出的后果 14
1.6.2緩沖區(qū)溢出和安全 16
1.7UNIX標(biāo)準(zhǔn) 17
1.8延伸閱讀 19
第2章 程序、線程和進(jìn)程 21
2.1程序是如何成為進(jìn)程的 21
2.2線程和執(zhí)行線程 22
2.3程序映象的布局 23
2.4庫函數(shù)調(diào)用 26
2.5函數(shù)返回值和錯(cuò)誤 29
2.6參數(shù)數(shù)組 31
2.6.1用makeargv函數(shù)創(chuàng)建一個(gè)數(shù)組 32
2.6.2makeargv函數(shù)的實(shí)現(xiàn) 34
2.7線程安全函數(shù) 38
2.8靜態(tài)變量的使用 40
2.9靜態(tài)對(duì)象的結(jié)構(gòu) 42
2.10進(jìn)程環(huán)境 48
2.11進(jìn)程終止 51
2.12練習(xí):一個(gè)env實(shí)用程序 54
2.13練習(xí):消息日志 55
2.14延伸閱讀 57
第3章 UNIX中的進(jìn)程 58
3.1進(jìn)程標(biāo)識(shí)符 58
3.2進(jìn)程狀態(tài) 60
3.3UNIX 進(jìn)程創(chuàng)建和fork函數(shù) 63
3.4wait函數(shù) 70
狀態(tài)值 76
3.5exec函數(shù) 77
3.6后臺(tái)進(jìn)程和守護(hù)進(jìn)程 83
3.7臨界區(qū) 86
3.8練習(xí):進(jìn)程鏈 87
3.9練習(xí):進(jìn)程扇 88
3.10延伸閱讀 89
第4章 UNIX I/O 90
4.1設(shè)備術(shù)語 90
4.2讀/寫 91
4.3打開和關(guān)閉文件 102
4.4select函數(shù) 107
4.5poll函數(shù) 116
4.6文件表示 119
4.6.1文件描述符 119
4.6.2文件指針和緩沖 122
4.6.3文件描述符的繼承 124
4.7過濾器和重定向 128
4.8文件控制 132
4.9練習(xí):原子日志 135
原子日志庫 139
4.10練習(xí):cat實(shí)用程序 141
4.11延伸閱讀 143
第5章 文件和目錄 144
5.1UNIX文件系統(tǒng)導(dǎo)航 144
5.1.1當(dāng)前工作目錄 145
5.1.2搜索路徑 150
5.2目錄訪問 151
5.2.1訪問文件狀態(tài)信息 153
5.2.2確定文件的類型 156
5.3UNIX文件系統(tǒng)實(shí)現(xiàn) 157
5.3.1UNIX文件實(shí)現(xiàn) 158
5.3.2目錄實(shí)現(xiàn) 161
5.4硬鏈接和符號(hào)鏈接 161
5.4.1創(chuàng)建或刪除一個(gè)鏈接 162
5.4.2創(chuàng)建和刪除符號(hào)鏈接 167
5.5練習(xí):which命令 172
5.6練習(xí):郵件通知程序 173
5.7練習(xí):新聞通知程序 176
5.8練習(xí):遍歷目錄 177
5.9延伸閱讀 179
第6章 UNIX特殊文件 180
6.1管道 180
6.2流水線 184
6.3FIFO 189
6.4管道與客戶機(jī)-服務(wù)器模型 193
6.5終端控制 200
規(guī)范和非規(guī)范的輸入處理 208
6.6音頻設(shè)備 212
6.7練習(xí):音頻 218
6.8練習(xí):屏障 220
6.9練習(xí):stty命令 221
6.10練習(xí):重提客戶機(jī)-服務(wù)器 222
6.11延伸閱讀 222
第7章 項(xiàng)目:令牌環(huán) 224
7.1環(huán)形拓?fù)?224
7.2環(huán)的形成 226
7.3環(huán)的探討 232
7.4簡(jiǎn)單通信 234
7.5用令牌環(huán)實(shí)現(xiàn)互斥 235
7.6用投票實(shí)現(xiàn)互斥 237
7.7匿名環(huán)中的領(lǐng)導(dǎo)者選舉 238
7.8用于通信的令牌環(huán) 240
7.9流水線預(yù)處理機(jī) 242
7.10并行環(huán)算法 244
7.10.1圖像過濾 244
7.10.2矩陣乘法 247
7.11彈性環(huán) 248
7.12延伸閱讀 249
第二部分異步事件
第8章 信號(hào) 253
8.1信號(hào)的基本概念 253
8.2信號(hào)的產(chǎn)生 254
8.3對(duì)信號(hào)掩碼和信號(hào)集進(jìn)行操作 259
8.4捕獲和忽略信號(hào)―sigaction 266
8.5等待信號(hào)―pause、sigsuspend和sigwait 272
8.5.1pause函數(shù) 272
8.5.2sigsuspend函數(shù) 274
8.5.3sigwait函數(shù) 282
8.6處理信號(hào):錯(cuò)誤和異步信號(hào)安全 283
8.7用siglongjmp和sigsetjmp進(jìn)行程序控制 286
8.8使用異步I/O編程 288
8.9練習(xí):轉(zhuǎn)儲(chǔ)統(tǒng)計(jì) 300
8.10練習(xí):同時(shí)處理慢速設(shè)備 301
8.11延伸閱讀 301
第9章 時(shí)間和定時(shí)器 303
9.1POSIX時(shí)間 303
9.1.1用從Epoch開始的秒數(shù)表示時(shí)間 304
9.1.2顯示日期和時(shí)間 305
9.1.3使用struct timeval表示時(shí)間 308
9.1.4使用實(shí)時(shí)時(shí)鐘 311
9.1.5耗時(shí)和處理器時(shí)間的對(duì)比 313
9.2睡眠函數(shù) 316
9.3POSIX:XSI間隔定時(shí)器 319
9.4實(shí)時(shí)信號(hào) 323
9.5POSIX:TMR間隔定時(shí)器 328
9.6定時(shí)器漂移、溢出和絕對(duì)時(shí)間 333
9.7延伸閱讀 344
第10章 項(xiàng)目:虛擬定時(shí)器 345
10.1項(xiàng)目概述 345
10.2簡(jiǎn)單的定時(shí)器 348
10.3對(duì)5個(gè)定時(shí)器中的一個(gè)進(jìn)行設(shè)置 351
10.3.1virtualtimers對(duì)象 351
10.3.2hardwaretimer對(duì)象 353
10.3.3主程序?qū)崿F(xiàn) 354
10.3.4用show譜寫定時(shí)器代碼 355
10.4使用多個(gè)定時(shí)器 361
10.4.1設(shè)置多個(gè)定時(shí)器 364
10.4.2用多個(gè)定時(shí)器進(jìn)行測(cè)試 365
10.5多定時(shí)器的健壯實(shí)現(xiàn) 369
10.6POSIX:TMR定時(shí)器的實(shí)現(xiàn) 371
10.7一個(gè)小型的cron工具mycron 372
10.8延伸閱讀 372
第11章 項(xiàng)目:破解shell 373
11.1構(gòu)建一個(gè)簡(jiǎn)單的shell 373
11.2重定向 378
11.3流水線 382
11.4前臺(tái)的信號(hào)處理 385
11.5進(jìn)程組、會(huì)話和控制終端 391
11.5.1進(jìn)程組 391
11.5.2會(huì)話 393
11.6ush中的后臺(tái)進(jìn)程 396
11.7作業(yè)控制 403
11.8ush的作業(yè)控制 407
11.8.1一個(gè)作業(yè)列表對(duì)象 407
11.8.2ush中的作業(yè)列表 409
11.8.3ush中的作業(yè)控制 409
11.8.4等待流水線時(shí)的進(jìn)程行為 410
11.9延伸閱讀 411
第三部分并發(fā)
第12章 POSIX線程 415
12.1監(jiān)視文件描述符的方法 415
12.2使用線程監(jiān)視多個(gè)文件描述符 417
12.3線程管理 420
12.3.1用ID引用線程 421
12.3.2創(chuàng)建一個(gè)線程 422
12.3.3分離和連接 423
12.3.4退出和取消 426
12.3.5向線程傳遞參數(shù)并返回值 429
12.4線程安全 438
12.5用戶級(jí)線程 VS 內(nèi)核級(jí)線程 439
12.6線程屬性 442
12.6.1線程狀態(tài) 443
12.6.2線程棧 444
12.6.3線程調(diào)度 446
12.7練習(xí):并行文件復(fù)制 450
12.8延伸閱讀 451
第13章線程同步 452
13.1POSIX同步函數(shù) 452
13.2互斥鎖 453
13.2.1創(chuàng)建并初始化一個(gè)互斥量 454
13.2.2銷毀一個(gè)互斥量 455
13.2.3鎖定和解鎖互斥量 456
13.2.4保護(hù)不安全的庫函數(shù) 458
13.2.5同步標(biāo)志和全局值 459
13.2.6讓數(shù)據(jù)結(jié)構(gòu)成為線程安全的 465
13.3最多一次和至少一次的執(zhí)行 467
13.4條件變量 471
13.4.1條件變量的創(chuàng)建和銷毀 473
13.4.2等待并通知條件變量 475
13.5信號(hào)處理和線程 478
13.5.1將信號(hào)定向到一個(gè)特定的線程中 479
13.5.2為線程屏蔽信號(hào) 480
13.5.3信號(hào)處理的專用線程 480
13.6讀者和寫者 484
13.7strerror_r實(shí)現(xiàn) 489
13.8死鎖和其他討厭的問題 491
13.9練習(xí):多個(gè)屏障 492
13.10延伸閱讀 492
第14章臨界區(qū)和信號(hào)量 493
14.1臨界區(qū)的處理 493
14.2信號(hào)量 496
14.3POSIX:SEM匿名信號(hào)量 499
14.4POSIX:SEM信號(hào)量操作 501
14.5POSIX:SEM命名信號(hào)量 508
14.5.1創(chuàng)建并打開命名信號(hào)量 509
14.5.2關(guān)閉信號(hào)量并刪除其鏈接 512
14.6練習(xí):許可管理器 514
14.6.1license對(duì)象 515
14.6.2runsim主程序 515
14.6.3對(duì)許可管理器的擴(kuò)展 516
14.7延伸閱讀 516
第15章POSIX IPC 517
15.1POSIX:XSI進(jìn)程間通信 517
15.1.1標(biāo)識(shí)并訪問IPC對(duì)象 518
15.1.2在shell中訪問POSIX:XSI IPC資源 519
15.2POSIX:XSI信號(hào)量集 520
15.2.1信號(hào)量的創(chuàng)建 521
15.2.2信號(hào)量的控制 523
15.2.3POSIX信號(hào)量集操作 525
15.3POSIX:XSI共享內(nèi)存 532
15.3.1訪問共享內(nèi)存段 532
15.3.2共享內(nèi)存段的連接和分離 533
15.3.3控制共享內(nèi)存 534
15.3.4共享內(nèi)存示例 535
15.4POSIX:XSI消息隊(duì)列 541
訪問消息隊(duì)列 542
15.5練習(xí):POSIX匿名信號(hào)量 549
15.6練習(xí):POSIX命名信號(hào)量 550
15.7練習(xí):用共享內(nèi)存實(shí)現(xiàn)管道 551
15.8練習(xí):用消息隊(duì)列實(shí)現(xiàn)管道 554
15.9延伸閱讀 554
第16章項(xiàng)目:生產(chǎn)者-消費(fèi)者同步 555
16.1生產(chǎn)者-消費(fèi)者問題 555
16.2受互斥鎖保護(hù)的有界緩沖區(qū) 557
16.3使用信號(hào)量的緩沖區(qū)實(shí)現(xiàn) 560
16.4一個(gè)簡(jiǎn)單的生產(chǎn)者-消費(fèi)者問題簡(jiǎn)介 566
16.5使用條件變量的有界緩沖區(qū) 570
16.6帶有完成條件的緩沖區(qū) 571
16.7并行文件復(fù)制 580
16.7.1并行文件復(fù)制的生產(chǎn)者 580
16.7.2并行文件復(fù)制的消費(fèi)者 581
16.7.3并行文件復(fù)制的main程序 582
16.7.4并行文件復(fù)制的增強(qiáng) 582
16.8線程化打印服務(wù)器 583
16.8.1請(qǐng)求緩沖區(qū) 584
16.8.2生產(chǎn)者線程 585
16.8.3消費(fèi)者線程 586
16.8.4打印服務(wù)器 586
16.8.5其他增強(qiáng)功能 586
16.9延伸閱讀 587
第17章項(xiàng)目:非完全并行虛擬機(jī) 588
17.1PVM的歷史、術(shù)語和結(jié)構(gòu) 588
17.2非完全并行虛擬機(jī) 591
17.3NTPVM項(xiàng)目概述 593
17.3.1NEWTASK分組 596
17.3.2DATA分組 596
17.3.3DONE分組 597
17.4調(diào)度程序的I/O和測(cè)試 598
17.4.1用多個(gè)窗口測(cè)試 604
17.4.2用遠(yuǎn)程日志測(cè)試 605
17.5沒有輸入的單任務(wù) 607
17.6順序任務(wù) 608
17.6.1輸入線程 609
17.6.2輸出線程 610
17.7并發(fā)任務(wù) 611
17.8分組通信、廣播和屏障 611
17.9終止和信號(hào) 612
17.10有序的消息傳遞 613
17.11延伸閱讀 613
第四部分通信
第18章面向連接的通信 617
18.1客戶機(jī)-服務(wù)器模型 617
18.2通信信道 618
18.3面向連接的服務(wù)器策略 622
18.4通用因特網(wǎng)通信接口(UICI) 625
18.4.1處理錯(cuò)誤 627
18.4.2讀和寫 627
18.5不同服務(wù)器策略的UICI實(shí)現(xiàn) 628
18.6UICI客戶機(jī) 631
18.7UICI的套接字實(shí)現(xiàn) 637
18.7.1socket函數(shù) 638
18.7.2bind函數(shù) 639
18.7.3listen函數(shù) 641
18.7.4u_open函數(shù)的實(shí)現(xiàn) 642
18.7.5accept函數(shù) 643
18.7.6u_accept函數(shù)的實(shí)現(xiàn) 645
18.7.7connect函數(shù) 646
18.7.8u_connect函數(shù)的實(shí)現(xiàn) 647
18.8主機(jī)名和IP地址 649
18.9線程安全的UICI 658
18.10練習(xí):ping服務(wù)器 661
18.11練習(xí):音頻的傳輸 662
18.12延伸閱讀 664
第19章項(xiàng)目:WWW重定向 665
19.1萬維網(wǎng) 665
19.2統(tǒng)一資源定位符(URL) 666
19.3HTTP入門 668
19.3.1客戶端請(qǐng)求 669
19.3.2服務(wù)器響應(yīng) 669
19.3.3HTTP消息交換 670
19.4Web通信模式 673
19.4.1隧道 673
19.4.2代理 674
19.4.3高速緩存和透明性 676
19.4.4網(wǎng)關(guān) 678
19.5單連接的通過型監(jiān)控 679
19.6隧道服務(wù)器的實(shí)現(xiàn) 682
19.7用于測(cè)試的服務(wù)器驅(qū)動(dòng)程序 682
19.8HTTP頭解析 684
19.9簡(jiǎn)單的代理服務(wù)器 686
19.10代理監(jiān)視器 688
19.11代理高速緩存 691
19.12門戶網(wǎng)站的網(wǎng)關(guān) 692
19.13用于負(fù)載平衡的網(wǎng)關(guān) 692
19.14事后的調(diào)查分析 693
19.14.1線程和計(jì)時(shí)錯(cuò)誤 693
19.14.2未捕獲的錯(cuò)誤和錯(cuò)誤的退出 694
19.14.3書寫風(fēng)格和表示 695
19.14.4糟糕的測(cè)試和結(jié)果表示 696
19.14.5編程錯(cuò)誤和不好的風(fēng)格 697
19.15延伸閱讀 698
第20章無連接通信和多播 699
20.1無連接通信簡(jiǎn)介 699
20.2無連接通信的簡(jiǎn)化接口 701
20.2.1主機(jī)名和u_buf_t結(jié)構(gòu) 703
20.2.2UICI UDP的返回錯(cuò)誤 703
20.2.3UDP緩沖區(qū)大小和UICI UDP 703
20.3簡(jiǎn)單-請(qǐng)求協(xié)議 704
20.4請(qǐng)求-應(yīng)答協(xié)議 710
20.5有超時(shí)和重試的請(qǐng)求-應(yīng)答 716
20.6請(qǐng)求-應(yīng)答-確認(rèn)協(xié)議 722
20.7UICI UDP的實(shí)現(xiàn) 723
20.7.1u_openudp函數(shù)的實(shí)現(xiàn) 723
20.7.2sendto函數(shù) 725
20.7.3u_sendto和 u_sendtohost函數(shù)的實(shí)現(xiàn) 726
20.7.4recvfrom函數(shù) 727
20.7.5u_recvfrom和u_recvfromtimed函數(shù)的實(shí)現(xiàn) 728
20.7.6主機(jī)名和u_buf_t 730
20.8UDP和TCP的比較 732
20.9多播 733
20.9.1多播尋址 733
20.9.2u_join函數(shù)的實(shí)現(xiàn) 735
20.9.3u_leave函數(shù)的實(shí)現(xiàn) 736
20.10練習(xí):UDP端口服務(wù)器 737
20.11練習(xí):無狀態(tài)文件服務(wù)器 738
遠(yuǎn)程文件服務(wù) 739
20.12延伸閱讀 740
第21章項(xiàng)目:互聯(lián)網(wǎng)廣播 741
21.1項(xiàng)目概述 741
21.2音頻設(shè)備模擬 744
21.3具有一個(gè)節(jié)目和一個(gè)接收者的UDP實(shí)現(xiàn) 744
21.3.1簡(jiǎn)單實(shí)現(xiàn) 744
21.3.2接收者的終止 747
21.3.3接收者緩沖來處理網(wǎng)絡(luò)延遲 748
21.3.4接收者緩沖來處理亂序傳遞 751
21.4具有多個(gè)節(jié)目和接收者的UDP實(shí)現(xiàn) 754
21.4.1多個(gè)節(jié)目和單個(gè)接收者 754
21.4.2多個(gè)節(jié)目和多個(gè)接收者 755
21.5音頻廣播的UDP實(shí)現(xiàn) 756
21.6無線電廣播的多播實(shí)現(xiàn) 758
21.7TCP實(shí)現(xiàn)的差異 758
21.7.1單個(gè)節(jié)目和單個(gè)接收者的TCP實(shí)現(xiàn) 759
21.7.2多個(gè)節(jié)目和單個(gè)接收者的TCP實(shí)現(xiàn) 760
21.7.3無線電廣播的TCP實(shí)現(xiàn) 761
21.8通過瀏覽器接收流式音頻 764
21.8.1使用瀏覽器助手應(yīng)用程序 764
21.8.2在你的Web服務(wù)器中設(shè)置一種新的mime類型 765
21.8.3設(shè)置你的瀏覽器來處理新的mime類型 766
21.8.4創(chuàng)建Web頁面 766
21.8.5使用預(yù)定義的mime類型 767
21.9延伸閱讀 767
第22章項(xiàng)目:服務(wù)器性能 769
22.1服務(wù)器性能成本 769
22.2服務(wù)器架構(gòu) 770
22.3項(xiàng)目概述 774
22.4單客戶端驅(qū)動(dòng)程序 775
22.4.1處理一個(gè)連接 775
22.4.2對(duì)響應(yīng)進(jìn)行編程 776
22.4.3收集統(tǒng)計(jì)信息 777
22.4.4測(cè)試客戶端 777
22.5多客戶端驅(qū)動(dòng)程序 778
另一種多客戶端設(shè)計(jì) 781
22.6實(shí)現(xiàn)每個(gè)請(qǐng)求一個(gè)線程和每個(gè)請(qǐng)求一個(gè)進(jìn)程 781
22.7線程工作者池策略 782
22.8使用有界緩沖區(qū)的多線程工作者池 782
22.9進(jìn)程工作者池 783
22.10磁盤I/O的影響 783
22.11性能研究 787
22.11.1基線測(cè)量 787
22.11.2波動(dòng)性的根源 788
22.11.3測(cè)量錯(cuò)誤 789
22.11.4同步 792
22.11.5普通的錯(cuò)誤 793
22.11.6要測(cè)量什么 794
22.11.7數(shù)據(jù)分析和表示 796
22.12報(bào)告撰寫 797
22.12.1引言 797
22.12.2設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試 798
22.12.3實(shí)驗(yàn) 798
22.12.4結(jié)果和分析 799
22.12.5結(jié)論 799
22.12.6參考文獻(xiàn) 799
22.13延伸閱讀 800
附錄AUNIX基礎(chǔ) 801
附錄B重啟庫 819
附錄CUICI實(shí)現(xiàn) 829
附錄D日志函數(shù) 846
附錄EPOSIX擴(kuò)展 864
參考文獻(xiàn) 867

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)