在线观看av毛片亚洲_伊人久久大香线蕉成人综合网_一级片黄色视频播放_日韩免费86av网址_亚洲av理论在线电影网_一区二区国产免费高清在线观看视频_亚洲国产精品久久99人人更爽_精品少妇人妻久久免费
首頁 > 文章中心 > 正文

LINUX系統(tǒng)網絡通信探索

前言:本站為你精心整理了LINUX系統(tǒng)網絡通信探索范文,希望能為你的創(chuàng)作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

LINUX系統(tǒng)網絡通信探索

linux網絡通信設計

下面我將對LINUX平臺下網絡通信設計的工作流程、數據發(fā)送、數據接收三個模塊進行詳細的介紹。

1工作流程

首先調用SOCKET函數創(chuàng)建一個用于通信的套接字,然后給已經創(chuàng)建的套接字(SOCKET)綁定本地地址/端口號(Bind()),成功之后就在相應的SOCKET上監(jiān)聽(Listen())。當Accept()函數捕捉到一個連接服務(Connect())請求時,接受并生成一個新的SOCKET,并通過這個新的SOCKET與客戶端連接,用Read()/Write()或相關函數讀取和發(fā)送數據,傳輸完畢時,用Close()關閉所有進程,結束這次通信??蛻舳顺绦蛟O計流程:客戶端也先要創(chuàng)建一個SOCKET,將該SOCKET與本地地址/端口號綁定,還需要指定服務器端的地址與端口號,隨后向服務器端發(fā)出連接(Connect())請求,請求被服務器端接受后,用函數進行了數據的接收與發(fā)送,傳輸完畢后,用Close()關閉套接口,通信結束。

2數據發(fā)送模塊

從應用層到物理層發(fā)送數據時,函數調用順序如下:send>sys—send>sys—sendto>sock—sendmsg>inet—sendmsg>tcp—sendmsg>tcp—send—skb>tcp_transmit>ip—queue—xmit>ip—queue—xmit2>ip—output>ip—finish—output>ip—finish—output2>neigh_resolve_output>dev_queue_xmit>ei—start_xmit網絡連接創(chuàng)建好以后,就可以進行發(fā)送數據了。

3數據接收模塊

當網絡上的數據到達接收計算機時,網卡控制器產生中斷,調用該中斷的中斷處理程序ei—interrupt()。在這個函數中主要通過判斷中斷狀態(tài)寄存器(ISR)的內容,調用相應的處理程序來接收數據。如果中斷狀態(tài)寄存器顯示接收到數據或者接收到有錯誤的數據時,就調用ei—receive()函數進行數據的接收。在ei—receive()函數中要正確設定邊界指針寄存器(BNRY)和當前頁寄存器(CPR)的內容,當BNRY或者CPR等于頁停止寄存器(PSTOP)時,把它們的內容設置成頁開始寄存器(PSTART).當CPR=BNRY時,表示緩沖區(qū)全部被存滿,數據沒有被用戶讀走,這時網卡將停止往內存寫數據,新收到的數據包將被丟棄不要,而不覆蓋舊的數據;當CPR=BNRY+1時,表示網卡的接收緩沖區(qū)里沒有數據,用戶通過這個判斷知道沒有包可以讀,當CPR!=BNRY+1時,表示接收到新的數據包。

結束語

LINUX操作系統(tǒng)在網絡應用方面具有很強的開發(fā)潛力,同時LINUX也是可靠性、安全性非常高的系統(tǒng),因此在基于LINUX平臺借助于SOCKET端口進行網絡通信的研究具有廣泛的應用價值和前景。

作者:丁思強單位:黑龍江八一農墾大學信息技術學院

免责声明:以上文章内容均来源于本站老师原创或网友上传,不代表本站观点,与本站立场无关,仅供学习和参考。本站不是任何杂志的官方网站,直投稿件和出版请联系出版社。

AI文章写作

高效、专业、量身定制满意为止!

开始体验
文檔上傳者

工信部备案:蜀ICP备18023296号-3川公网安备51010802001409 出版物经营许可证:新出发蓉零字第CH-B061号 统一信用码:91510108MA6CHFDC3Q © 版权所有:四川好花科技有限公司

免责声明:本站持有《出版物经营许可证》,主要从事期刊杂志零售,不是任何杂志官网,不涉及出版事务,特此申明。

在线服务

文秘服务 AI帮写作 润色服务 论文发表

比如县| 永修县| 郸城县| 常熟市| 深水埗区| 甘德县| 古蔺县| 化隆| 南丹县| 德兴市| 鸡泽县| 达日县| 革吉县| 赤壁市| 桃园县| 盐源县| 雷山县| 林西县| 崇阳县| 准格尔旗| 锡林郭勒盟| 潼南县| 巴林左旗| 华池县| 乐业县| 西充县| 巴彦县| 临海市| 寿阳县| 贵阳市| 临夏县| 石门县| 阳西县| 峨眉山市| 开鲁县| 宜兰县| 安庆市| 上虞市| 新宁县| 宁化县| 云梦县|