91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux網(wǎng)絡(luò)編程

jf_09640219 ? 來源:jf_09640219 ? 作者:jf_09640219 ? 2024-03-26 10:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、介紹

比如2個安卓手機需要通訊,就必須獲得對方的IP地址和端口

wKgZomX2ka2AJV7kAAP5n4qgJjM308.pngwKgZomX2lV-Aca30AB1GmzLAIgU761.png

socket套接字:分為TCP和UDP

TCP:面向連接,可靠,(類似于雙方打電話),適用于數(shù)據(jù)量小而且需要準確傳輸

UDP:面向報文,不可靠,(類似于雙方發(fā)短信),適用于數(shù)據(jù)量大且不需要準確傳輸

wKgZomX2lSCAO43UACggk-g7ydc046.pngwKgaomX2lNuAC-IZAAGPQ1ZXiz8556.png

進程間通信是基于Linux內(nèi)核的,不適用于兩臺手機之間的通信。

字節(jié)序:

小端:將低序字節(jié)存儲在起始地址

大端:將高序字節(jié)存儲在起始地址

wKgaomX2mS2AaGfdAAIYGvahd34588.pngwKgZomX5LR2AYk6BABfbQuMah5Y754.png

電腦是小端字節(jié)序,網(wǎng)絡(luò)字節(jié)序是大端字節(jié)序。

二、socket服務(wù)器與客戶端

客戶端獲取服務(wù)器的端口號和IP地址:

wKgZomX2mwCALJ_uABsiaxSPn-A629.pngwKgZomX2nYWAANmtAAuu6DEn-_g558.png

socket的具體工作流程:

wKgaomX2ob6AXEcHABVDTM7L_v4425.png

wKgZomX2o0-AQHU-ABF1UgWIrms045.png

wKgaomX2ph6AFJBRABGqHrVQv6Q325.png

wKgZomX2pj2AEOrMAAsnFEGdHCA631.pngwKgZomX2poSAY8jiAAmkSxA8o1Q530.pngwKgaomX2ppKAHitAAA6wuYoS81o699.pngwKgZomX2psGAQ0AtAAm9i9Mt34o494.png

wKgaomX4PfSAekTwAAXj3X_zQmg956.pngwKgZomX4PamAKZmxAAO4irgffDg660.png

wKgaomX4PtKAQxDvAAv-m_hmCPs796.png

atoi()函數(shù)

atoi():int atoi(const char *str );

功能:把字符串轉(zhuǎn)換成整型數(shù)。

wKgZomX5RNOAC54lAA0cWwlB9w0119.png

實現(xiàn)例程:

一、linux下客戶端連接服務(wù)器,成功后,主機(客戶端)telnet遠程登錄虛擬機(服務(wù)器):

①:

wKgaomX5VOSAJoz-AAH0rT9JuIw135.png

創(chuàng)建套接字,確定好連接協(xié)議(IPV4),type種類選擇為流式套接字,基于TCP協(xié)議。

②:

wKgZomX5Vd6ANdtmAAMxS9TxCzo014.png

確定好服務(wù)器的IP地址以及端口號

其中htons是將端口號轉(zhuǎn)換成網(wǎng)絡(luò)能識別的格式;inet_aton是將IP地址轉(zhuǎn)化成網(wǎng)絡(luò)識別的IP地址。

③:

wKgaomX5WRCAfID3AACcrqExgC8998.png

監(jiān)聽是否有客戶端連接。

④:

wKgaomX5WTiAMQBOAADJOcEmtVo435.png

允許客戶端的接入。

最后while(1);等待客戶端的接入。

二、獲取客戶端的IP地址:

wKgZomX8MdGADVK6AAXOTfO0wLU169.png

在上一個工程代碼的結(jié)構(gòu)上,增加accept具體監(jiān)聽對象,以及讀取IP地址。

三、客戶端與服務(wù)器數(shù)據(jù)傳輸?shù)膶崿F(xiàn):

客戶端先寫入再讀?。?/p> wKgZomX8NpmALCdSAALsUeEW4dk726.png

