/*
通过udp传输方式,将数据传送出去
1.建立udpsocket服务
2.提供数据,并将数据封装到数据包中
3.通过socket服务发送功能,将数据包发送出去
4.关闭资源
*/
/*
定义应用程序,接受udp协议传输数据并处理
1.定义udpsocket服务
2.定义数据包,存储接受到的字节数据,
数据包对象中有更多更能提取字节数据中的不同数据信息
3.通过socket服务receive方法接受数据包,存入已定义好的数据包中
4.通过数据包对象特有功能,将不同数据取出打印到控制台上
5.关闭资源
*/
发送端
import java.net.*;
public class UdpSend {
public static void main(String[] args) throws Exception{
DatagramSocket ds = new DatagramSocket();
byte[] buf = "ShanShanbox".getBytes();
DatagramPacket dp = new DatagramPacket(buf, buf.length, InetAddress.getByName(""), 10086);
ds.send(dp);
ds.close();
}
}
接收端
import java.net.*;
public class UdpRece {
public static void main(String[] args) throws Exception{
DatagramSocket ds = new DatagramSocket(10086);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);
String ip = dp.getAddress().getHostAddress();
int port = dp.getPort();
String data = new String(dp.getData(), 0, dp.getLength());
System.out.println(data);
System.out.println(ip+":"+port+" => "+data);
ds.close();
}
}