网络编程 day01
网络编程 day01
- 0. 网络编程课程介绍
- 1. 认识网络
- 1.网络发展史
- 2.局域网与广域网
- 局域网(LAN)
- 广域网(Wan)
- 3.光猫
- 4.路由器
- 5.交换机与路由器
- 6.网线
- 2. IP
- 1. 基本概念
- 2. 网络号/主机号(二级划分)
- 3. IP地址分类
- 整体分类
- 特殊地址
- 4.子网掩码(MASK)
- 5. 练习
- 6. 三级划分
- 3. 网络模型
- 网络的体系结构
- OSI模型
- TCP/IP
- OSI和TCP/IP的对应关系
- 常见协议
- DNS
- 网络调试命令
- ping
- netstat
- ifconfig
- 手机调试工具
- 4. socket
- 1. socket 发展
- 2. socket 介绍
- 3. 为什么需要socket?
- 4.socket类型
- 5. 位置
- 6. TCP/UDP
- 5. 端口号 port
- 6. 字节序
0. 网络编程课程介绍
- 网络基础:IP、子网掩码、端口号、网络基础模型(OS、TCP/IP)、传输协议
- socket:TCP、UDP模型、广播、组播、协议分析、抓包工具的使用、IO多路复用、并发服务器
- SQL数据库
- TCP实现FTP、电子词典
1. 认识网络
1.网络发展史
ARPnetA (阿帕网) ---- Internet (因特网) ---- 移动互联网 ---- 物联网
TCP/IP
用来检测网络传输中差错的传输控制协议--------TCP
专门负责对不同网络进行互联的互联网协议-----IP
2.局域网与广域网
局域网(LAN)
局域网的缩写是LAN,local area network,顾名思义,是个本地的网络,只能实现小范围短距离的网络通信。我们的家庭网络是典型的局域网。电脑、手机、电视、智能音箱、智能插座都连在路由器上,可以互相通信。局域网,就像是小区里的道路,分支多,连接了很多栋楼。
广域网(Wan)
广域网(Wide Area Network)是相对局域网来讲的,局域网的传输距离比较近,只能是一个小范围的。如果需要长距离的传输,比如某大型企业,总部在北京,分公司在长沙,局域网是无法架设的。广域网,就像是大马路,分支可能少,但类型多,像国道、省道、高速、小道等,连接了很多大的局域网。
怎么上网?
第一,通过因特网,只需要办一根宽带,就实现了通信,非常方便,现在的宽带价格也比较便宜。
第二,通过广域网专线。
所以为了数据安全,不能连接因特网,需要用一条自己的专用线路来传输数据,这条线路上只有自己人,不会有其他人接入,且距离很远,这个网络就叫 “广域网”。
3.光猫
光猫是一种类似于基带modem(数字调制解调器)的设备,和基带modem不同的是接入的是光纤专线,是光信号。用于广域网中光电信号的转换和接口协议的转换,接入路由器,是广域网接入。
猫的作用:将光(模拟)信号转化为数字信号
早期:电话线
现在:光纤
4.路由器
路由器:用于连接局域网和外网
路由器需要区分WAN口和LAN口,WAN口是接外网的(从Modem出来的或者从上一级路由器出来的),LAN口是接内网的,现在路由器都带无线功能,本质上无线接入就是LAN
5.交换机与路由器
交换机工作原理
交换机:用于局域网内网的数据转发
路由器:用于连接局域网和外网,也能进行数据转发
现在大部分路由器都有有交换机的功能;
但是交换机没有IP分配和IP寻址的功能,所以交换机没有路由器的功能。
6.网线
2. IP
1. 基本概念
- IP地址是Internet中主机的标识
- Internet中的主机要与别的机器通信必须具有一个IP地址
- IP地址为32位(IPv4 ,232)或者128位(IPv6,2128个)
NAT:公网转私网、私网转公网 - IPV4表示形式:常用点分十进制形式,如202.38.64.10,最后都会转换为一个32位的无符号整数。
NAT设备(网络地址转换)
功能:NAT设备的主要功能是将内部私有IP地址转换为公共IP地址,或反向操作,以便在局域网和外部网络(如互联网)之间进行通信。
工作原理:
当局域网内的设备访问互联网时,NAT设备记录设备的内部IP地址和源端口,并用公共IP地址替换。
响应的流量也会经过NAT设备,NAT通过记录的映射关系将数据包发送回正确的内部设备。
作用对象:NAT设备用于管理与外部网络(如互联网)的通信,通常作为路由器的一部分。
DHCP服务器(动态主机配置协议)
功能:DHCP服务器的主要任务是自动分配IP地址、子网掩码、默认网关和DNS服务器ip等网络配置给网络中的设备(客户端),简化网络管理。
工作原理:
当一个设备(如电脑或手机)首次连接到网络时,它会发送一个DHCP请求。
DHCP服务器接收到请求后,从预设的IP地址池中分配一个可用的IP地址,并返回给客户端。
作用对象:DHCP服务器专注于局域网内部的IP地址管理。
2. 网络号/主机号(二级划分)
IP地址 = 网络号+主机号
网络号:表示是否在同一个网段内(局域网)
主机号:表示在网段内的ID,同一网段内不重复
3. IP地址分类
整体分类

