【摘要】 介紹網(wǎng)絡(luò)編程的基礎(chǔ)指令、關(guān)閉防火墻、配置網(wǎng)卡、配置虛擬機(jī)、完成基本網(wǎng)絡(luò)編程測(cè)試。
剩下: Shell腳本和socket網(wǎng)絡(luò)編程
虛擬機(jī): 虛擬計(jì)算機(jī)環(huán)境、。
Linux系統(tǒng)編程需要掌握的知識(shí):
1.?操作系統(tǒng)環(huán)境搭建(虛擬機(jī)+Linux操作系統(tǒng))
2.?常用的指令(文件目錄管理、網(wǎng)絡(luò)管理、磁盤管理)
3.?文件(fopen系列、open系列)和目錄操作
4.?Shell腳本編程
5.?進(jìn)程和線程編程(并發(fā)): 多路IO操作: poll機(jī)制、select機(jī)制、epoll機(jī)制
6.?網(wǎng)絡(luò)編程
7.?常見的設(shè)備操作: 攝像頭控制
學(xué)習(xí)Linux系統(tǒng)編程: Linux應(yīng)用和驅(qū)動(dòng)開發(fā)、Linux運(yùn)維開發(fā)。
任務(wù)1: Linux下網(wǎng)絡(luò)編程
1.1 協(xié)議概念介紹
網(wǎng)絡(luò)傳輸分協(xié)議,底層常見協(xié)議: TCP、UDP協(xié)議。
網(wǎng)絡(luò)數(shù)據(jù)如何傳輸?

??協(xié)議詞匯
IIC、SPI、CAN、485、8080、USART(串口)、TCP/IP協(xié)議…….
??TCP/IP協(xié)議: 傳輸數(shù)據(jù)是分包進(jìn)行發(fā)送。(數(shù)據(jù)包: 封包、解包)
問(wèn)題: 有一個(gè)路由器可以上網(wǎng)(外網(wǎng)只有一根網(wǎng)線),路由器可以擴(kuò)展網(wǎng)絡(luò)(4根網(wǎng)線),4根網(wǎng)絡(luò)同時(shí)接了4臺(tái)電腦。
每臺(tái)電腦在進(jìn)行網(wǎng)絡(luò)應(yīng)用操作(QQ聊天、瀏覽器文件下載、玩游戲……)
端口號(hào): 表示每一臺(tái)電腦上的具體的一個(gè)應(yīng)用程序。
IP地址: 表示每一個(gè)電腦的地址(唯一地址)。
訪問(wèn)一臺(tái)電腦具體應(yīng)用的地址表示方法: :<端口號(hào)> 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é)議: 點(diǎn)對(duì)點(diǎn)協(xié)議。 比如: 打電話 (3次握手過(guò)程)。
(HTTP協(xié)議、FTP協(xié)議……)
UDP協(xié)議: 廣播協(xié)議。 比如: 廣播電臺(tái)。實(shí)時(shí)效率比較高。(數(shù)據(jù)不可靠)
TCP協(xié)議模型: (C/S模型) (客戶端+服務(wù)器模型)
TCP協(xié)議通信:是針對(duì)服務(wù)器和客戶端之間。
注意: 客戶端和客戶端不能直接通信、服務(wù)器和服務(wù)器直接不能直接通信。
電腦上的QQ軟件: QQ客戶端,服務(wù)器就在騰訊公司。

1.4 學(xué)習(xí)Linux系統(tǒng)基本網(wǎng)絡(luò)操作指令
指令1: ifconfig <參數(shù)>
用法: ifconfig 查看已經(jīng)啟動(dòng)的網(wǎng)卡信息(IP地址)。

1.?手動(dòng)設(shè)置網(wǎng)卡IP地址: #ifconfig eth0 192.168.1.100
2.開啟網(wǎng)卡: # ifup eth0
3. 關(guān)閉網(wǎng)卡: # ifdown eth0
4. 查看全部網(wǎng)卡: # ifconfig -a (包括關(guān)閉未啟動(dòng)的網(wǎng)卡)
5. 關(guān)閉防火墻的圖形設(shè)置頁(yè)面: # setup

1.5 網(wǎng)卡自動(dòng)分配IP地址的操作





??測(cè)試網(wǎng)絡(luò)是否暢通:


1.6 常用的TCP協(xié)議調(diào)試軟件使用

