package chap9;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
/**
* UDP服务端
*
* @author soft01
*
*/
public class Client {
public static void main(String[] args) {
try {
/*
* UDP基本的流程: 1 创建Socket 2 准备要发送的数据 3 准备远端计算机地址信息 4 打包(设置数据 设置地址) 5
* 通过Socket将包发送至远端 若学要再次发送数据 重复2-5
*/
// 1
DatagramSocket socket = new DatagramSocket();
// 2
String message = "你好服务端";
byte[] data = message.getBytes("UTF-8");
// 3
InetAddress address = InetAddress.getByName("localhost");
/*
* TCP协议的端口与UDO协议的端口是不冲突的
*/
int port = 8088;
// 4
/*
* 数据所在 数组 数组长度 远端地址 远端端口
*
*/
DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
// 发送
socket.send(packet);
/*
* 接收服务端发送回来的信息
*/
data = new byte[1000];
packet = new DatagramPacket(data, data.length);
// 3
socket.receive(packet);
// 4
message = new String(data, 0, packet.getLength(), "Utf-8");
System.out.println("服务端说:" + message);
} catch (Exception e) {
e.printStackTrace();
}
}
}