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.关闭

本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;

2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;

3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;

4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;

5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/292993.html

(0)
上一篇 2022年11月12日
下一篇 2022年11月12日

相关推荐

发表回复

登录后才能评论