chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

一、介紹

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

wKgZomX2ka2AJV7kAAP5n4qgJjM308.pngwKgZomX2lV-Aca30AB1GmzLAIgU761.png

socket套接字:分為TCP和UDP

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

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

wKgZomX2lSCAO43UACggk-g7ydc046.pngwKgaomX2lNuAC-IZAAGPQ1ZXiz8556.png

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

字節(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ù)器,成功后,主機(jī)(客戶端)telnet遠(yuǎn)程登錄虛擬機(jī)(服務(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):

客戶端先寫入再讀取:

wKgZomX8NpmALCdSAALsUeEW4dk726.png

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

wKgZomX8NtGAY-XsAANs38KMT2Q661.png

最后運(yùn)行服務(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ù)。

運(yùn)行結(jié)果:

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

五、

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


審核編輯 黃宇

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

    關(guān)注

    88

    文章

    11576

    瀏覽量

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

    關(guān)注

    13

    文章

    10000

    瀏覽量

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

    關(guān)注

    0

    文章

    72

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

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

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

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

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

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

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

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

    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ù),如管理文件和目錄、操作進(jìn)程、網(wǎng)絡(luò)通信、軟件安裝等。
    的頭像 發(fā)表于 05-03 18:08 ?1419次閱讀

    Linux主要的性能有哪些?

    都有確定的用途。它支持32位和64位硬件,能運(yùn)行主要的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 ?394次閱讀
    <b class='flag-5'>Linux</b>主要的性能有哪些?

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

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

    Linux的作用

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

    運(yùn)動控制卡網(wǎng)絡(luò)通訊的心跳檢測之C#上位機(jī)編程

    使用C#上位機(jī)編程實現(xiàn)運(yùn)動控制卡網(wǎng)絡(luò)通訊的心跳檢測功能
    的頭像 發(fā)表于 12-24 10:54 ?1720次閱讀
    運(yùn)動控制卡<b class='flag-5'>網(wǎng)絡(luò)</b>通訊的心跳檢測之C#上位機(jī)<b class='flag-5'>編程</b>

    百問FB網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程簡介

    6.1 網(wǎng)絡(luò)編程簡介 ?要編寫通過計算機(jī)網(wǎng)絡(luò)通信的程序,首先要確定這些程序同通信的協(xié)議(protocol),在設(shè)計一個協(xié)議的細(xì)節(jié)之前,首先要分清程序是由哪個程序發(fā)起以及響應(yīng)何時產(chǎn)生。 ?舉例來說
    發(fā)表于 12-04 09:46

    Python編程:處理網(wǎng)絡(luò)請求的代理技術(shù)

    網(wǎng)絡(luò)編程中,代理技術(shù)扮演著至關(guān)重要的角色,尤其在處理網(wǎng)絡(luò)請求時。通過代理服務(wù)器,我們可以實現(xiàn)請求的轉(zhuǎn)發(fā)、緩存、負(fù)載均衡以及安全控制等功能。Python作為一種功能強(qiáng)大的編程語言,為提
    的頭像 發(fā)表于 11-12 07:23 ?761次閱讀

    Linux網(wǎng)絡(luò)基礎(chǔ)知識總結(jié)

    同 CPU、內(nèi)存以及 I/O 一樣,網(wǎng)絡(luò)也是 Linux 系統(tǒng)最核心的功能。 網(wǎng)絡(luò)是一種把不同計算機(jī)或網(wǎng)絡(luò)設(shè)備連接到一起的技術(shù),它本質(zhì)上是一種進(jìn)程間通信方式,特別是跨系統(tǒng)的進(jìn)程間通信,
    的頭像 發(fā)表于 10-28 10:42 ?855次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡(luò)</b>基礎(chǔ)知識總結(jié)

    Linux應(yīng)用編程的基本概念

    Linux應(yīng)用編程涉及到在Linux環(huán)境下開發(fā)和運(yùn)行應(yīng)用程序的一系列概念。以下是一些涵蓋Linux應(yīng)用編程的基本概念。
    的頭像 發(fā)表于 10-24 17:19 ?863次閱讀