1.网络编程要素:
IP地址:每个设备在网络中的唯一标识。
端口号:每个程序在设备上的唯一标识。
协议:为计算机网络中进行数据交换而建立的规则或约定的集合。
UDP: 面向无连接,数据不安全,速度快,不区分客户与服务端。
TCP: 面向连接(三次握手),数据安全,速度略低,分客户端和服务端。
⼦⽹掩码:用来指定IP地址哪些位是⽹络号、哪些是主机号。
⼦⽹掩码只有⼀个作⽤,就是将某个IP地址划分成⽹络地址和主机地址两部分⼦⽹掩
2.socket对象的使用:
概念:
套接字使用TCP提供了两台计算机之间的通信机制。 客户端程序创建一个套接字,并尝试连接服务器的套接字。当连接建立时,服务器会创建一个 Socket 对象。客户端和服务器现在可以通过对 Socket 对象的写入和读取来进行通信。
创建socket:
import java.net.DatagramSocket;
import java.net.ServerSocket;
import java.net.Socket;
# 创建一个基于UDP协议的Socket对象
DatagramSocket ds = new DatagramSocket();
# 创建一个基于TCP协议的Socket客户端对象
Socket socket = new Socket("127.0.0.1", 8080);
# 创建一个基于TCP协议的Socket服务端对象
ServerSocket ss = new ServerSocket(8080);
创建⼀个tcp socket(TCP套接字):
import java.net.ServerSocket;
import java.net.Socket;
# 创建一个基于TCP协议的Socket客户端对象
Socket socket = new Socket("127.0.0.1", 8080);
# 创建一个基于TCP协议的Socket服务端对象
ServerSocket ss = new ServerSocket(8080);
创建⼀个tcp socket(UDP套接字):
import java.net.DatagramSocket;
# 创建一个基于UDP协议的Socket对象
DatagramSocket ds = new DatagramSocket();
3.UDP协议:
概念:
UDP (user datagram protocol)---⽤户数据报协议,是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。
特点:
--UDP是⾯向⽆连接的通讯协议,UDP数据包括⽬的端⼝号和源端⼝号信息,由于通讯不需要连接,所以可以实现⼴播发送。
--UDP传输数据时有⼤⼩限制,每个被传输的数据报必须限定在64KB之内。
--UDP是⼀个不可靠的协议,发送⽅所发送的数据报并不⼀定以相同的次序到达接收⽅。
发送数据:
步骤:
1、创建客户端套接字
2、发送/接收数据
3、关闭套接字
接受数据:
4.TCP:传输控制协议
TCP协议是建立在lP协议之上的,简单地说,IP协议只负责发数据包,不保证顺序和正确性,而TCP协议负责控制数据包传输,它在传输数据之前需要先建立连接,建立连接后才能传输数据,传输完后还需要断开连接。TCP协议之所以能保证数据的可靠传输,是通过接收确认、超时重传这些机制实现的。并且,TCP协议允许双向通信,即通信双方可以同时发送和接收数据。