java udp网络编程

import java.net.*;



/*

通过UDP传输发送文字数据

1.建立socket服务

2.提供数据,并封装到数据包中

3.通过sokect服务的发送功能,将数据包发送出去

4.关闭资源

*/

class udpsend

{

    public static void main(String[] arg) throws Exception {

        //1.创建UDP服务。通过DatagramSocket对象

        DatagramSocket ds = new DatagramSocket(1234);

        

        //2.确定数据并封装成数据包

        byte[] buf = "udp is coming".getBytes();

        DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),4567);

        

        //3.通过socket服务,将已有的数据包发送出去

        ds.send(dp);

        

        //4.关闭资源

        ds.close();

        

        

        }

    }



/*需求:定义一个应用程序勇于接收UDP协议传输的数据



思路:

1.定义udpsocket服务,通常会监听一个端口

2.定义一个数据包。因为要存储接收到的字节数据

因为数据包对象中有更多功能可以提取字节数据中的不同数据信息

3.通过socket服务的receive方法将收到的数据存入已定义好的数据包中

4.通过数据包对象的特有功能,将这些不同的数据取出,打印在控制台上

5.关闭资源

*/

class udprece

{

    public static void main(String[] args) throws    Exception{

        //1.创建udp,建立端点

        DatagramSocket ds=new DatagramSocket(4567);

        

        //2.定义数据包,用于存储

        byte[] buf=new byte[1024];

        DatagramPacket dp=new DatagramPacket(buf,buf.length);

        

        //3.通过receive方法间接收到的数据存入数据包中

        ds.receive(dp);

        

        //4.通过数据包的方法获取其中的数据

        String ip=dp.getAddress().getHostAddress();

        

        String data=new String(dp.getData(),0,dp.getLength());

        

        int port=dp.getPort();

        

        System.out.println(ip+":"+port+"------"+data);

        

        //5.关闭资源

        ds.close();

        

        }

    }

 

你可能感兴趣的:(java)