任務(wù)2: TCP協(xié)議網(wǎng)絡(luò)編程
在Linux系統(tǒng)下所有的設(shè)備操作都可以看成文件操作。
網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)與本地計(jì)算機(jī)的數(shù)據(jù)傳輸存儲(chǔ)的方式不一樣: 小端和大端
??TCP協(xié)議服務(wù)器搭建過(guò)程
1.?創(chuàng)建套接字: socket
2.?綁定端口號(hào): bind (創(chuàng)建服務(wù)器)
3.?設(shè)置監(jiān)聽的數(shù)量,最大可以連接的客戶端數(shù)量。
4.?阻塞方式等待客戶端連接
5.?實(shí)現(xiàn)數(shù)據(jù)通信。 (客戶端連接成功之后)
??TCP協(xié)議客戶端搭建過(guò)程
1.?創(chuàng)建套接字
2.?連接指定的服務(wù)器
3.?實(shí)現(xiàn)數(shù)據(jù)通信(成功的連接服務(wù)器)
??將16位數(shù)量從主機(jī)字節(jié)順序轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序。
# define HTONS(n) (u16_t)((((u16_t) (n)) << 8) | (((u16_t) (n)) >> 8)) |
?? 練習(xí)
1.?重新編寫代碼,實(shí)現(xiàn)客戶端與服務(wù)器之間基本通信。
2.?實(shí)現(xiàn)文件傳輸:
比如: 服務(wù)器給客戶端發(fā)送文件 (下載)
客戶端給服務(wù)器發(fā)送文件 (上傳)
(1)?在本地計(jì)算機(jī)上測(cè)試
(2)?與局域網(wǎng)內(nèi)其他計(jì)算機(jī)之間進(jìn)行測(cè)試。 考慮網(wǎng)絡(luò)、丟包問(wèn)題。
擴(kuò)展練習(xí):
1.?實(shí)現(xiàn)目錄傳輸(只寫一級(jí)目錄)。
2.?實(shí)現(xiàn)目錄內(nèi)文件的同步 (公交車站臺(tái)、地鐵里廣告機(jī)(視頻播放機(jī)))
安裝編譯器

解壓命令: # tar xvf sublime_text_3_build_3143_x32.tar.bz2
??在任意目錄下想要運(yùn)行這個(gè)編輯軟件,需要添加環(huán)境變量。
1.?# vim /etc/profile 打開配置文件 (翻到最后一行) 進(jìn)入插入模式下,寫上以下代碼,再保存退出: export PATH=/work/test/sublime_text_3:$PATH 2.?立即生效環(huán)境變量的命令(只是當(dāng)前運(yùn)行的終端有效) # source /etc/profile 3.?永久生效。重啟系統(tǒng) 或者 注銷用戶重新登錄 |
第二個(gè)軟件安裝: # rpm -ivh UltraEdit-16.1-0.22.i386.rpm

使用軟件: # uex 123.c
??破解方法:
方法1(不改變軟件配置): UltraEdit for linux 30天無(wú)限試用的方法: 1. 查找uex.conf文件,該文件是UltraEdit的配置文件 示例:[root@wbyq sd_fuse]# find / -name uex.conf 查找出的結(jié)果:/root/.idm/uex/uex.conf 2. 刪除uex.conf文件 示例:[root@wbyq sd_fuse]# rm /root/.idm/uex/uex.conf 3. 刪除記錄時(shí)間的文件 [root@wbyq ~]# rm /tmp/*.spl -rfdv 4. 重新運(yùn)行uex命令即可使用 方法2(改變軟件配置,全部重新初始化): UltraEdit for linux 30天無(wú)限試用的方法: 1. 查找uex.conf文件,該文件是UltraEdit的配置文件 示例:[root@wbyq sd_fuse]# find / -name uex.conf 查找出的結(jié)果:/root/.idm/uex/uex.conf 2. 刪除/root/.idm目錄 示例:[root@wbyq sd_fuse]# rm /root/.idm -rf
3. 刪除記錄時(shí)間的文件 [root@wbyq ~]# rm /tmp -rf
4. 重新運(yùn)行uex命令即可使用30天 方法3: UltraEdit for linux 30天無(wú)限試用的方法:(快速精簡(jiǎn),不改變之前的軟件配置) rm -rfd ~/.idm/uex rm -rf ~/.idm/*.spl rm -rf /tmp/*.spl 軟件下載地址: http://www.ultraedit.com/downloads/uex.html |
-
協(xié)議
+關(guān)注
關(guān)注
2文章
614瀏覽量
40076 -
TCP
+關(guān)注
關(guān)注
8文章
1402瀏覽量
81048 -
網(wǎng)絡(luò)編程
+關(guān)注
關(guān)注
0文章
72瀏覽量
10630
發(fā)布評(píng)論請(qǐng)先 登錄
TCP協(xié)議的性能測(cè)試與評(píng)估方法
如何優(yōu)化TCP協(xié)議的性能
TCP協(xié)議在網(wǎng)絡(luò)通信中的應(yīng)用
百問(wèn)FB網(wǎng)絡(luò)編程 - 網(wǎng)絡(luò)編程簡(jiǎn)介
飛凌嵌入式ElfBoard ELF 1板卡-網(wǎng)絡(luò)編程示例之網(wǎng)絡(luò)基礎(chǔ)知識(shí)
什么是socket編程 socket與tcp/ip協(xié)議的關(guān)系
TCP協(xié)議是什么
Linux網(wǎng)絡(luò)協(xié)議棧的實(shí)現(xiàn)

EtherCAT轉(zhuǎn)Modbus TCP協(xié)議網(wǎng)關(guān)(JM-ECT-TCP)

功能強(qiáng)大的網(wǎng)絡(luò)通訊工具,支持各類TCP、UDP、HTTP的通訊協(xié)議
常見的shell命令之網(wǎng)絡(luò)相關(guān)命令
一文了解TCP/IP協(xié)議

評(píng)論