Java基础 | NetCode
1.网络编程概述
- 作为网络语言,java提供了对网络应用程序的支持
- 提供了一系列网络类库java.net库,实现网络的连接
- 通过网络协议直接或间接的实现计算机的数据交换,通讯
- 网络编程的主要问题,如何精准定位网络上一或多台主机,或者主机上的特定的应用,确定主机后如何精准的进行数据传输。
2.通讯要素
2.1IP概述
- IP作为计算的唯一标识,分为IPV4和IPV6
- 地址又分为公网地址和私有地址
- 使用inetAddress类表示Ip
- 本机回路地址:127.0.0.1 对应名称localhost
2.2Port概述
- 端口号对应计算机上运行的进程,每个进程的端口号都不相同
- 公认端口 例如FTP为21 Telnet为23
- 注册端口 例如Tomcat8080 MySQL3306
- 动态私有端口 49152-65535
- 端口与IP进行组合得出网络套接字Socket
2.3网络通讯协议
- OSI参考模型:模型过于理想化,未能在Internet进行广泛推广
- TCP/IP参考模型:事实上的国际化标准
2.4通讯协议图
2.5InetAddress类
1 |
|
3.传输层
- TCP/IP协议簇
- 传输层两个重要协议TCP和UDP
- TCP为传输控制协议
- IP则为网络互连协议
3.1TCP协议
- 使用前,需建立TCP连接,形成数据传输通道
- 传输前进行”三次握手”方式,点对点通讯,是可靠的
- 进行通讯的两个应用进程 客户端 服务端
- 连接中可进行大量数据传输,类似于打电话
- 传输完毕,需释放已建立的连接,效率低
TCP us at java
1 |
|
3.2UDP协议
- 无需建立连接,把数据源目的封装为数据包
- 数据包的大小限制在64kb内
- 发送不管对方是否准备好,接收方收到也不确定,是不可靠的
- 可广播发送,类似于发短信
- 发送数据结束时,无需释放资源,开销小,速度快
- UDP是无需握手的,不管对面服务器是否存在直接发送一条数据过去
UDP us at java
1 |
|
4.URL类
- 通过URL类可以实现对网络资源的获取
- 是单线程的一种体现
1 |
|
Java基础 | NetCode
http://example.com/2022/06/17/Java初级部分/SEImprove/NetCode/