A类:(0.0.0.0 - 127.255.255.255)(默认子网掩码:255.0.0.0)
第一个字节为网络号,后三个字节为主机号(一个字节占8位)。该类IP地址的最前面为“0”,因为网络号是8位,所以地址的网络号取值于 0~127之间(0000 0000)(0111 1111)。一般用于大型网络,主机号取值在0 - 2 ^24之间。
B类:(128.0.0.0 - 191.255.255.255)(默认子网掩码:255.255.0.0)
前两个字节为网络号,后两个字节为主机号。该类IP地址的最前面为“10”,所以地址的网络号取值于128~191之间。一般用于中等规模网络。
C类:(192.0.0.0 - 223.255.255.255)(子网掩码:255.255.255.0)
前三个字节为网络号,最后一个字节为主机号。该类IP地址的最前面为“110”,所以地址的网络号取值于192~223之间。一般用于小型网络(一般教室使用的是C类)。
D类:(224.0.0.0 - 239.255.255.255),多播地址。
该类IP地址的最前面为“1110”,所以地址的范围取值于224~239之间。一般用于组播用户,组播通信。
E类:是保留地址。该类IP地址的最前面为“1111”,所以地址的取值于240~247之间。一般是一些保密单位用得到,平时基本不会用到
特殊地址
0.0.0.0
在服务器中,0.0.0.0指的是本机上的所有IPV4地址,如果一个主机有两个IP地址,192.168.1.1 和 10.1.2.1,并且该主机上的一个服务监听的地址是0.0.0.0,那么通过两个ip地址都能够访问该服务。
127.0.0.1
回环地址/环路地址,所有发往该类地址的数据包都应该被loop back。
网络地址
每一个网段主机号为0的地址; 如:192.168.50.0。它是网络中的一个特殊地址,不能被分配给任何具体的主机。
广播地址
主机号最大的地址是该网段的广播地址 如:192.168.50.255。如: b类IP 广播地址为: 130.223.255.255
全网广播地址 : 255.255.255.255, 该地址不能随便用,会影响这个网络
A类:1.0.0.1~126.255.255.254
B类:128.0.0.1~191.255.255.254
C类:192.0.0.1~223.255.255.254
D类(组播地址):224.0.0.1~~239.255.255.254
4.子网掩码(MASK)
- 子网掩码:是一个32位的整数,作用是将某一个IP划分成网络地址和主机地址;
- 子网掩码长度是和IP地址长度完全一样;
- 网络号全为1,主机号全为0;
- 公式:网络地址 = IP & MASK
主机地址 = IP& ~MASK
5. 练习
练习一:B类地址的子网掩码怎么写?
答:255.255.0.0
练习二:B类地址,同一网段最多可以连接多少个主机?
答:216 - 2 ;
网络地址和广播地址(.1一般是路由器登陆界面)
练习三:已知一个子网掩码号为255.255.255.192,问:最多可以连接多少台主机?
答:26 - 2;
子网掩码:网络号全为1,主机号全为0;192 : 1100 0000;主机号只有6位;主机数为26-2台
练习四:一个IP地址为192.168.3.183,计算其网络号与主机号
网络号:192.168.3.0
主机号:0.0.0.183
练习五: 如果有800台电脑, 在不浪费ip情况下, 选用哪个网段?
答:B类;C类同一网段只有28个,A类在同一网段会有224个主机
6. 三级划分
作用:重新划分网络号和主机号, 也就是重新组网 , 从而提高资源利用率
二级划分 IP :IP地址= 网络号 + 主机号
三级划分 IP :IP地址= 网络号 + 子网号 + 主机号
练习一:某公司有四个部门:行政、研发1、研发2、营销,每个部门各50台计算机接入公司局域网,如果要在192.168.1.0网段为每个部门划分子网,子网掩码应该怎么设置,每个子网的地址范围分别是什么?(4个部门之间不能通信)
答:C类(254台主机)主机号:0000 0000
行政:0000 0000 - 0011 1111=》
研发1:0100 0000 - 0111 1111=》
研发2:1000 0000 - 1011 1111=》
营销:1100 0000 - 1111 1111=》
子网掩码:255.255.255.1100 0000 =》255.255.255.192
练习二:有两台电脑主机,在最少浪费IP地址的情况下.将172.16.14.4与172.16.13.2划归为同一网段,则子网掩码应该设置为?
答:255.255.252.0
解析
- 同一网段内主机号不同,网络号相同
- 从二级划分中主机号中划分出相同部分作为子网号,子网号与网络号合称网络号
14.4:172.16.0000 1110.0000 0100
13.2:172.16.0000 1101.0000 0010
子网号:172.16.0000 11
主机号:10.0000 0100 和 01.0000 0010
子网掩码:255.255.1111 1100.0000 0000==》255.255.252.0
3. 网络模型
网络的体系结构
网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。
每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务
网络体系结构即指网络的层次结构和每层所使用协议的集合
两类非常重要的体系结构:OSI与TCP/IP
OSI模型

