编程语言
首页 > 编程语言> > JAVA基础知识六(网络编程、反射)

JAVA基础知识六(网络编程、反射)

作者:互联网

十、网络编程

计算机网络:

总结:将地理位置不同的计算机设备进行连接,实现数据的共享。

网络编程:

总结:在已有网络的环境下,按照规定实现接收和发送数据即可。

网络模型:

1.网络编程三要素:

1. IP地址:

计算网络中,每个计算机的唯一标识。

IPV4: 由32bit组成,即4个字节,每个字节范围0~255,4个数字组成。

IPV6: 有128bit组成,即16个字节,由8组十六进制数组成

DNS:域名解析器 记忆IP地址不方便,出现了使用名称的表示方式

负责解析名称的,最终转为IP地址形式。

本地回还地址:127.0.0.1 localhost

2. 端口号:

计算中每个应用程序的标识,范围是0~65535 ,其中0~1023被系统占用

3. 协议:

双方通信的规则。

常用:UDP 和 TCP

用户数据报包协议

面向无连接,不需要与接收端建立连接,直接发送数据。

不可靠协议,因为数据有可能会丢失,效率高。

传输控制协议

面向有连接,必须双方建立连接受才能进行数据传输。

可靠协议,不会有数据丢,效率低。

三次握手模式确定连接。

A 发 B 接

第一次,A--->B

第二次:B接到,并给A回信息

第三次:A接到

比如:打电话

InetAddress

在java中是面向对象思想,因此表示计算机唯一标识的这些数字也看成是一类事物,因此就有对应的对象进行描述--InetAddress。

java.net包。

InetAddress getByName(String host) :根据host获取InetAddress对象

host:可以是主机名或主机的IP地址形式

InetAddress getLocalhost() : 获取本地主机的InetAddress对象

String getHostName(): 获取主机名

String getHostAddress(): 获取主机地址

2.UDP

UDP协议

//创建InetAddress对象
//没有构造方法,只有几个静态方法可以返回这一个InetAddress 类型的对象
    InetAddress inetAddress = InetAddress.getByName("baidu.com");//可以是机器名称,可以是IP地址
    System.out.println(inetAddress);
    String hostName = inetAddress.getHostName();
    System.out.println(hostName);

1.发送

两端:接收端 和 发送端

端点对象: Datagramsocket

包对象: DatagramPacket

1.创建Datagramsocket对象

2.创建DatagramPacket对象,并将数据和接收端信息封装到对象中

3.调用send方法发送

4.关闭

//创建端点对象
        DatagramSocket ds = new DatagramSocket();
        //1.创建包对象
        //2.设置接收端信息,内容信息
        byte[] massage = "你好".getBytes();
        int len = massage.length;
        InetAddress ip = InetAddress.getByName("local");
        int port = 9999;
        //设置四个参数,发送的信息(字节数组类型)、长度、对方的ip、对方的端口号
        DatagramPacket dp = new DatagramPacket(massage,len,ip,port);
        //3.发包
        ds.send(dp);
        System.out.println("数据已发送");
        //4.关闭

标签:java,函数,学习,系统,语言,平台,方法,安装,
来源: