【摘要】 介紹網(wǎng)絡編程的基礎指令、關閉防火墻、配置網(wǎng)卡、配置虛擬機、完成基本網(wǎng)絡編程測試。
剩下: Shell腳本和socket網(wǎng)絡編程
虛擬機: 虛擬計算機環(huán)境、。
Linux系統(tǒng)編程需要掌握的知識:
1.?操作系統(tǒng)環(huán)境搭建(虛擬機+Linux操作系統(tǒng))
2.?常用的指令(文件目錄管理、網(wǎng)絡管理、磁盤管理)
3.?文件(fopen系列、open系列)和目錄操作
4.?Shell腳本編程
5.?進程和線程編程(并發(fā)): 多路IO操作: poll機制、select機制、epoll機制
6.?網(wǎng)絡編程
7.?常見的設備操作: 攝像頭控制
學習Linux系統(tǒng)編程: Linux應用和驅(qū)動開發(fā)、Linux運維開發(fā)。
任務1: Linux下網(wǎng)絡編程
1.1 協(xié)議概念介紹
網(wǎng)絡傳輸分協(xié)議,底層常見協(xié)議: TCP、UDP協(xié)議。
網(wǎng)絡數(shù)據(jù)如何傳輸?
![pYYBAGMlP76AWB2UAACUV8oXcLQ577.png](https://file.elecfans.com//web2/M00/6A/F1/pYYBAGMlP76AWB2UAACUV8oXcLQ577.png)
??協(xié)議詞匯
IIC、SPI、CAN、485、8080、USART(串口)、TCP/IP協(xié)議…….
??TCP/IP協(xié)議: 傳輸數(shù)據(jù)是分包進行發(fā)送。(數(shù)據(jù)包: 封包、解包)
問題: 有一個路由器可以上網(wǎng)(外網(wǎng)只有一根網(wǎng)線),路由器可以擴展網(wǎng)絡(4根網(wǎng)線),4根網(wǎng)絡同時接了4臺電腦。
每臺電腦在進行網(wǎng)絡應用操作(QQ聊天、瀏覽器文件下載、玩游戲……)
端口號: 表示每一臺電腦上的具體的一個應用程序。
IP地址: 表示每一個電腦的地址(唯一地址)。
訪問一臺電腦具體應用的地址表示方法: :<端口號> 192.168.1.123:8080地址>
1.2 IP地址介紹
局域網(wǎng)IP地址: 常見都是192開頭: 192.xx.xx.xx
廣域網(wǎng)IP地址(公網(wǎng)IP): xx.xx.xx.xx 比如: 登錄QQ。
1.3 TCP協(xié)議和UDP協(xié)議區(qū)別:
TCP協(xié)議: 點對點協(xié)議。 比如: 打電話 (3次握手過程)。
(HTTP協(xié)議、FTP協(xié)議……)
UDP協(xié)議: 廣播協(xié)議。 比如: 廣播電臺。實時效率比較高。(數(shù)據(jù)不可靠)
TCP協(xié)議模型: (C/S模型) (客戶端+服務器模型)
TCP協(xié)議通信:是針對服務器和客戶端之間。
注意: 客戶端和客戶端不能直接通信、服務器和服務器直接不能直接通信。
電腦上的QQ軟件: QQ客戶端,服務器就在騰訊公司。
![poYBAGMlP76AMGQLAAAqEXZtYWg825.png](https://file.elecfans.com//web2/M00/6A/59/poYBAGMlP76AMGQLAAAqEXZtYWg825.png)
1.4 學習Linux系統(tǒng)基本網(wǎng)絡操作指令
指令1: ifconfig <參數(shù)>
用法: ifconfig 查看已經(jīng)啟動的網(wǎng)卡信息(IP地址)。
![pYYBAGMlP7-AP4aCAAHIH0FN7To739.png](https://file.elecfans.com//web2/M00/6A/F1/pYYBAGMlP7-AP4aCAAHIH0FN7To739.png)
1.?手動設置網(wǎng)卡IP地址: #ifconfig eth0 192.168.1.100
2.開啟網(wǎng)卡: # ifup eth0
3. 關閉網(wǎng)卡: # ifdown eth0
4. 查看全部網(wǎng)卡: # ifconfig -a (包括關閉未啟動的網(wǎng)卡)
5. 關閉防火墻的圖形設置頁面: # setup
![poYBAGMlP8KAPxF5AADu018dJDw032.png](https://file.elecfans.com//web2/M00/6A/59/poYBAGMlP8KAPxF5AADu018dJDw032.png)
1.5 網(wǎng)卡自動分配IP地址的操作
![pYYBAGMlP8KAeZDMAAHgb-jd2SQ282.png](https://file.elecfans.com//web2/M00/6A/F1/pYYBAGMlP8KAeZDMAAHgb-jd2SQ282.png)
![poYBAGMlP8OAWI2lAADJWmv4bI4625.png](https://file.elecfans.com//web2/M00/6A/59/poYBAGMlP8OAWI2lAADJWmv4bI4625.png)
![pYYBAGMlP8SAb_o5AAFAjWJ4DC0777.png](https://file.elecfans.com//web2/M00/6A/F1/pYYBAGMlP8SAb_o5AAFAjWJ4DC0777.png)
![poYBAGMlP8WAMR8eAAHzJf2pGVA911.png](https://file.elecfans.com//web2/M00/6A/59/poYBAGMlP8WAMR8eAAHzJf2pGVA911.png)
![pYYBAGMlP8aADrAUAADC8nq8-qQ091.png](https://file.elecfans.com//web2/M00/6A/F1/pYYBAGMlP8aADrAUAADC8nq8-qQ091.png)
??測試網(wǎng)絡是否暢通:
![poYBAGMlP8eAYqYoAADNx1GDTIQ729.png](https://file.elecfans.com//web2/M00/6A/59/poYBAGMlP8eAYqYoAADNx1GDTIQ729.png)
![pYYBAGMlP8eAPfpjAADgPAONVfY420.png](https://file.elecfans.com//web2/M00/6A/F1/pYYBAGMlP8eAPfpjAADgPAONVfY420.png)
1.6 常用的TCP協(xié)議調(diào)試軟件使用
![poYBAGMlP8eAEGnjAABPfVKrl2g692.png](https://file.elecfans.com//web2/M00/6A/59/poYBAGMlP8eAEGnjAABPfVKrl2g692.png)
任務2: TCP協(xié)議網(wǎng)絡編程
在Linux系統(tǒng)下所有的設備操作都可以看成文件操作。
網(wǎng)絡上傳輸?shù)臄?shù)據(jù)與本地計算機的數(shù)據(jù)傳輸存儲的方式不一樣: 小端和大端
??TCP協(xié)議服務器搭建過程
1.?創(chuàng)建套接字: socket
2.?綁定端口號: bind (創(chuàng)建服務器)
3.?設置監(jiān)聽的數(shù)量,最大可以連接的客戶端數(shù)量。
4.?阻塞方式等待客戶端連接
5.?實現(xiàn)數(shù)據(jù)通信。 (客戶端連接成功之后)
??TCP協(xié)議客戶端搭建過程
1.?創(chuàng)建套接字
2.?連接指定的服務器
3.?實現(xiàn)數(shù)據(jù)通信(成功的連接服務器)
??將16位數(shù)量從主機字節(jié)順序轉(zhuǎn)換為網(wǎng)絡字節(jié)順序。
# define HTONS(n) (u16_t)((((u16_t) (n)) << 8) | (((u16_t) (n)) >> 8)) |
?? 練習
1.?重新編寫代碼,實現(xiàn)客戶端與服務器之間基本通信。
2.?實現(xiàn)文件傳輸:
比如: 服務器給客戶端發(fā)送文件 (下載)
客戶端給服務器發(fā)送文件 (上傳)
(1)?在本地計算機上測試
(2)?與局域網(wǎng)內(nèi)其他計算機之間進行測試。 考慮網(wǎng)絡、丟包問題。
擴展練習:
1.?實現(xiàn)目錄傳輸(只寫一級目錄)。
2.?實現(xiàn)目錄內(nèi)文件的同步 (公交車站臺、地鐵里廣告機(視頻播放機))
安裝編譯器
![pYYBAGMlP8eAcK-jAABd1EuECR4703.png](https://file.elecfans.com//web2/M00/6A/F1/pYYBAGMlP8eAcK-jAABd1EuECR4703.png)
解壓命令: # tar xvf sublime_text_3_build_3143_x32.tar.bz2
??在任意目錄下想要運行這個編輯軟件,需要添加環(huán)境變量。
1.?# vim /etc/profile 打開配置文件 (翻到最后一行) 進入插入模式下,寫上以下代碼,再保存退出: export PATH=/work/test/sublime_text_3:$PATH 2.?立即生效環(huán)境變量的命令(只是當前運行的終端有效) # source /etc/profile 3.?永久生效。重啟系統(tǒng) 或者 注銷用戶重新登錄 |
第二個軟件安裝: # rpm -ivh UltraEdit-16.1-0.22.i386.rpm
![poYBAGMlP8eAdCyLAACp5k1xgLg427.png](https://file.elecfans.com//web2/M00/6A/59/poYBAGMlP8eAdCyLAACp5k1xgLg427.png)
使用軟件: # uex 123.c
??破解方法:
方法1(不改變軟件配置): UltraEdit for linux 30天無限試用的方法: 1. 查找uex.conf文件,該文件是UltraEdit的配置文件 示例:[root@wbyq sd_fuse]# find / -name uex.conf 查找出的結果:/root/.idm/uex/uex.conf 2. 刪除uex.conf文件 示例:[root@wbyq sd_fuse]# rm /root/.idm/uex/uex.conf 3. 刪除記錄時間的文件 [root@wbyq ~]# rm /tmp/*.spl -rfdv 4. 重新運行uex命令即可使用 方法2(改變軟件配置,全部重新初始化): UltraEdit for linux 30天無限試用的方法: 1. 查找uex.conf文件,該文件是UltraEdit的配置文件 示例:[root@wbyq sd_fuse]# find / -name uex.conf 查找出的結果:/root/.idm/uex/uex.conf 2. 刪除/root/.idm目錄 示例:[root@wbyq sd_fuse]# rm /root/.idm -rf
3. 刪除記錄時間的文件 [root@wbyq ~]# rm /tmp -rf
4. 重新運行uex命令即可使用30天 方法3: UltraEdit for linux 30天無限試用的方法:(快速精簡,不改變之前的軟件配置) rm -rfd ~/.idm/uex rm -rf ~/.idm/*.spl rm -rf /tmp/*.spl 軟件下載地址: http://www.ultraedit.com/downloads/uex.html |
-
協(xié)議
+關注
關注
2文章
606瀏覽量
39344 -
TCP
+關注
關注
8文章
1378瀏覽量
79311 -
網(wǎng)絡編程
+關注
關注
0文章
72瀏覽量
10104
發(fā)布評論請先 登錄
相關推薦
TCP協(xié)議的性能測試與評估方法
TCP協(xié)議在網(wǎng)絡通信中的應用
百問FB網(wǎng)絡編程 - 網(wǎng)絡編程簡介
飛凌嵌入式ElfBoard ELF 1板卡-網(wǎng)絡編程示例之網(wǎng)絡基礎知識
什么是socket編程 socket與tcp/ip協(xié)議的關系
TCP協(xié)議是什么
Linux網(wǎng)絡協(xié)議棧的實現(xiàn)
![<b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>協(xié)議</b>棧的實現(xiàn)](https://file1.elecfans.com/web2/M00/06/C6/wKgaombfpT-AeVQcAACjr17dpiQ190.png)
一文了解TCP/IP協(xié)議
![一文了解<b class='flag-5'>TCP</b>/IP<b class='flag-5'>協(xié)議</b>](https://file1.elecfans.com/web2/M00/01/F4/wKgaomazJM6AUmLUAAAopE8gQog159.png)
華納云:TCP IP協(xié)議的發(fā)展和優(yōu)勢
TCP IP協(xié)議屬性設置中的IP配置
論TCP協(xié)議中的擁塞控制機制與網(wǎng)絡穩(wěn)定性
網(wǎng)絡傳輸協(xié)議有幾種?
深入理解Linux網(wǎng)絡協(xié)議
![深入理解<b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>協(xié)議</b>](https://file1.elecfans.com/web2/M00/C7/69/wKgaomYKUuiANhG6AAA-loCMbGU699.png)
Linux網(wǎng)絡編程
![<b class='flag-5'>Linux</b><b class='flag-5'>網(wǎng)絡</b><b class='flag-5'>編程</b>](https://file1.elecfans.com/web2/M00/C4/AC/wKgZomX2ka2AJV7kAAP5n4qgJjM308.png)
通信必備知識!TCP與UDP協(xié)議介紹及使用
![通信必備知識!<b class='flag-5'>TCP</b>與UDP<b class='flag-5'>協(xié)議</b><b class='flag-5'>介紹</b>及使用](https://file.elecfans.com/web2/M00/3E/6A/pYYBAGJhBGGAGyDYAACBPQuBZQI711.png)
評論