码迷,mamicode.com
首页 > 其他好文 > 详细

UDP 发送与接收数据

时间:2017-12-05 14:30:10      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:java   socket   udp   网络编程   udp发送接收   

//UDP 发送端 package liu.net.udp; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.net.UnknownHostException; public class Send2 { public static void main(String[] args) throws IOException { /*UDP 发送步骤  *1. 建立DatagramSocket   *2. 建立 DatagramPacket  *3. 使用 DatagramSocket 的send 方法 发送数据  *4. 关闭 DatagramSocket  */ //定义发送使用的端口,接收的IP地址 try { DatagramSocket ds = new DatagramSocket(8899); String str = "发送给UDP的数据"; byte[] buf = str.getBytes(); InetAddress ip = InetAddress.getByName("127.0.0.1"); DatagramPacket dp = new DatagramPacket(buf,buf.length,ip,8890); ds.send(dp); ds.close(); } catch (SocketException e) { e.printStackTrace(); } } } //UDP 接收端 package liu.net.udp; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class Receive2 { public static void main(String[] args) throws IOException { /*UDP接收步骤:  * 使用 DatagramSocket(int port) 建立socket(套间字)服务。(我们注意到此服务即可以接收,又可以发送),port指定监视接受端口。  *定义一个数据包(DatagramPacket),储存接收到的数据,使用其中的方法提取传送的内容  *通过DatagramSocket 的receive方法将接受到的数据存入上面定义的包中  *使用DatagramPacket的方法,提取数据。  *关闭资源。  */ //1.使用 DatagramSocket(int port) 建立socket(套间字)服务。 // (我们注意到此服务即可以接收,又可以发送),port指定监视接受端口。 DatagramSocket ds = new DatagramSocket(8890); //2.定义一个数据包(DatagramPacket),储存接收到的数据,使用其中的方法提取传送的内容 byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf,0,buf.length); //3.通过DatagramSocket 的receive方法将接受到的数据存入上面定义的包中 ds.receive(dp); //4.使用DatagramPacket的方法,提取数据。 //获取接收的数据。数据报包也包含发送方的 IP 地址和发送方机器上的端口号。  String receiveData = new String(dp.getData(),0,dp.getLength()); String sourceAddress = dp.getAddress().getHostAddress(); int sourcePort = dp.getPort(); System.out.println("原地址:"+sourceAddress+"  发送端端口号:"+sourcePort); System.out.println("收到的数据内容:"+receiveData); //5.关闭资源。 ds.close(); } }


UDP 发送与接收数据

标签:java   socket   udp   网络编程   udp发送接收   

原文地址:http://blog.51cto.com/11359581/2047514

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!