java的UDP协议通讯的客户端

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
 
/**
 * UDP协议通讯的客户端
 * @author soft01
 *
 */
public class Server {
public static void main(String[] args) {
try{
/*
 * 接收数据的大致流程
 * 1.创建Socket
 * 2 准备接收数据用的包
 * 3 通过Socket接收数据,并存入接收的数据的包中
 * 这一步之后 接收数据的包会有变化
 *  1:包中含 有接收到的远端计算机发送的过来的数据
 *  2:包记录了这次实际接收的数据长度
 *  3:包记录了远端计算机地址信息
 * 4获取包中 数据
 */
//1
DatagramSocket socket=new DatagramSocket(8088);
//2
byte[] data=new byte[1000];
DatagramPacket packet=new DatagramPacket(data, data.length);
//3
socket.receive(packet);
//4
String message=new String(data,0,packet.getLength(),"Utf-8");
System.out.println("客户端说:"+message);
/*
 * 回复客户端
 */
//2
message="你好客户端";
data=message.getBytes("UTF-8");
//3
InetAddress address=packet.getAddress();
/*
 * TCP协议的端口与UDO协议的端口是不冲突的
 */
//int port=8088;
int port=packet.getPort();
//4
/*数据所在 数组
 * 数组长度
 * 远端地址
 * 远端端口
 *
 */
 packet=new  DatagramPacket(data,data.length,address,port);
//发送
socket.send(packet);
}catch(Exception e){
e.printStackTrace();
}
}
}

你可能感兴趣的:(java,UDP,通讯)