TCP/IP

应用层:应用协议和应用程序的集合
传输层:决定数据交给机器的哪个任务(进程)去处理,通过端口寻址
进程一定有进程号,不一定有端口号,端口号只有在进行网络通信才有
网络层:提供设备到设备的传输,可以理解为通过IP寻址机器。
网络接口和物理层:屏蔽硬件差异(驱动),向上层提供统一的操作接口。
OSI和TCP/IP的对应关系

常见协议
网络接口和物理层:
ppp:拨号协议(老式电话线上网方式)
Ethernet:是一种常见的局域网技术,使用MAC地址进行帧的传输和接收
Wi-Fi:用于无线局域网的数据传输,通常基于IEEE 802.11标准
网络层:
IP(IPV4/IPV6):网间互连的协议
ICMP:网络控制管理协议,ping命令使用
IGMP:网络分组管理协议,广播和组播使用
ARP:地址解析协议 IP–>MAC
RARP:反向地址转换协议 MAC–>IP
(ARP;RARP在网络接口和物理层工作)
传输层:
TCP:传输控制协议
UDP:用户数据报协议
应用层:
SSH:加密协议
telnet:远程登录协议
FTP:文件传输协议
HTTP:超文本传输协议
DNS:域名解析协议 (将人类易于记忆的域名(如www.baidu.com)转换为计算机使用的IP地址(如192.0.2.1))
SMTP/POP3:邮件传输协议
DNS
由于使用IP地址来指定计算机不方便人们记忆,且输入时候容易出错,用字符标识网络中计算机名称方法。
域名(Domian Name )
域名服务器(Domain Name server):用来处理IP地址和域名之间的转换。
域名系统(Domain Name System,DNS):域名翻译成IP地址的软件DNS
域名结构
例如域名 www.baidu.com.cn 从右向左看
cn为高级域名,也叫一级域名,它通常分配给主干节点,取值为国家名,cn代表中国
com为网络名,属于二级域名,它通常表示组织或部门
中国互联网二级域名共40个,edu表示教育部门,com表示商业部门,gov表示政府,mil军队等等
baidu为机构名,在此为三级域名,表示百度
www:万维网world wide web,也叫环球信息网,是一种特殊的信息结构框架。
工作流程

