1.信息发送
<span style="font-size:18px;">package com.hechao;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
/**
* UDP信息发送
* @author 何超
*
*/
public class MessageSender {
public static void main(String[] args) {
DatagramSocket socket = null; //创建数据报套接字
try {
socket = new DatagramSocket();
byte[] buffer = ("何超,你好!").getBytes("GBK"); //消息内容转换为字节数组
DatagramPacket p = new DatagramPacket(buffer, buffer.length,
InetAddress.getByName("192.168.1.115"), 1234); //创建数据发送数据报包
socket.send(p); //发送数据报包
}
catch (IOException e) {
e.printStackTrace();
}
finally{
if(socket != null){
socket.close(); //关闭数据报套接字
}
}
}
}
</span>
<span style="font-size:18px;">package com.hechao;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
/**
* UDP接收消息
* @author 何超
*
*/
public class MessageReceiver {
public static void main(String[] args) {
DatagramSocket socket = null;
try {
socket = new DatagramSocket(1234);
byte[] buffer = new byte[256];
DatagramPacket p = new DatagramPacket(buffer, buffer.length);
while (true) {
socket.receive(p);
byte[] data = new byte[p.getLength()];
System.arraycopy(p.getData(), 0, data, 0, data.length);
System.out.println(new String(data, "GBK"));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if(socket != null){
socket.close();
}
}
}
}
</span>