美文网首页
网络编程地址获取,发送端实现,接受端实现

网络编程地址获取,发送端实现,接受端实现

作者: 李霖神谷 | 来源:发表于2017-03-05 16:08 被阅读7次

    之前都是概念上的描述,现在是真正接触到网络编程。
    InetAddress这个类来专门描述ip这类事物。网络编程使用的类都在java.net包下.这个类无法创建对象,只能通过静态来调用。
    InetAddress.getByName("168.124.3.5");引号中可以是域名也可以是ip地址。
    getHostAddress方法返回的是当前设备的ip地址。
    getHostName方法返回的是当前设备的名字。

    import java.io.IOException;
    import java.net.InetAddress;
    import java.net.UnknownHostException;
    public class GuiDemo{
        public static void main(String[] args) throws IOException {
            InetAddress ip=InetAddress.getByName("168.124.3.5");
            String str=ip.getHostAddress();
            String name=ip.getHostName();
            System.out.println(str+"---"+name);
        }
    }
    

    我们想要在网络上进行通信只有ip地址是不行的,需要先创建两个套接字(socket)简称码头。
    DatagramSocket类能够接收发送数据。
    DatagramPacket对对象进行封包,拆包。

    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 UpDemo {
        public static void main(String[] args) throws SocketException, IOException {
            // 创建发送端对象
            DatagramSocket ds = new DatagramSocket();
            // 准备数据
            String value = "UDP发送端发送的数据:aaa";
            byte[] bu = value.getBytes();
            // 封装一个ip对象
            InetAddress ip = InetAddress.getByName("130.4216.36");
            // 将数据进行打包
            DatagramPacket dp = new DatagramPacket(bu, bu.length, ip, 1029);
            ds.send(dp);
            ds.close();
        }
    }
    

    相关文章

      网友评论

          本文标题:网络编程地址获取,发送端实现,接受端实现

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