色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

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

jf_09640219 ? 來(lái)源:jf_09640219 ? 作者:jf_09640219 ? 2024-03-26 10:58 ? 次閱讀

一、介紹

比如2個(gè)安卓手機(jī)需要通訊,就必須獲得對(duì)方的IP地址和端口號(hào)

wKgZomX2ka2AJV7kAAP5n4qgJjM308.pngwKgZomX2lV-Aca30AB1GmzLAIgU761.png

socket套接字:分為T(mén)CP和UDP

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

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

wKgZomX2lSCAO43UACggk-g7ydc046.pngwKgaomX2lNuAC-IZAAGPQ1ZXiz8556.png

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

字節(jié)序:

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

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

wKgaomX2mS2AaGfdAAIYGvahd34588.pngwKgZomX5LR2AYk6BABfbQuMah5Y754.png

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

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

客戶(hù)端獲取服務(wù)器的端口號(hào)和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

實(shí)現(xiàn)例程:

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

①:

wKgaomX5VOSAJoz-AAH0rT9JuIw135.png

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

②:

wKgZomX5Vd6ANdtmAAMxS9TxCzo014.png

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

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

③:

wKgaomX5WRCAfID3AACcrqExgC8998.png

監(jiān)聽(tīng)是否有客戶(hù)端連接。

④:

wKgaomX5WTiAMQBOAADJOcEmtVo435.png

允許客戶(hù)端的接入。

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

二、獲取客戶(hù)端的IP地址:

wKgZomX8MdGADVK6AAXOTfO0wLU169.png

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

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

客戶(hù)端先寫(xiě)入再讀?。?/p> wKgZomX8NpmALCdSAALsUeEW4dk726.png

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

wKgZomX8NtGAY-XsAANs38KMT2Q661.png

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

wKgaomX8NvyARUM6ABKQRjBOZHc784.png

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

wKgZomX-b5OAVZ_lAAmL7XPcUxg555.png

