【文章內(nèi)容簡介】
o c k e t ( )b i n d ( )l i s t e na c c e p t ( )r e a dc l o s e ( )w r i t e ( )s o c k e t ( )c o n n e c t ( )w r i t e ( )r e a d ( )c l o s e ( )阻 塞 直 到 接 收 到客 戶 連 接 請 求服 務(wù) 器 端客 戶 端建 立 連 接T C P 三 次 握 手數(shù) 據(jù) 請 求數(shù) 據(jù) 響 應(yīng)關(guān) 閉 連 接 圖 3 TCP 客戶 /服務(wù)器的套接字連接 TCP 套接字編程中,服務(wù)器實現(xiàn)的步驟: ( 1) 使用 socket()函數(shù)創(chuàng)建套接字。 ( 2) 將創(chuàng)建的套接字綁定到指定的地址結(jié)構(gòu)。 ( 3) Listen()函數(shù)設(shè)置套接字為監(jiān)聽模式,使服務(wù)器進入被動打開的狀態(tài)。 ( 4) 接受客戶端的連接請求,建立連接。 ( 5) 接收、應(yīng)答客戶端的數(shù)據(jù)請求。 ( 6) 終止連接。 客戶端實現(xiàn)的步驟: ( 1) 使用 socket()函數(shù)創(chuàng)建套接字。 ( 2) 調(diào)用 connect()函數(shù)建立一個與 TCP 服務(wù)器的連接。 ( 3) 發(fā)送數(shù)據(jù)請求,接收服務(wù)器的數(shù)據(jù)應(yīng)答。 ( 4) 終止連接。 綜上所述, TCP/IP 應(yīng)用中的服務(wù)器必須先于客戶端進程啟動,直到對客戶端的響應(yīng)結(jié)束或強迫終止。 6 二 .系統(tǒng)原理 開發(fā)配置環(huán)境簡介 CodeBlocks 安裝,和普通安裝一樣,你不會選擇可以一直 next 完成,不做詳細敘述。 注意:當(dāng)中有一步讓你選擇編譯器,你可以選擇 GUN GCC Compiler,并設(shè)置位默認( default)。如果沒做也沒事兒,可以在編譯器( Compiler)設(shè)置進行設(shè)置。 GTK+配置 安裝 GTK 解壓 gtk+ 到C:\gtk+ 。也可以是別處,你個人喜好,隨便哪兒都行。 配置環(huán)境變量 添加“ C:\gtk+\bin”到系統(tǒng)環(huán)境變量 (path) 注意: GTK 解壓的位置不同,你相應(yīng)變一下就行了。 導(dǎo)出編譯庫信息 導(dǎo)出編譯庫信息,一會兒要在 Code::Blocks 上配置編譯、鏈接環(huán)境。 pkgconfig cflags gtk+ pkgconfig libs gtk+ 還是那句話,安裝位置 不同,內(nèi)容不同,不要直接從我這里拷貝。 配置 Code::Blocks 編 譯 鏈 接 環(huán) 境 菜 單 上 依 次 點 擊 : SettingsCompiler settings 會出現(xiàn) Compiler settings 設(shè)置窗口: a. 此處把 內(nèi)容復(fù)制至文本框 開發(fā)工具及技術(shù)簡介 DevC: DevC++是一個 Camp。C++開發(fā)工具,它是一款自由軟件,遵守 GPL 協(xié)議。它集合了 GCC、 MinGW3 等眾多自由軟件,并且可以取得最新版本的各種工具支持,而這一切工作都是來自全球的狂熱者所做的工作,并且你 擁有對這一切工具自由使用的權(quán)利,包括取得源代碼等,前提是你也必須遵守 GNU 協(xié)議。 DevC++每一天都在進步著,因為它是一個自由軟件。 DevC++是一個非常實用的編程軟件,多款著名軟件均由它編寫而成,它在 C 的基礎(chǔ)上,增強了邏輯性。 發(fā)展 C++是從 C 語言中發(fā)展而來的。 C 語言是 1972 年由美國貝爾實驗室( ATamp。TBell)的 研制成功的。它不是為了初學(xué)者設(shè)計的,而是為計算機專業(yè)人員設(shè)計的。最初它是作為寫 UNIX 操作系統(tǒng)的一種工具,在貝爾實驗室內(nèi)部使用。后來 C 語言不斷改進,人們發(fā)現(xiàn)它 功能豐富、表達能力強、使用靈活方便、應(yīng)用面廣、目標程序效率高、可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多優(yōu)點,特別適合于寫系統(tǒng)軟件,因此 C 語言從實驗室走向美國,從美國走向世界。到 20 世紀 70 年代,它已風(fēng)靡全世界。無論是在中國還是在外國, C 語言都成為了計算機開發(fā)人員的基本功。 為了解決軟件設(shè)計的危機,在 20 世紀 80 年代,人們提出了面向?qū)ο蟮某绦蛟O(shè)計( object oriented programming,OOP),需要設(shè)計出能支持面向?qū)ο蟮某绦蛟O(shè)計方法的新的語言。在實踐中,人們發(fā)現(xiàn)由于 C 語言是如此的深入人心,使用如此廣泛,面對程序設(shè)計方法的革命,最好的辦法不是另外發(fā)明一種語 7 言去代替它,而是在它原有的基礎(chǔ)上加以發(fā)展。在這種形式下, C++應(yīng)運而生。C++是由貝爾實驗室( ATamp。TBell)的 Bjarne Stroustrup 博士及其同事于 20 世紀 80 年代初在 C 語言的基礎(chǔ)上開發(fā)成功的。 ATamp。TBell 發(fā)布的第一個 DevC++編譯系統(tǒng)實際上是一個預(yù)編譯器(前端編譯器),真正的 DevC++程序是在 1988 年誕生的。 應(yīng)用 DevC++目前是 NOI、 NOIP 等比賽的指定工具,唯 一的缺點就是 Debug 功能較弱。 Codeblocks: 它是基于 wxWidget 庫的程序。首先,因為它就是用 C++開發(fā)的,所以在