服務(wù)器端先讀取再寫入:

wKgZomX8NtGAY-XsAANs38KMT2Q661.png

最后運行服務(wù)器與客戶端的代碼會得到:

wKgaomX8NvyARUM6ABKQRjBOZHc784.png

四、端口經(jīng)常被占用,做成main函數(shù)傳參配置文件

wKgZomX-b5OAVZ_lAAmL7XPcUxg555.png

在上述例子中編寫傳參參數(shù):

  c_addr.sin_port=htons(atoi(argv[2]));
       inet_aton(argv[1],&c_addr.sin_addr);
其中atoi(argv[2])是將字符串轉(zhuǎn)換為整型數(shù)據(jù)。

運行結(jié)果:

wKgaomX-cxaABXqkAA1fmBkn7WE112.png上:客戶端 ?下:服務(wù)器

五、

在上述客戶端與服務(wù)器之間的聊天


審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11771

    瀏覽量

    219110
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    14

    文章

    10270

    瀏覽量

    91537
  • 網(wǎng)絡(luò)編程
    +關(guān)注

    關(guān)注

    0

    文章

    73

    瀏覽量

    11147
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    送4本!206 張手繪圖+源碼+視頻!Linux 老兵嘔心之作,讓小白也能吃透底層邏輯

    作為開發(fā)者,你是否也有過這樣的困擾?想學Linux網(wǎng)絡(luò)編程,卻被枯燥的理論、復雜的內(nèi)核源碼勸退;照搬別人的代碼能跑通項目,但遇到問題不知如何排查,更談不上架構(gòu)優(yōu)化;市面上的教材要么只講API用法,要么滿
    的頭像 發(fā)表于 02-05 08:08 ?131次閱讀
    送4本!206 張手繪圖+源碼+視頻!<b class='flag-5'>Linux</b> 老兵嘔心之作,讓小白也能吃透底層邏輯

    Linux驅(qū)動開發(fā)的必備知識

    內(nèi)核基礎(chǔ)知識: 1、熟悉 Linux 內(nèi)核的架構(gòu)、模塊系統(tǒng)、進程管理、內(nèi)存管理等。 了解內(nèi)核的編譯和加載過程。 2、C編程技能: 精通 C 語言編程,包括指針操作、內(nèi)存管理、結(jié)構(gòu)體等
    發(fā)表于 12-04 07:58

    Linux 編程語言盤點:從內(nèi)核到AI的全棧選擇

    在工控圈和嵌入式圈里,有一個常年被討論的問題: ?“在 Linux 上,到底該用什么語言編程?” 有人堅信:C 才是真正的工業(yè)語言。有人反駁:Python 才是效率王者。還有人推崇 Go、Rust
    的頭像 發(fā)表于 11-06 17:05 ?629次閱讀

    愛立信率先完成5G可編程網(wǎng)絡(luò)技術(shù)演示

    近日,在IMT-2020(5G)推進組的組織下,愛立信率先成功完成了5G可編程網(wǎng)絡(luò)技術(shù)演示。本次演示結(jié)合實際應(yīng)用場景驗證了可編程網(wǎng)絡(luò)在服務(wù)保障、動態(tài)資源分配、
    的頭像 發(fā)表于 11-05 17:14 ?8433次閱讀

    Linux網(wǎng)絡(luò)性能調(diào)優(yōu)方案

    在當今高并發(fā)、大流量的互聯(lián)網(wǎng)環(huán)境下,網(wǎng)絡(luò)性能往往成為系統(tǒng)的瓶頸。作為一名資深運維工程師,我在生產(chǎn)環(huán)境中遇到過無數(shù)次因為TCP/IP參數(shù)配置不當導致的性能問題。今天分享一套完整的Linux網(wǎng)絡(luò)性能調(diào)優(yōu)方案,幫助大家徹底解決
    的頭像 發(fā)表于 08-06 18:01 ?1342次閱讀

    Linux系統(tǒng)中網(wǎng)絡(luò)配置詳解

    網(wǎng)絡(luò)配置是Linux系統(tǒng)運維中的核心技能之一。正確理解和配置子網(wǎng)掩碼、網(wǎng)關(guān)等網(wǎng)絡(luò)參數(shù),直接影響系統(tǒng)的網(wǎng)絡(luò)連通性和性能。本文將深入探討Linux
    的頭像 發(fā)表于 07-17 11:01 ?1219次閱讀

    Linux網(wǎng)絡(luò)管理的關(guān)鍵技術(shù)和最佳實踐

    在大型互聯(lián)網(wǎng)企業(yè)中,Linux網(wǎng)絡(luò)管理是運維工程師的核心技能之一。面對海量服務(wù)器、復雜網(wǎng)絡(luò)拓撲、高并發(fā)流量,運維人員需要掌握從基礎(chǔ)網(wǎng)絡(luò)配置到高級網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-09 09:53 ?967次閱讀

    Linux系統(tǒng)環(huán)境監(jiān)測終極指南

    Linux系統(tǒng)環(huán)境主要監(jiān)測CPU、內(nèi)存、磁盤I/O和網(wǎng)絡(luò)流量。
    的頭像 發(fā)表于 06-25 14:41 ?827次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)環(huán)境監(jiān)測終極指南

    手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)

    在高并發(fā)網(wǎng)絡(luò)服務(wù)場景中,Linux內(nèi)核的默認網(wǎng)絡(luò)參數(shù)往往無法滿足需求,導致性能瓶頸、連接超時甚至服務(wù)崩潰。本文基于真實案例分析,從參數(shù)解讀、問題診斷到優(yōu)化實踐,手把手教你如何調(diào)優(yōu)Linux
    的頭像 發(fā)表于 05-29 09:21 ?993次閱讀

    Linux中,用新設(shè)置對CY7C65215重新編程后,如何啟用新設(shè)置?

    Linux 系統(tǒng)下,如何 1.用 Linux 中的編程新設(shè)置配置 CY7C65215? 如\"USB 串口配置實用程序\" 或命令行 fwDownload.exe。 2.在
    發(fā)表于 05-26 08:23

    Linux常用命令大全

    Linux常用命令是指在Linux操作系統(tǒng)中廣泛使用的命令工具,這些命令工具可以完成各種不同的任務(wù),如管理文件和目錄、操作進程、網(wǎng)絡(luò)通信、軟件安裝等。
    的頭像 發(fā)表于 05-03 18:08 ?1886次閱讀

    Linux主要的性能有哪些?

    都有確定的用途。它支持32位和64位硬件,能運行主要的unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。linux繼承了unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。
    的頭像 發(fā)表于 04-30 18:09 ?686次閱讀
    <b class='flag-5'>Linux</b>主要的性能有哪些?

    如何基于Kahn處理網(wǎng)絡(luò)定義AI引擎圖形編程模型

    本白皮書探討了如何基于 Kahn 處理網(wǎng)絡(luò)( KPN )定義 AI 引擎圖形編程模型。KPN 模型有助于實現(xiàn)數(shù)據(jù)流并行化,進而提高系統(tǒng)的整體性能。
    的頭像 發(fā)表于 04-17 11:31 ?878次閱讀
    如何基于Kahn處理<b class='flag-5'>網(wǎng)絡(luò)</b>定義AI引擎圖形<b class='flag-5'>編程</b>模型

    Linux網(wǎng)絡(luò)設(shè)置與基礎(chǔ)服務(wù)

    Linux網(wǎng)絡(luò)設(shè)置與基礎(chǔ)服務(wù)
    的頭像 發(fā)表于 04-09 11:51 ?3435次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡(luò)</b>設(shè)置與基礎(chǔ)服務(wù)

    Linux的作用

    和環(huán)境,支持多種編程語言和開發(fā)框架。許多開發(fā)人員使用Linux作為開發(fā)平臺,進行軟件開發(fā)、系統(tǒng)管理和網(wǎng)絡(luò)管理等工作。 5、學習和教育:Linux是一個開源的操作系統(tǒng),提供了大量的學習資
    發(fā)表于 04-04 01:57