美文网首页
网络编程---获取ip地址 使用UDP协议发送与接收数据

网络编程---获取ip地址 使用UDP协议发送与接收数据

作者: 李霖神谷 | 来源:发表于2017-06-08 16:48 被阅读705次

    获取ip地址

    import java.io.IOException;
    import java.net.InetAddress;
    //inetAddress类演示,它主要是封装关于Ip的类
    public class IpClass{
        public static void main(String[] args) throws IOException{
            InetAddress ip=InetAddress.getByName("172.27.35.1");//该类没有构造方法,无法创建对象,通过类名来调用方法
            String st_ip=ip.getHostAddress();//该方法返回的是字符串类型的ip地址
            String name=ip.getHostName();//改方法返回的是主机名
            System.out.println(st_ip+"---"+name);
        }
    }
    

    UDP协议发送端

    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    public class UDPclass{
        public static void main(String[] args) throws IOException{
            //创建发送端对象,此类无法对对象进行包装,发送对象需要对数据进行打包
            String value ="我是一个有用的资源";
            DatagramSocket d=new DatagramSocket();
            //为打包数据准备资源
            byte[] b=value.getBytes();
            InetAddress ip=InetAddress.getByName("172.27.35.1");
            DatagramPacket da=new DatagramPacket(b,b.length,ip,8080);
            d.send(da);
            d.close();
        }
    }
    

    UDP协议接收端

    
    import java.io.IOException;
    import java.net.DatagramPacket;
    import java.net.DatagramSocket;
    import java.net.InetAddress;
    
    public class UDPclass2 {
        public static void main(String[] args) throws IOException {
            // 创建接收端对象
            DatagramSocket d = new DatagramSocket(8080);
            // 创建一个数组来存放发送过来的数据
            byte[] bt = new byte[1024];
            // 对数据进行拆包
            DatagramPacket dg = new DatagramPacket(bt, bt.length);
            // 拆完包后就可以进行接收数据了
            d.receive(dg);
            // 对接受过来的数据进行处理
            int length = dg.getLength();
            InetAddress ip = dg.getAddress();
            String ip_st = ip.getHostAddress();
            int poirt = dg.getPort();
            System.out.println(length + "--" + ip_st + "--" + poirt);
            d.close();
        }
    }
    

    相关文章

      网友评论

          本文标题:网络编程---获取ip地址 使用UDP协议发送与接收数据

          本文链接:https://www.haomeiwen.com/subject/vbktqxtx.html