进阶day11-网络编程_UDP的客户端实现
This commit is contained in:
45
javaSE-day11/src/com/inmind/udp02/UdpClientDemo02.java
Normal file
45
javaSE-day11/src/com/inmind/udp02/UdpClientDemo02.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package com.inmind.udp02;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.*;
|
||||
|
||||
/*
|
||||
在java中使用DatagramSocket来表示UDP的客户端和服务端
|
||||
构造方法
|
||||
DatagramSocket() 创建客户端的Socket对象,系统会随机分配一个端口号。
|
||||
DatagramSocket(int port) 创建服务端的Socket对象,并指定端口号。
|
||||
|
||||
常用方法:
|
||||
void send(DatagramPacket p) 发送数据包
|
||||
void receive(DatagramPacket p) 使用数据包接收数据
|
||||
|
||||
DatagramPacket :数据包
|
||||
DatagramPacket(byte[] buf, int length, InetAddress address, int port) 创建发出去的数据包对象
|
||||
DatagramPacket(byte[] buf, int length) 创建接收数据的数据包对象
|
||||
int getLength() 返回要发送的数据的长度或接收到的数据的长度
|
||||
|
||||
需求:使用UDP实现快速通信,实现1发1收
|
||||
*/
|
||||
public class UdpClientDemo02 {
|
||||
//UDP客户端实现
|
||||
public static void main(String[] args) throws IOException {
|
||||
//1.创建客户端对象(丢飞饼的人)
|
||||
DatagramSocket client = new DatagramSocket();
|
||||
|
||||
//2.创建数据包对象,封装要发出去的数据(创建一个飞饼)
|
||||
/*
|
||||
DatagramPacket(byte[] buf, int length, InetAddress address, int port) 创建发出去的数据包对象
|
||||
参数一:封装要发出去的数据的字节数组
|
||||
参数二:发送出去的字节的长度
|
||||
参数三:服务端的IP地址(找到服务器)
|
||||
参数四:服务端的程序的端口号
|
||||
*/
|
||||
byte[] bytes = "我爱java,java爱我".getBytes();
|
||||
DatagramPacket packet = new DatagramPacket(bytes,bytes.length, InetAddress.getLocalHost(),10022);
|
||||
|
||||
//3.客户端正式发送数据包出去(丢飞饼)
|
||||
client.send(packet);
|
||||
System.out.println("客户端数据发送完毕~~~");
|
||||
client.close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user