网络编程概念
1.1 概述
TCP协议:打电话 --连接--接通了 ----通话
UDP协议:发短信 --发送了就完事了 ----接收
1.2 网络通信的要素
如何实现网络通信:
通信双方地址:
1、ip
2、端口号
小结:
1、网络编程中有两个主要的问题
如何准确地定位到网络中的一台或者多台主机
找到主机之后如何进行通信
2、网络编程中的要素
ip和端口
网络通信协议 TCP/UDP
3、万物皆对象
1.3 IP
ip地址:InetAddress
1、唯一定位一台网络上计算机
2、127.0.0.1:本机:localhost
3、ip地址的分类
ip地址分类(ipv4 / ipv6)
ipv4:127.0.0.1 ,4个字节组成,0~255,42亿~。30亿都在
北美,亚洲只有10亿,2011年就用尽
ipv6:240e:381:4552:b600:5cb3:6cdb:7120:5693
128位,8个无符号整数
公网(互联网)--私网(局域网)
ABCD类地址
192.168.xx.xx,专门给组织内部使用的
4、域名:记忆ip问题
ip:www.vip.com
1.4 端口
端口表示计算机上一个程序的进程
不同的进程有不同等我端口号,用来区分软件
被规定0~65535*2。单个协议下,端口号不能冲突
端口分类
1、公有端口 0~1023
HTTP:80
HTTPS:443
FTP:21
Telent:23
2、程序注册端口:1024~49151,分配用户或者程序
Tomcat:8080
MySQL:3306
Oracle:1521
3、动态、私有:49152~65535
netstat -ano 查看所有的端口
netstat -ano|findstr "5900" 查看指定的端口
tasklist|findstr"5900" 查看指定端口的进程
Ctrl + Shift +Esc 打开任务管理器
1.5 通信协议
网络通信协议:速率、传输码率、代码结构、传输控制
TCP/IP协议簇:
重要:
TCP:用户传输协议
UDP:用户数据报协议
出名的协议:
TCP;
IP:网络互连协议
TCP和UDP的对比:
TCP:打电话
1、连接、稳定
2、三次握手 四次挥手
最少需要三次保证稳定连接
A:你瞅啥?
B:瞅你咋地
A:干一场
A:我要走了
B:你真的要走了吗
B:你真的真的要走了吗
A:我真的要走了
3、客户端、服务端
4、传输完成、释放连接、效率低
UDP:发短信
1、不连接、不稳定
2、客户端、服务端没有明确的界限
3、不管有没有准备,都可以发送
4、DDOS:洪水攻击!饱和攻击!
1.6 TCP
客户端
1、连接服务器Socket
2、发送消息
服务器
1、监理服务的端口 ServerSocket
2、等待用户的连接 accept()
3、接收用户的消息
Tomcat
服务端
1、自定义S
2、Tomcat服务器S:Java后台开发
客户端
1、自定义C
2、浏览器B
URL
URL:统一资源定位符,定位互联网上的某一个资源
www.baidu.com 域名解析 xx.xx.xx.xx
https://www.baidu.com/
协议://ip地址:端口/项目名/资源