在上述例子中編寫(xiě)傳參參數(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上:客戶(hù)端 ?下:服務(wù)器

五、

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


審核編輯 黃宇

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

    關(guān)注

    87

    文章

    11342

    瀏覽量

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

    關(guān)注

    12

    文章

    9295

    瀏覽量

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

    關(guān)注

    0

    文章

    72

    瀏覽量

    10089
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

    Linux開(kāi)發(fā)怎么學(xué)?

    令是使用 Linux 的基礎(chǔ),包括文件操作、目錄管理、用戶(hù)管理、進(jìn)程管理、網(wǎng)絡(luò)管理等方面??梢酝ㄟ^(guò)閱讀相關(guān)的書(shū)籍、在線教程等方式學(xué)習(xí)。以下是常用的命令實(shí)例。 # 列出當(dāng)前目錄下的文件和子目錄 ls # 更改
    發(fā)表于 10-10 14:34

    Linux網(wǎng)絡(luò)協(xié)議棧的實(shí)現(xiàn)

    網(wǎng)絡(luò)協(xié)議棧是操作系統(tǒng)核心的一個(gè)重要組成部分,負(fù)責(zé)管理網(wǎng)絡(luò)通信中的數(shù)據(jù)包處理。在 Linux 操作系統(tǒng)中,網(wǎng)絡(luò)協(xié)議棧(Network Stack)負(fù)責(zé)實(shí)現(xiàn) TCP/IP 協(xié)議簇,處理應(yīng)用
    的頭像 發(fā)表于 09-10 09:51 ?359次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡(luò)</b>協(xié)議棧的實(shí)現(xiàn)

    linux開(kāi)發(fā)板與樹(shù)莓派的區(qū)別

    操作系統(tǒng)的微型計(jì)算機(jī),主要用于教育、編程、媒體播放等領(lǐng)域。 硬件配置 Linux開(kāi)發(fā)板:Linux開(kāi)發(fā)板的硬件配置因廠商和型號(hào)而異,通常包括處理器、內(nèi)存、存儲(chǔ)、網(wǎng)絡(luò)接口等。 樹(shù)莓派:樹(shù)
    的頭像 發(fā)表于 08-30 15:34 ?1106次閱讀

    Linux 驅(qū)動(dòng)開(kāi)發(fā)與應(yīng)用開(kāi)發(fā),你知道多少?

    一、Linux驅(qū)動(dòng)開(kāi)發(fā)與應(yīng)用開(kāi)發(fā)的區(qū)別開(kāi)發(fā)層次不同:Linux驅(qū)動(dòng)開(kāi)發(fā)主要是針對(duì)硬件設(shè)備進(jìn)行編程,處于操作系統(tǒng)內(nèi)核層,直接與硬件交互,為上層應(yīng)用提供設(shè)備訪問(wèn)的接口。Linux應(yīng)用開(kāi)發(fā)則
    的頭像 發(fā)表于 08-30 12:16 ?897次閱讀
    <b class='flag-5'>Linux</b> 驅(qū)動(dòng)開(kāi)發(fā)與應(yīng)用開(kāi)發(fā),你知道多少?

    Linux中查看IP地址的方法

    ifconfig是一個(gè)網(wǎng)絡(luò)管理工具,用于配置、控制和查詢(xún)網(wǎng)絡(luò)接口。在許多舊的Linux發(fā)行版中,ifconfig是查看和配置網(wǎng)絡(luò)接口的主要工具。
    的頭像 發(fā)表于 08-07 15:16 ?7857次閱讀
    在<b class='flag-5'>Linux</b>中查看IP地址的方法

    如何使用Python進(jìn)行神經(jīng)網(wǎng)絡(luò)編程

    。 為什么使用Python? Python是一種廣泛使用的高級(jí)編程語(yǔ)言,以其易讀性和易用性而聞名。Python擁有強(qiáng)大的庫(kù),如TensorFlow、Keras和PyTorch,這些庫(kù)提供了構(gòu)建和訓(xùn)練神經(jīng)網(wǎng)絡(luò)的工具。 神經(jīng)網(wǎng)絡(luò)的基
    的頭像 發(fā)表于 07-02 09:58 ?441次閱讀

    Linux 6.10集成RISC-V更新,支持Rust編程語(yǔ)言

    本次補(bǔ)丁升級(jí)中,Linux內(nèi)核進(jìn)一步擴(kuò)展了對(duì)應(yīng)于RISC-V架構(gòu)的Rust編程語(yǔ)言支持。在此之前,Rust已可應(yīng)用在x86_64、龍芯LoongArch以及ARM64等多種架構(gòu)之上。
    的頭像 發(fā)表于 05-23 17:16 ?1009次閱讀

    Linux是做什么用的?

    Ubuntu、Fedora、Debian等)提供了友好的用戶(hù)界面和豐富的應(yīng)用程序。 4、開(kāi)發(fā)平臺(tái):Linux提供了豐富的開(kāi)發(fā)工具和環(huán)境,支持多種編程語(yǔ)言和開(kāi)發(fā)框架。許多開(kāi)發(fā)人員使用Linux作為開(kāi)發(fā)平臺(tái)
    發(fā)表于 04-28 15:40

    FCX3使用cyusb_linux通過(guò)Linux對(duì)其進(jìn)行編程,報(bào)SPI扇區(qū)擦除失敗怎么解決?

    我有一個(gè) FCX3 定制板,我嘗試使用 cyusb_linux 通過(guò) Linux 對(duì)其進(jìn)行編程。 我 CAN 看到設(shè)備 VID (04b4) 和 PID (00f3),但是當(dāng)嘗試對(duì) SPI 進(jìn)行
    發(fā)表于 02-26 06:39

    linux多線程編程實(shí)例

    linux線程
    的頭像 發(fā)表于 02-15 21:16 ?513次閱讀
    <b class='flag-5'>linux</b>多線程<b class='flag-5'>編程</b>實(shí)例
    主站蜘蛛池模板: 麻生希第一部快播 | 千禧金瓶梅 快播 | 亚洲 欧美 日韩 国产 视频 | jjzz大全| 欧美成人猛片aaaaaaa | 99国产在线视频 | 世界上第一个得抑郁症的人是谁 | 日日摸夜夜添无码AVA片 | 北原夏美 快播 | 中文字幕不卡免费高清视频 | 超碰97av 在线人人操 | 51精品国产AV无码久久久 | 国产亚洲制服免视频 | 男生J桶进女人P又色又爽又黄 | 蜜桃久久久亚洲精品成人 | 老师在讲桌下边h边讲课 | 成人国产在线视频 | 亚洲精品AV无码喷奶水糖心 | 任你躁精品一区二区三区 | 和老外3p爽粗大免费视频 | 亚洲AV精品无码成人 | 看美女大腿中间的部分 | 哪里能看毛片 | 99久久国产露脸精品国产麻豆 | 情欲.美女高潮 | 亚洲精品免费视频 | 男人和女人一级黄色大片 | 午夜A级理论片左线播放 | 97午夜理论片影院在线播放 | 男人插曲女人身体视频 | 玛雅成人网 | 这里只有精品在线视频 | 欧美性极品黑人hd | WWW国产无套内射久久 | 精品国产午夜福利在线观看蜜月 | 日本精品卡一卡2卡3卡四卡三卡 | 男助理憋尿PLAY灌尿BL出去 | 日本久久高清视频 | 久久无码AV亚洲精品色午夜麻豆 | 国产成人精品视频免费大全 | 忘忧草在线影院www日本 |