网络编程

获取ip地址

   InetAddress类成员方法
        * static InetAddress getLocalHost()
            * 获得本地主机IP地址对象
        * static InetAddress getByName(String host)
            * 根据IP地址字符串或主机名获得对应的IP地址对象

        * String getHostName();获得主机名
        * String getHostAddress();获得IP地址字符

public class InetAddressDemo {
    public static void main(String[] args) throws UnknownHostException {
        InetAddress byName = InetAddress.getByName("DESKTOP-SDL9NNV");
        System.out.println(byName);    //  DESKTOP-SDL9NNV/192.168.3.26
        InetAddress byName1 = InetAddress.getByName("192.168.3.26");
        System.out.println(byName1);  //  /192.168.3.26

        String s1 = byName.getHostName();
        System.out.println(s1);//DESKTOP-SDL9NNV
        String s2 = byName.getHostAddress();
        System.out.println(s2);//192.168.3.26

   }
}

UDP协议的特点
    * 面向无连接的协议
    * 发送端只管发送,不确认对方是否能收到。
    * 基于数据包进行数据传输。
    * 发送数据的大小限制64K以内
    * 因为面向无连接,速度快,但是不可靠。

UDP协议的使用场景
    * 即时通讯
    * 在线视频
    * 网络语音电话

UDP协议相关的两个类
    * DatagramPacket
        * 数据包对象
        * 作用:用来封装要发送或要接收的数据,比如:集装箱
    * DategramSocket
        * 发送对象
        * 作用:用来发送或接收数据包,比如:码头

DatagramPacket类构造方法
    * DatagramPacket(byte[] buf, int length, InetAddress address, int port)
        * 创建发送端数据包对象
        * buf:要发送的内容,字节数组
        * length:要发送内容的长度,单位是字节
        * address:接收端的IP地址对象
        * port:接收端的端口号
    * DatagramPacket(byte[] buf, int length)
        * 创建接收端的数据包对象
        * buf:用来存储接收到内容
        * length:能够接收内容的长度

DatagramPacket类常用方法
    * int getLength() 获得实际接收到的字节个数

 



DatagramSocket类构造方法
    * DatagramSocket() 创建发送端的Socket对象,系统会随机分配一个端口号。
    * DatagramSocket(int port) 创建接收端的Socket对象并指定端口号

DatagramSocket类成员方法
    * void send(DatagramPacket dp) 发送数据包
    * void receive(DatagramPacket p) 接收数据包

 

网络编程

上一篇:CAD中的“绘图工具——多线段”


下一篇:生产级别的Ceph集群搭建