Linux网络编程_网络指令与TCP协议介绍
剩下: Shell脚本和socket网络编程
虚拟机: 虚拟计算机环境、。
Linux系统编程需要掌握的知识:
1. 操作系统环境搭建(虚拟机+Linux操作系统)
2. 常用的指令(文件目录管理、网络管理、磁盘管理)
3. 文件(fopen系列、open系列)和目录操作
4. Shell脚本编程
5. 进程和线程编程(并发): 多路IO操作: poll机制、select机制、epoll机制
6. 网络编程
7. 常见的设备操作: 摄像头控制
学习Linux系统编程: Linux应用和驱动开发、Linux运维开发。
任务1: Linux下网络编程
1.1 协议概念介绍
网络传输分协议,底层常见协议: TCP、UDP协议。
网络数据如何传输?
协议词汇
IIC、SPI、CAN、485、8080、USART(串口)、TCP/IP协议…….
TCP/IP协议: 传输数据是分包进行发送。(数据包: 封包、解包)
问题: 有一个路由器可以上网(外网只有一根网线),路由器可以扩展网络(4根网线),4根网络同时接了4台电脑。
每台电脑在进行网络应用操作(QQ聊天、浏览器文件下载、玩游戏……)
端口号: 表示每一台电脑上的具体的一个应用程序。
IP地址: 表示每一个电脑的地址(唯一地址)。
访问一台电脑具体应用的地址表示方法: <IP地址>:<端口号> 192.168.1.123:8080
1.2 IP地址介绍
局域网IP地址: 常见都是192开头: 192.xx.xx.xx
广域网IP地址(公网IP): xx.xx.xx.xx 比如: 登录QQ。
1.3 TCP协议和UDP协议区别:
TCP协议: 点对点协议。 比如: 打电话 (3次握手过程)。
(HTTP协议、FTP协议……)
UDP协议: 广播协议。 比如: 广播电台。实时效率比较高。(数据不可靠)
TCP协议模型: (C/S模型) (客户端+服务器模型)
TCP协议通信:是针对服务器和客户端之间。
注意: 客户端和客户端不能直接通信、服务器和服务器直接不能直接通信。
电脑上的QQ软件: QQ客户端,服务器就在腾讯公司。
1.4 学习Linux系统基本网络操作指令
指令1: ifconfig <参数>
用法: ifconfig 查看已经启动的网卡信息(IP地址)。
1. 手动设置网卡IP地址: #ifconfig eth0 192.168.1.100
2.开启网卡: # ifup eth0
3. 关闭网卡: # ifdown eth0
4. 查看全部网卡: # ifconfig -a (包括关闭未启动的网卡)
5. 关闭防火墙的图形设置页面: # setup
1.5 网卡自动分配IP地址的操作
测试网络是否畅通:
1.6 常用的TCP协议调试软件使用
任务2: TCP协议网络编程
在Linux系统下所有的设备操作都可以看成文件操作。
网络上传输的数据与本地计算机的数据传输存储的方式不一样: 小端和大端
TCP协议服务器搭建过程
1. 创建套接字: socket
2. 绑定端口号: bind (创建服务器)
3. 设置监听的数量,最大可以连接的客户端数量。
4. 阻塞方式等待客户端连接
5. 实现数据通信。 (客户端连接成功之后)
TCP协议客户端搭建过程
1. 创建套接字
2. 连接指定的服务器
3. 实现数据通信(成功的连接服务器)
将16位数量从主机字节顺序转换为网络字节顺序。
# define HTONS(n) (u16_t)((((u16_t) (n)) << 8) | (((u16_t) (n)) >> 8)) |
练习
1. 重新编写代码,实现客户端与服务器之间基本通信。
2. 实现文件传输:
比如: 服务器给客户端发送文件 (下载)
客户端给服务器发送文件 (上传)
(1) 在本地计算机上测试
(2) 与局域网内其他计算机之间进行测试。 考虑网络、丢包问题。
扩展练习:
1. 实现目录传输(只写一级目录)。
2. 实现目录内文件的同步 (公交车站台、地铁里广告机(视频播放机))
安装编译器
解压命令: # tar xvf sublime_text_3_build_3143_x32.tar.bz2
在任意目录下想要运行这个编辑软件,需要添加环境变量。
1. # vim /etc/profile 打开配置文件 (翻到最后一行) 进入插入模式下,写上以下代码,再保存退出: export PATH=/work/test/sublime_text_3:$PATH 2. 立即生效环境变量的命令(只是当前运行的终端有效) # source /etc/profile 3. 永久生效。重启系统 或者 注销用户重新登录 |
第二个软件安装: # rpm -ivh UltraEdit-16.1-0.22.i386.rpm
使用软件: # 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 |
- 点赞
- 收藏
- 关注作者
评论(0)