00网络编程
网络编程
打电话 TCP
发短信 UDP
计算机网络:将地理位置不同的具有独立功能的多台计算机及其外部设
备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通
信协议的管理和协调下,实现资源共享和消息传递的计算机系统。
网络编程目的:
无线电台...传播交流消息,数据交换。通信
(1)需要:
1.准确定位网络上一台主机 192.168.16.124:端口, 定位到这个计算机的某个资源 (域名:www.baidu.com)
2.找到了这个主机, 如何传输数据呢?
(2)要素:
IP和端口号 ip.
网络通信协议 udp,tcp
(3)万物皆对象
javaweb:网络编程 B/S
网络编程:TCP/IP C/S
如何实现网络的通信:
通信双方地址:
ip
端口号
192.168.16.124:5900
规则:网络通信的协议
TCP/IP参考模型:
OSI七层网络模型 TCP/IP四层概念模型 对应网络协议
应用层 HTTP、TFTP(超文本协议),FTP(文件上传协议),NFS,WAIS、SMTP(QQ邮件)
表现层 Telnet(远程登录),Rlogin,SNMP,Gopher
会话层 应用层 SMTP,DNS(域名解析)
传输层 传输层 TCP,UDP
网络层 网络层 IP,ICMP,ARP,RARP,AKP,UUCP (通信)
数据链路层 FDDI,Ethernet,Arpanet,PDN,SLIP,PPP
物理层 数据链路层 IEEE 802.1A,IEEE 802.2到IEEE 802.11 (无线/有线 网线)
01IP
IP
ip地址:InetAddress
唯一定位一台网络上计算机
127.0.0.1:本机localhost
ip地址分类
ipv4/ipv6
IPV4 127.0.0.1 ,4个字节组成。 0-255,42亿- ; 30亿在北美,亚洲4亿。2011年就用尽;
IPV6 fe80::a562:efd7:9635:a41b%22 ,128位。8个无符号整数! abcde
2001:0bb2: aaaa: 0015: 0000: 0000: 1aaa: 1312
公网(互联网)-私网(局域网)
ABCD类地址
192.168.xx.xx,专门给组织内部使用的
域名:记忆IP问题!
IP:www.vip.com
02端口
端口
端口表示计算机上的一个程序的进程;
不同的进程有不同的端口号!用来区分软件!
被规定0-65535
TCP,UDP:65535*2 tcp:80, udp:80,单个协议下,端口号不能冲突
端口分类
公有端口0-1023
HTTP:80
HTTPS:443
FTP:21
Telent:23
程序注册端口:1024~49151,分配用户或者程序
Tomcat:8080
MySQL:3306
Oracle:1521
动态、私有:49152!65535
netstat -ano #查看所有的端口
netstat -ano|findstr "5900" #查看指定的端口
tasklist|findstr "8696" #查看指定端口的进程
ctrl + shift + ESC
03通信协议
通信协议
协议:约定,就好比我们现在说的是普通话
网络通信协议:速率,传输码率,代码结构,传输控制......
问题:非常的复杂?
大事化小:分层!
TCP/IP协议簇:实际上是一组协议
重要:
TCP:用户传输协议
UDP:用户数据报协议
出名的协议:
TCP:
IP:网络互连协议
TCP UDP对比
TCP:打电话
连接:稳定
三次握手 四次挥手
最少需要三次,保证稳定连接!
A:你瞅啥?
B:瞅你咋地?
A:干一场!
A:我要走了
B:你真的要走了吗?
B:你真的真的要走了吗?
A:我真的真的走了
客户端、服务端
传输完成,释放连接,效率低
UDP:发短信
不连接,不稳定
客户端、服务端:没有明确的界限
不管有没有准备好,都可以发给你...
导弹
DDOS:洪水攻击!(饱和攻击)
HTTP
HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。
文本:html,字符串,~....
超文本:图片,音乐,视频,定位,地图.......
80
Https:安全的
443
俩个时代
http1.0
http2.0
04TCP
TCP
客户端:
1.连接服务器 Socket
2.发送消息
服务器
1.建立服务的端口 ServerSocket
2.等待用户的连接 accept
3.接收用的消息
05Tomcat
乱码:conf>logging.properties GBK
端口号:conf>server.xml 8080
06UDP
发短信:不用连接,需要知道对方的地址
在线咨询:俩个人都可以是接收方,也可以是发送方
07URL
URL
https://www.baidu.com/
统一资源定位符:定位资源,定位互联网上的某一个资源
DNS域名解析 www.baidu.com xxx.x..x..x
1.协议://ip地址:端口/项目名/资源