发送数据
public class sendmessage {public static void main (String[] args) throws IOException {DatagramSocket ds=new DatagramSocket();//打包数据开始String s="hello world";byte[] b=s.getBytes();//获取InetAddress的对象InetAddress address=InetAddress.getByName("127.0.0.1");//端口号int port=10086;//打包数据结束DatagramPacket dp=new DatagramPacket(b,b.length,address,port);//发送数据ds.send(dp);//释放数据ds.close();}
}
接受数据
public class receivemessage {public static void main (String[] args) throws IOException {//接受的时候一定要绑定端口//绑定的端口一定要和发送的端口保持一致DatagramSocket ds=new DatagramSocket(10086);//接受数据包byte[] b=new byte[1024];DatagramPacket dp=new DatagramPacket(b,b.length);ds.receive(dp);//解析数据包//获取数据byte[] result=dp.getData();int len=dp.getLength();//获取发送方的地址InetAddress address=dp.getAddress();//获取发送方的发送端口int port=dp.getPort();System.out.println(new String(result,0,len));System.out.println("发送方的地址"+address+"发送方的发送端口"+port);ds.close();}
}
要先运行接收端再运行发送端,否则无法收到数据
初学者,见解不足,如有错误请指出