UDP 实例

来源:互联网 发布:怎么登录熊片数据库 编辑:程序博客网 时间:2024/05/19 19:58

1、UPD接受端

import java.net.DatagramPacket;import java.net.DatagramSocket;public class MyUdpAccept {    public static void main(String [] args) throws  Exception{      byte[] buf=new byte[1024];//创建一个长度为1024的字节数组,用于接收数据        //定义一个DatagramSocket对象,监听的端口号8954        DatagramSocket ds=new DatagramSocket(8954);        //定义一个DatagramPacket对象,用于接受数据        DatagramPacket dp=new DatagramPacket(buf,1024);        System.out.println("等待接受数据");        ds.receive(dp);//等待接受数据,如果没有数据则会阻塞        //调用DatagramPacket的方法获得接收的信息,包括内容,长度、IP地址和端口号        String str=new String(dp.getData(),0,dp.getLength()) + "from" +                dp.getAddress().getHostAddress()+":"+dp.getPort();        System.out.println(str); //打印接受到的信息        ds.close();    }}

创建一个接收端程序,用来接收数据。在创建DatagramSocket对象时,指定其监听端口8954,这样发送端就能通过这个端口和接受端进行通信了。
ds.receive(dp);//等待接受数据,如果没有数据则会阻塞。表示只有接受数据时才会继续向下执行。

2、UDP发送端

import java.net.DatagramSocket;import java.net.InetAddress;public class MyUdpSend {    public static void main(String [] args) throws  Exception{        //创建一个DatagramSocket对象        DatagramSocket ds=new DatagramSocket(3000);        String str="Hello World";//要发送的数据        //创建一个要发送的数据包,包括发送数据,数据长度,接受端IP地址以及端口号        DatagramPacket dp=new DatagramPacket(str.getBytes(),str.length(),                InetAddress.getByName("localhost"),8954);        System.out.println("发送消息");        ds.send(dp);  //发送数据        ds.close();   //释放资源    }}

参考文档:
Java基础入门 传智博客高教产品研发部 

本人郑重声明,本博客所著文章、图片版权归权利人持有,本博只做学习交流分享所用,不做任何商业用途。访问者可將本博提供的內容或服务用于个人学习、研究或欣赏,不得用于商业使用。同時,访问者应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人的合法权利;如果用于商业用途,须征得相关权利人的书面授权。若以上文章、图片的原作者不愿意在此展示內容,请及时通知在下,將及时予以刪除。

原创粉丝点击