UdpSend.java
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
public class UdpSend{
public static void main(String[] args) throws Exception{
DatagramSocket ds =new DatagramSocket();
String str="hello xiang shuo zhang hua 后面是IP和端口";
ds.send(new DatagramPacket(str.getBytes(), str.getBytes().length,InetAddress.getByName("192.168.0.103"),3000));
}//str.getBytes().length汉字需要字节的长度而不是字符的长度,不然会导致存储空间不够的问题
}
UdpRecive.java
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
public class UdpRecive{
public static void main(String[] args) throws Exception{
DatagramSocket ds=new DatagramSocket(3000);//套接字
byte[] buf=new byte[1024];//存放接收的数据字节数组
DatagramPacket dp=new DatagramPacket(buf, 1024);//dp接收数据对象,接收的数据放在buf里面
ds.receive(dp);//用来接收数据
System.out.println(
new String(dp.getData(),0,dp.getLength())+//getData()
dp.getAddress().getHostAddress()+
dp.getPort()
);
ds.close();
}
}