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 www.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
莎车县| 利川市| 灌南县| 罗源县| 木兰县| 都安| 外汇| 昆明市| 通榆县| 霍林郭勒市| 山阳县| 临城县| 永宁县| 武山县| 白沙| 巩留县| 广安市| 石狮市| 海伦市| 宜兰市| 和平区| 宽甸| 黔江区| 库伦旗| 万源市| 三亚市| 开封县| 仲巴县| 仙游县| 神农架林区| 南和县| 景泰县| 安义县| 井研县| 囊谦县| 保定市| 高碑店市| 东阳市| 土默特右旗| 淮滨县| 云梦县|