色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于Linux的Socket網(wǎng)絡(luò)編程的性能優(yōu)化

          基于Linux的Socket網(wǎng)絡(luò)編程的性能優(yōu)化

          作者: 時(shí)間:2009-10-20 來源:網(wǎng)絡(luò) 收藏

          3.2 編程流程
          編程采用客戶/服務(wù)器模式。因此編程分為服務(wù)器端和客戶端兩部分。
          每一個(gè)都用一個(gè)半相關(guān)描述(協(xié)議,本地地址,本地端口)來表示,Socket也有一個(gè)類似于文件打開的函數(shù),該函數(shù)返回一個(gè)整型的Socket描述符,隨后建立連接,數(shù)據(jù)傳輸?shù)炔僮鞫纪ㄟ^Socket來實(shí)現(xiàn)。
          編程流程如下:服務(wù)器端首先建立Socket,返回該Socket的描述符:配置Socket的端口和IP地址;建立監(jiān)聽甬?dāng)?shù),檢測是否有客戶端向服務(wù)器發(fā)送請求,若有則接收該請求,將其放到接收隊(duì)列中:從接收隊(duì)列中接受一個(gè)請求;并向客戶端發(fā)送確認(rèn)連接信息。
          客戶端建立一個(gè)Socket,返回該Socket的描述符;配置Socket端口和IP地址;向服務(wù)器發(fā)送連接請求,并接收服務(wù)器發(fā)回的確認(rèn)連接信息。雙方通信結(jié)束后,關(guān)閉其Socket。進(jìn)行Socket編程的基本函數(shù)有socket(),bind(),listen(),accept(), connect(),send(),recv(),close()。圖3為Socket的編程流程圖。

          本文引用地址:http://cafeforensic.com/article/157808.htm

          3.3 程序的編譯和運(yùn)行結(jié)果
          (1)在的VI編輯器下編寫服務(wù)器端程序serv.c和客戶端程序clt.c。運(yùn)用交叉編譯工具arm-linux-gcc,執(zhí)行編譯指令生成可執(zhí)行文件。
          其指令為:
          #gcc serv.c=0 serv
          #gcc clt.c-0 clt
          編譯沒有錯(cuò)誤則會(huì)生成可執(zhí)行文件serv和clt。
          (2)配置服務(wù)器和客戶端的IP,保證網(wǎng)絡(luò)暢通,在serv.c中已將服務(wù)器的IP設(shè)置為:192.168.2.111。在客戶端的“網(wǎng)絡(luò)設(shè)置”中設(shè)置IP為:192.168.2.22,可以通過ping命令檢測網(wǎng)絡(luò)是否暢通。
          (3)在一臺(tái)計(jì)算機(jī)的終端先運(yùn)行服務(wù)器程序(./serv),再在客戶端的計(jì)算機(jī)終端上運(yùn)行客戶端程序(./clt 192.:168.2.1l 1)就會(huì)看到結(jié)果(Hello,Wang Lei!You are connected!);運(yùn)行結(jié)果如圖4和圖5所示。如果未運(yùn)行服務(wù)器程序而先運(yùn)行客戶端程序?qū)⒘⒓刺崾尽癈onnect:Connection refused”。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          p2p機(jī)相關(guān)文章:p2p原理




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