1 引言 隨著Intenet的日益發(fā)展和普及,網(wǎng)絡(luò)在嵌入式系統(tǒng)中應(yīng)用非常廣泛,越來越多的嵌入式設(shè)備采用Linux操作系統(tǒng)。Linux是一個(gè)源代碼公開的免費(fèi)操作系統(tǒng),具有強(qiáng)移植性,所以對(duì)基于Linux的Socket網(wǎng)絡(luò)編程的研究越來越重要。
Socket實(shí)際是網(wǎng)絡(luò)傳輸層供給應(yīng)用層的編程接口。傳輸層則在網(wǎng)絡(luò)層的基礎(chǔ)上提供進(jìn)程到進(jìn)程問的邏輯通道,而應(yīng)用層的進(jìn)程則利用傳輸層向另一臺(tái)主機(jī)的某一進(jìn)程通信。Socket就是應(yīng)用層與傳輸層之間的橋梁。如圖2所示。
使用Socket編程時(shí)可以開發(fā)客戶機(jī)和服務(wù)器應(yīng)用程序,它們可以在本地網(wǎng)絡(luò)上進(jìn)行通信,也可以通過Internet在全球范圍內(nèi)進(jìn)行通信。編寫并運(yùn)行 Socket的客戶端和服務(wù)器端程序,雙方通過套接字建立了服務(wù)連接請(qǐng)求,并且通過一些方法提高Socket的性能。
3 Socket編程3.1 Socket類型 常見的Socket有3種類型: (1)流式Socket(SOCK_STREAM)它提供可靠的通信流,使用面向連接的TCP協(xié)議,從而保證數(shù)據(jù)傳輸?shù)恼_性和順序性: (2)數(shù)據(jù)報(bào)Socket(SOCK_DGRAM)數(shù)據(jù)通過相互獨(dú)立的報(bào)文進(jìn)行傳輸,是無序的,并且不保證可靠,無差錯(cuò),它定義一種面向無連接的服務(wù),使用數(shù)據(jù)報(bào)協(xié)議UDP; (3)原始Socket(SOCK_RAM)它允許直接訪問底層協(xié)議,功能強(qiáng)大但使用較為不便,主要用于一些協(xié)議的開發(fā)。本編寫的Socket屬于流式Socket。
網(wǎng)站首頁 |網(wǎng)站簡(jiǎn)介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 hngelin.com All Rights Reserved.
中國網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com
奈曼旗| 德令哈市| 宝鸡市| 松潘县| 饶阳县| 芮城县| 阿拉尔市| 扶绥县| 阳新县| 娄底市| 肇州县| 长沙县| 德庆县| 凭祥市| 濮阳县| 博爱县| 鹤岗市| 武邑县| 澄城县| 岳阳市| 固镇县| 朝阳县| 盐池县| 巫山县| 三门县| 长海县| 泸水县| 靖西县| 泰和县| 泸西县| 静安区| 兴文县| 渭南市| 泽州县| 云安县| 广东省| 保亭| 慈溪市| 驻马店市| 新泰市| 民和|