网络调试命令
ping
测试网络连通性(ICMP)
作为平时网络连通检测使用最多的命令,它的作用主要为:
● 用来检测网络的连通情况和分析网络速度;
● 根据域名得到服务器IP;
● 根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。

字节:数据包大小
时间:响应时间:时间越小证明链接地址的速度越快
TTL:time to live:从源到目的,每经过一个路由器,TTL减一。当TTL = 0 时,数据包丢失
netstat
netstat是控制台命令,是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。Netstat用于显示与IP、TCP、UDP相关的统计数据,一般用于检验本机各端口的网络连接情况。
netstat -a //查看所有网络状态
netstat -at //查看tcp所有网络状态
netstat -au //查看udp所有网络状态
netstat -l //查看处于监听状态的链接
netstat -lt //查看处于监听状态的链接tcp
netstat -lu //查看处于监听状态的链接udp
netstat -lx //查看处于监听状态的链接unix
ifconfig
查看网络接口信息

ens33:网卡名称 en:Ethernet s:表示热插拔槽上的设备 33:插槽编号
lo:回环网卡
| 格式 | 含义 |
|---|---|
| ifconfig 具体网卡名称 | 只显示具体网卡的详细信息(无论是否启用) |
| ifconfig -a | 表示显示所有网卡包括没有启动的网卡 |
| ifconfig 网卡名称 | up/down 表示开启或关闭网卡 |
| ifconfig 网络接口 IP地址[/子网掩码长度] | 新建临时IP地址(添加 一块虚拟网卡) |
| ifconfig -s | 查看通讯情况 |
手机调试工具
全能调试

4. socket
1. socket 发展
- 1982 - Berkeley Software Distributions 操作系统引入了socket作为本地进程之间通信的接口
- 1986 - Berkeley 扩展了socket 接口,使之支持UNIX 下的TCP/IP 通信
- 现在很多应用 (FTP, Telnet) 都依赖这一接口
2. socket 介绍
- 是一个编程接口,函数
- 是一种特殊的文件描述符 (everything in Unix is a file)
- socket是一种通信机制,并不仅限于TCP/IP协议
- 面向连接 (Transmission Control Protocol - TCP/IP)
- 无连接 (User Datagram Protocol -UDP 和 Inter-network Packet Exchange - IPX)
3. 为什么需要socket?
- 普通的I/O操作过程 :打开文件->读/写操作->关闭文件
- TCP/IP协议被集成到操作系统的内核中,引入了新型的“I/O”操作:
进行网络通信的两个进程在不同的机器上,如何连接?
网络协议具有多样性,如何进行统一的操作?
需要一种通用的网络编程接口:Socket
4.socket类型
流式套接字(SOCK_STREAM) —> TCP
提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。 内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流。
数据报套接字(SOCK_DGRAM) --> UDP
提供无连接服务。 数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送可能乱序接收。
原始套接字(SOCK_RAW)
可以对较低层次协议如IP、ICMP直接访问,还有一些ping命令
5. 位置

