网络编程基础知识
网络编程
网络通信
- 两台设备之间通过网络实现数据传输
- 网络通信:将数据通过网络从一台设备传输到另一台设备
- java.net包下提供了一系列的类和接口,供程序员使用,完成网络通信
网络
-
局域网
覆盖范围最小,一个教室机房
-
域域网
覆盖范围较大,可以覆盖一个成城市
-
广域网
覆盖范围最大,可以覆盖全国,甚至全球,万维网是广域网的代表
IP地址
-
用于唯一标识网络中的计算机/主机
-
查看ip地址:ipconfig
-
IP表示(对于IPV4)
4个字节(32位)表示
0~255 0~255 0~255 0~255 一个字节范围:0~255
-
ip地址的组成=网络地址+主机地址,例如:192.168.16.69
-
IPV6是下一代地址,用于替代ipv4
ipv6使用128位表示地址
16个字节是ipv4的是四倍
-
ipv4地址分类
A类:0--127.225.255.255
7位 24位 0 网络号 主机号 B类:128.0.0.0--191.255.255.255
14位 | 16位 | ||
---|---|---|---|
1 | 0 | 网络号 | 主机号 |
C类:192.0.0.0--223.255.255.255
21位 | 8位 | |||
---|---|---|---|---|
1 | 1 | 0 | 网络号 | 主机号 |
D类:224.0.0.0-239.255.255.255
28位 | ||||
---|---|---|---|---|
1 | 1 | 1 | 0 | 多播组号 |
E类:240.0.0.0--247.255.255.255
27位 | |||||
---|---|---|---|---|---|
1 | 1 | 1 | 1 | 0 | (留待后用) |
特别的:127.0.0.1 表示本机地址
域名和端口
1.域名
- www.baidu.com
- 好处:为了方便记忆,解决记ip的困难
- 将ip地址映射成域名,映射-->>HTTP协议
-
端口号 范围 0~65535 【2个字节0~2**16-1】
0~1024已被占用,不要使用
一个主机跑了多个服务,端口号访问特定的服务
- 80端口,网站服务
- xx,邮件服务
- xx,Tomcat服务
使用方法:IP+端口
网络通讯协议
-
TCP(传输层)/IP(网络层)模型
-
TCP协议:传输控制协议
1.使用TCP协议前,须先建立TCP链接,形成传输数据通道
2.传输前,采用“三次握手”方式,是可靠的
三次握手:队长,别开枪是我;原来是你小子,干什么来了?;皇军托我给您带个话
3.TCP协议进行通信的两个应用进程:客户端,服务端
4.在连接中可进行大数据量的传输
5.传输完毕,需释放已建立的连接,效率低
-
UDP协议 :用户数据协议
1.将数据,元,目的封装成数据包,不需要建立连接
2.每隔数据包的大小限制在64kb,不适合传输大量数据
3.因无需连接,故是不可靠的
4.发送数据结束时无需释放资源(因为不是面向连接的),速度快
-
Socket
1.套接字(Socket)开发网络应用程序被广泛采用,以至于成为事实的标准
作者:程序员包子,转载请注明原文链接:https://www.cnblogs.com/coder-baozi/articles/16283314.html
coder-baozi一位菜鸟码农