image-20250921125338905

网路编程三要素

image-20250921125718348

IP

image-20250921130246415

image-20250921131939036

端口号

image-20250921132102242

协议

image-20250921132555263

UDP发送数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//创建DatagramSocket对象
//空参:所有可用端口中随机一个进行使用
//有参:指定端口号进行绑定
DatagramSocket ds = new DatagramSocket();

//打包数据
String str = "泥嚎";
byte[] bytes = str.getBytes();

InetAddress byName = InetAddress.getByName("127.0.0.1");

int port = 10086;

DatagramPacket dp = new DatagramPacket(bytes,bytes.length,byName,port);

//发送数据
ds.send(dp);

//释放资源
ds.close();

UDP接收数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//创建DatagramSocket对象
//在接收的时候,一定要绑定端口
//而且绑定的端口一定要与发送的端口保持一致
DatagramSocket ds = new DatagramSocket(10086);

//接收数据包
//创建一个数组来接收数据
byte[] bytes = new byte[1024];
DatagramPacket dp = new DatagramPacket(bytes, bytes.length);

//解析数据包
byte[] data = dp.getData();
InetAddress address = dp.getAddress();
int length = dp.getLength();
int port = dp.getPort();


//释放资源
ds.close();

UDP三种通信方式

image-20250921152928921

TCP

image-20250921153400641