6. TCP/UDP
相同点:都存在于传输层,全双工通信
TCP:全双工通信、面向连接、可靠
TCP(即传输控制协议):是一种面向连接的传输层协议,它能提供高可靠性通信(即数据无误、数据无丢失、数据无失序、数据无重复到达的通信)。
高可靠原因
1. 三次握手、四次挥手
2. 序列号和应答机制
3. 超时,错误重传机制
4. 拥塞控制、流量控制(滑动窗口)
适用场景
适合于对传输质量要求较高的通信
在需要可靠数据传输的场合,通常使用TCP协议
MSN/QQ等即时通讯软件的用户登录账户管理相关的功能通常采用TCP协议
UDP:全双工通信、面向无连接、不可靠
UDP(User Datagram Protocol)用户数据报协议,是不可靠的无连接的协议。在数据发送前,因为不需要进行连接,所以可以进行高效率的数据传输。
适用场景
发送小尺寸数据(如对DNS服务器进行IP地址查询时)
适合于广播/组播式通信中。
MSN/QQ/Skype等即时通讯软件的点对点文本通讯以及音视频通讯通常采用UDP协议
5. 端口号 port
为了区分一台主机接收到的数据包应该转交给哪个进程来进行处理,使用端口号来区分
TCP端口号与UDP端口号独立(UDP port为8888,TCP port也可为8888 )
端口号一般由IANA (Internet Assigned Numbers Authority) 管理
端口用两个字节来表示
众所周知端口(被占用:1 - 1023(1 - 255之间为众所周知端口,256 - 1023端口通常由UNIX系统占用))
已登记端口:1024 - 49151(可用来建立与其它主机的会话)
动态或私有端口:49152 - 65535 固定某些服务使用
6. 字节序
字节序: 不同类型的cpu主机,内存存储大于一个字节类型的数据在内存中的存放顺序。
小端序(little-endian)= 低序字节存储在低地址 = 主机字节序
大端序(big-endian)= 高序字节存储在低地址 = 网络字节序
网络中传输的数据必须使用网络字节序,即大端字节序
终端显示的数据必须是主机字节序,即小端字节序
网络传输中,需要将每个主机的主机字节序(CPU决定),转换为网络中统一顺序的网络字节序,才能供双方主机去识别。
只需要转换IP和port就可以,不需要转换传输的数据包的字节序,因为IP和port为 4个字节和2个字节, 而数据报一般都为char类型, 占一个字节,根据字节序的性质,内存存储大于一个字节类型的数据在内存中的存放顺序,所以char类型并不具有字节序的概念。
练习:写一个程序,判断当前主机的字节序?
union en
{int in;char ch;
};
int main()
{int myend = 0x12345678;// 指针char *endp = (char *)&myend;printf("%#x\n", *endp);// 数据类型char endch = (char)myend;printf("%#x\n", endch);// 共用体union en endun;endun.in = myend;endun.ch = (char)endun.in;printf("%#x", endun.ch);
}
int 类型的myend占满四个字节,强转成char类型的数据时会按照主机的大小端类型存储。如果强转之后打印出来的是“78”,说明低位字节存储在低地址位,是小端存储;如果强转之后打印出来的是“12”,说明高位字节存储在低地址位,是大端存储。
相关文章:
网络编程 day01
网络编程 day01 0. 网络编程课程介绍1. 认识网络1.网络发展史2.局域网与广域网局域网(LAN)广域网(Wan) 3.光猫4.路由器5.交换机与路由器6.网线 2. IP1. 基本概念2. 网络号/主机号(二级划分)3. IP地址分类整…...
Tomcat 8 安装包下载
Tomcat 8 安装包下载 【下载地址】Tomcat8安装包下载 本仓库提供了一个包含 Windows 和 Linux 版本的 Tomcat 8 安装包,方便用户快速下载并部署 Tomcat 8 服务器 [这里是图片001] 项目地址: https://gitcode.com/open-source-toolkit/fda7c 简介 本仓库提供了一个…...
java 与 c++在遍历 map 数据结构上的一些差异
在编写动态规划时,发现了一个现象: C 中的 unordered_map 和 map 可以一边遍历一边添加数据Java 中的 HashMap 却不能,Java 只能通过 ConcurrentSkipListMap 实现在遍历中添加数据。 问了 grok,原来是两个编程语言在 map 数据结…...
vscode通过ssh远程连接(linux系统)不能跳转问题
1.问题描述 unbantu中的vscode能够通过函数跳转到函数定义,而windows通过ssh连接unbantu的vscode却无法跳转 2.原因: 主要原因是这里缺少插件,这里是unbantu给主机的服务器,与ubantu本地vscode插件相互独立,能否跳转…...
unity pico开发 五 UI交互
文章目录 添加画布添加交互组件取消传送射线对UI的控制解决按扳机键会传送的冲突按下按键呼出菜单,并让菜单出现在头的前方 添加画布 创建一个新画布,添加一个Button,将画布改为world space,然后缩放改为0.001,调整到…...
软开经验总结
文章目录 软开经验总结一、二次开发时候操作步骤二、logger的作用!!!三、git使用 软开经验总结 一、二次开发时候操作步骤 改 SDK 和 language level改 maven 配置改数据库 注意Mysql 版本 差别是否过大!!࿰…...
攻克 FBX 转 STL 难题,迪威模型网搭建通途
在 3D 内容创作与 3D 打印的广袤天地中,不同的文件格式宛如一道道独特的密码,各自守护着特定的 3D 世界。今天,我们聚焦于 FBX 与 STL 这两种格式,以及如何借助迪威模型网实现 FBX 到 STL 的无缝转换。 FBX 与 STL:…...
QT 中的元对象系统(三):QObject深入理解
目录 1.简介 2.特性 2.1.对象树与内存管理 2.2.信号与槽机制 2.3.事件处理 2.4.属性系统 2.4.1.Q_PROPERTY配置的属性 2.4.2.动态属性 2.4.3.实现原理 2.5.国际化支持 2.6. 定时器支持 3.类设计(q和d指针) 4.总结 1.简介 QObject这个 class 是 QT 对象模型的核心&…...
二、QT和驱动模块实现智能家居-----问题汇总1
1、文件地址改变后必须在QT下更改地址 2、指定了QT内Kits下的Sysroot头文件地址,但是还是找不到头文件: 3、提示无法执行QT程序:先干掉之前的QT程序 ps //查看程序PIDkill -9 PID 4、无法执行QT程序 1)未设置环境变量 …...
Golang的数据库分库分表
# Golang的数据库分库分表 什么是数据库分库分表 数据库分库分表是指将单一的数据库拆分成多个库,每个库中包含多张表,以提高数据库的性能和可伸缩性。通常在大型应用中,单一的数据库往往无法满足高并发和海量数据的需求,因此需要…...
Docker + Vue2 热重载:为什么需要 CHOKIDAR_USEPOLLING=true?
在 Docker 中运行 Vue 2 项目时,许多开发者会遇到 代码修改后热重载(Hot Reload)失效的问题。虽然 Vue 2 默认支持热重载,但由于 Docker 文件监听机制的特殊性,Webpack 的 watch 机制可能无法正常工作。 本文将深入解析…...
NModbus 连接到Modbus服务器(Modbus TCP)
1、在项目中通过NuGet添加NModbus,在界面中添加一个Button。 using NModbus.Device; using NModbus; using System.Net.Sockets; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Docu…...
基于vue3和flask开发的前后端管理系统(一):项目启动准备
准备工作 我们需要准备以下工具 vue3:构建前端 tailwind css:样式库vite:快速构建vue项目pinia :vue3 的事件管理器 flask:后端代码Mysql:数据库 heidisql:数据库图形化界面 vscode࿱…...
单例模式(线程案例)
单例模式可以分为两种:1.饿汉模式 2.懒汉模式 一.饿汉模式 //饿汉模式👇 class MySingleTon{//因为这是一个静态成员变量,在类加载的时候,就创建了private static MySingleTon mySingleTon new MySingleTon();//创建一个静…...
通过多线程分别获取高分辨率和低分辨率的H264码流
目录 一.RV1126 VI采集摄像头数据并同时获取高分辨率码流和低分辨率码流流程 编辑 1.1初始化VI模块: 1.2初始化RGA模块: 1.3初始化高分辨率VENC编码器、 低分辨率VENC编码器: 1.4 VI绑定高分辨率VENC编码器,VI绑定RGA模块…...
智慧农业中光谱相机对土壤成分的无损检测应用
可浏览之前发布的一篇文章:光谱相机在农业中的具体应用案例 一、土壤成分定量分析 养分检测 光谱相机通过捕捉土壤反射的特定波长光线,可精准检测氮、磷、钾等主要养分含量,以及有机质和水分比例。例如,不同养分对近红外波段…...
Muduo + OpenSSL 网络交互完整流程
🔥 Muduo OpenSSL 网络交互完整流程 这套架构结合了 Muduo(网络库) OpenSSL(TLS/SSL 加密) BIO(缓存),整个数据流动过程如下: 🌍 1. 网络通信的基本流程 M…...
2025年能源工作指导意见重点内容
一、总体目标 能源供应保障 全国发电总装机容量达到36亿千瓦以上,新增新能源发电装机2亿千瓦以上,发电量目标10.6万亿千瓦时,跨省跨区输电能力持续提升。 煤炭稳产增产,原油产量保持2亿吨以上,天然气产量较快增长&am…...
DNS 详细过程 与 ICMP
🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 一:🔥 DNS (Domain Name System) 快速了解🦋 DNS 背景🦋 域名简介🦋 真实地址查询 —— DNS🎀 域名的层级关系&am…...
学到什么记什么(25.3.3)
Upload-labs 今日重新做了一下文件上传漏洞,这里第一题之前采用直接抓包改后缀名.jpg为.php,再写入一句话<?php phpinfo();?>然后放行,得到图片地址(可复制),本来直接访问图片地址即可得到敏感信息…...
阿里云服务器部署项目笔记 实操 centos7.9
阿里云服务器部署项目笔记 实操 centos7.9 springboot vue elementUImysqlredis 相关的redis,mysql,nginx镜像,jdk 通过网盘分享的文件:docker镜像 链接: https://pan.baidu.com/s/15VwcWBP4Jy07xADuvylgQw?pwdm2g9 提取码: m2g9 配置环境 连接云服务器 安装…...
完全背包变体-排列和组合的循环顺序问题
排列,区分顺序:内层循环物品{1,2},可以让3-2->1-1和3-1->2-2都计算一遍。 组合不区分顺序:外层循环物品{1,2},只会按照物品顺序填充 总结:排列问题中,每个容量的状态更新时,允…...
华为飞腾D2000芯片(基于ARM架构)的欧拉操作系统(openEuler)上部署MySQL
一、环境准备 确认系统架构 uname -m # 应输出 aarch64(即ARM64)更新系统 sudo dnf update -y安装基础依赖 sudo dnf install -y libaio numactl openssl-devel tar wget二、安装MySQL 方案1:通过openEuler官方仓库安装(推荐&am…...
C#开发——日期操作类DateTime
在C#中,日期和时间的操作主要通过 System.DateTime 类来实现。 DateTime 提供了丰富的属性和法,用于处理日期和时间的创建、格式化、比较和计算等操作。以下是一些常用的日期函数和特性: 一、创建日期和时间 1、直接指定日期和时间&…...
win32汇编环境,窗口程序中使控件子类化的示例一
;运行效果 ;win32汇编环境,窗口程序中使编辑框控件子类化的示例一 ;窗口子类化,就是把某种控件,自已再打造一遍,加入自已的功能。比如弄个特殊形状的按钮,或只能输入特殊字符的编辑框 ;当然,一般来说,这都是…...
多镜头视频生成、机器人抓取、扩散模型个性化 | Big Model weekly第58期
点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! 01 GLM-4-Voice: Towards Intelligent and Human-Like End-to-End Spoken Chatbot 本文介绍了一种名为GLM-4-Voice的智能且类人化的端到端语音聊天机器人。它支持中文和英文,能够进行实时语音对话&a…...
iOS实现一个强大的本地状态记录容器
我们开发中经常会遇到这样的场景,就是我们客户端用户进行了某个操作,这个操作影响了数据的状态,但是我们又不方便重新请求一次数据, 这个时候,就需要我们记录一下本地状态在内存中,随着业务越来越复杂&…...
第十四届蓝桥杯:(二分算法)字串简写
这道题我们的做法是开两个vector,分别把a和b字符的下标存进去,然后遍历a字符,我们要求长度必须大于等于k,我们可以画个图,也就是说b的下标减a的下标必须大于等于k-1 也就是b的下标必须大于等于a的下标k-1 我们用二分找…...
制服小程序的“滑手”:禁用页面左右滑动全攻略
哈哈,看来你已经很聪明地发现了小程序中左右滑动的“顽皮”行为!😄 没错,我们可以通过设置 disableScroll 属性来“管教”它,同时结合 CSS 样式让页面既禁得住横向“乱跑”,又能顺畅地上下滚动。你的方案已…...
java 实现xxl-job定时任务自动注册到调度中心
xxl-job 自动注册(执行器和任务) 前言 xxl-job是一个功能强大、简单易用、高可用且可扩展性强的分布式定时任务框架/分布式任务调度平台。它适用于各种需要定时任务调度的场景,并可根据业务需求进行灵活配置和扩展。 xxl-job简介 xxl-job是一个开源的分布式定时任务框架,…...
