JAVA 是现代网络编程中使用的主要编程语言之一 。网络编程支持不仅是指提供 API 以在两台或多台远程计算机之间建立通信 , 而且还提供所有必要的手段 , 即使是新手程序员也可以轻松访问网络资源 。
Java 中有一个专门用于此原因的完整包 , 称为 java.net 包 。到目前为止 , 网络是一个庞大而复杂的主题 , 但在本文中 , 我们将尝试从 Java API 的角度探索网络编程的一些关键点 。
网络概述
套接字的概念构成了现代网络编程的基础 , 它指的是网络中两台计算机之间的通信端点 。套接字编程使我们能够一次在多个客户端之间建立通信 , 通信的信息类型也根据与套接字一起使用的端口号而有所不同 。因此 , 一台计算机不仅可以与多个客户端进行通信 , 还可以与多种类型的信息进行通信 。
在网络传输过程中 , 数据被分成更小的块 , 称为数据包 , 然后通过网络发送到一个地址 。这种通信的规范称为路由协议 。网际协议(IP)是一种将信息传输到目标地址但不保证所述数据包将被传递的低级协议 。这意味着根据该协议的通信被标记为不可靠 。还有另一种称为传输控制协议 (TCP) 的协议 , 它是一种高级协议 , 它通过对未传递的数据包进行分类和重新传输到目标地址来以可靠的方式管理数据包的传输 。
因此 , 该协议称为 TCP/IP 。该协议预留了1024个端口 , 用于确定一些高阶协议 。为了消除混淆 , 请注意这些特定协议决定了传输信息的类型 , 而低级协议 (TCP/IP) 只关心如何通过将信息调整为称为数据包的更小块来传输数据的机制 , 而无需关心它包含的信息类型 。
我们熟悉其中许多特定协议 。通常 , 特定的端口号由特定的协议标识 。但是 , 出于安全原因 , 服务器管理员可能会覆盖此设置 。但是 , 一般来说 , 它们与端口号关联如下:文件传输协议或 FTP (21)、Telnet (23)、简单邮件传输协议或 SMTP (25)、whois (43)、超文本传输协议或 HTTP ( 80) 等等 。在特定端口中接收到的通信决定了客户端将如何与接收到的数据进行交互 。例如 , 在端口 80 (HTTP) 中接收到的数据意味着只有浏览器才能理解;这意味着它包含超文本页面和图像 。
文章插图
最后 , 网络通信的关键组成部分是计算机本身的地址 , 称为 IP(Internet 协议)地址 。网络中的每台计算机都必须有一台 。IPv4(IP 地址版本 4)地址是一个 32 位值 , 组织为四个 8 位值块 。IP 地址的另一个最新发展是 IPv6(版本 6) , 它使用 8 个 16 位块中的 128 位值来表示一个地址 。一个比另一个有几个优点和缺点 , 但是在编程时 , 我们不必过多关注它们 , 因为它是由 Java 自动处理的 。
Java中的网络
Java 支持 TCP 和 UDP 协议 , 其中 TCP 用于跨网络的可靠的面向连接、基于流的 I/O , 而 UDP 用于快速、不可靠的点对点数据报连接 。与 UDP 相关的标签“不可靠性”有点轻描淡写 。在实践中 , 通过 UDP 传输数据是相当可靠的 , 只有在通信高度强调绝对可靠性时才应该放弃使用这种模型 。除此之外 , UDP 在大多数情况下都非常有效 , 应出于所有实际原因使用 。
Java URI 类
Java 有另一个类 , 称为 URI(统一资源标识符) 。URI 是标识资源的标准方法 。它类似于 URL 类;实际上 , URL 是 URI 类的一个子集 。从概念上讲 , 除了标识 URI 所用的资源之外 , URL 还使我们能够定位资源 。这意味着所有的 URL 都是 URI , 但反之则不然 。因此 , 有了这个想法 , 在 Java 中选择合适的类是不是很困难?无法决定选择什么 - URI 或 URL?没有更多的困惑 。
Java 提供了诸如 HttpCookie、CookieManager、CookieHandler 之类的类 , 以及诸如 CookiePolicy 和 CookieStore 之类的接口来处理有状态的 HTTP 会话 , 所有这些都在 java.net 包中 。这些类在我们通常创建 HTTP 会话的 Servlet 和 JSP 工作时非常方便 。
在 Java 中创建 TCP 客户端和服务器
在 Internet 上的主机之间创建双向、可靠、点对点、基于流的连接的最简单方法是实现 TCP 套接字 , Java 提供了从头开始实现的所有必要方法 。
推荐阅读
- 网络工程师必备的15个常用网络端口解释
- 3款NAS应用免费,能防网络攻击!教程合集
- 网络|“老司机”不开车 还能怎么火?
- 怎样从网上推广自己的产品?怎么在网络推广自己的产品
- bot是什么意思?
- 真我|工业设计最佳的骁龙8+旗舰!realme GT2大师探索版或6月发
- 购物分享网络优化有哪些
- 惠普1005打印机怎么连接网络-惠普1005w无线打印机怎么连接wifi-
- 网络用语集美们什么意思 集美什么梗
- 什么是网络营销的定义介绍