一、网络编程的基础

1.概念
计算机网络:把分布在不同区域的计算机与专门的外部设备连接起来,使用通信线路相互之间连接成一个规模庞大,而且功能比较的强的网络系统,好处:不同的计算机之间可以互相传递信息,共享数据,软件等


网络编程:在同一个网络中,实现不同机器之间的通信

2.计算机之间实现通信的必要条件
1>ip地址
Internet Protocol Address,互联网协议地址,是联网设备和互联网之间的唯一标识符,在同一个网段中,ip地址是唯一的

ip是数字型的,是一个32位的整数,为了方便记忆,通常将这个32位的整数分成4个8位的二进制,每8位用一个圆点隔开,每个8位整数转化为了0~255之间的十进制整数,例如:10.0.135.156

a.ipv4:ip地址被分为四段
b.ipv6:ip地址被分为六段

ip地址分类
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.。。。 ~239.。。。
E类:用于实验 240.。。。~255.。。。
127.。。。:一般指的是本机的ip地址,localhost

ip地址可以唯一的确定网络上的一个通信实体,但是一个通信实体可以有多个通信程序同时提供网络服务,还需要端口


2>端口
应用程序发送或者收取信息的入口
数据的发送和接收都需要通过端口出入计算机,端口号用于唯一标识通信实体上用于网络通信的程序,同一台机器上不能两个应用程序共用一个端口,端口号的取值范围为:0~65535

分类
a.公认端口:0~1023
b.注册端口:1024~49151
c.动态或者私有的端口:1024~65535

注意:以后在使用的时候,尽量选择较大的端口号,较小的端口被特殊渠道占用


常用端口:
mysql:3306
oracle:1521
tomcat:8080
qq:4000


3>通信协议
需要通信的设备之间要实现相同的通信协议
网络分层:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

传输层协议:TCP和UDP TCP/IP
网络层IP协议:IPV4和IPV6.互联网协议
应用层协议:HTTP

a.TCP
Transission Control Protocol,传输控制协议,基于字节流的的传输层通信协议
特点:
a.安全的【确保接收方可以完全正确的获取发送方发送的消息】
b.面向连接的【数据传输之前必须要建立连接,所以在TCP需要建立连接的时间】
c.数据传输的效率低
d.传输的数据大小限制,一旦连接建立,双方可以按照统一的格式传输比较的大的数据


b.UDP
User Datagram Protocol,用户数据包协议,提供面向事务的简单的不可靠的信息传送服务
特点:
a.不安全【发送方所发送的数据并不一定以相同的次序到达接收方,或者接收方接收到的数据并不一定是正确的】
b.无连接【每个数据报包中都给完成的地址信息,所以无需建立发送方和接受方之间的连接】
c.数据传输的效率高
d.传输数据的大小必须限定在64k以内

c.HTTP
是一个被动式的协议,只有客户端给服务端主动发送请求的时候,服务端才会给客户端响应

3.InetAddress类的使用
是对ip地址的抽取和封装【File类是对文件或者文件夹路径的抽取和封装】
有两个子类:Inet4Address,Inet6Address

4.URLDecoder和URLEncoder
用于完成普通字符串和特殊字符字符串之间的转换,

原文地址:https://www.cnblogs.com/lsp-lsp/p/7344448.html