Java工程师必知词汇:网络编程

简介: 网络编程指的是多台主机之间的数据通讯操作。网络的核心定义在于:有两台以上的电脑就称为网络。网络连接的目的不仅仅是为了进行电脑的串联,更多的情况下是为了进行彼此之间的数据通讯,而在通讯的实现上就产生了一系列的处理协议:IP、TCP、UDP等等,也就是说所谓的网络编程,实际上实现的就是一个数据的通讯操作而已,只不过这个通讯操作需要分为客户端和服务端。

|名词定义|


网络编程指的是多台主机之间的数据通讯操作。

网络的核心定义在于:有两台以上的电脑就称为网络。网络连接的目的不仅仅是为了进行电脑的串联,更多的情况下是为了进行彼此之间的数据通讯,而在通讯的实现上就产生了一系列的处理协议:IP、TCP、UDP等等,也就是说所谓的网络编程,实际上实现的就是一个数据的通讯操作而已,只不过这个通讯操作需要分为客户端和服务端。

网络程序的开发的两种模型:
1、C/S(Client/Server、客户端与服务端):要开发出两套程序,一套程序为客户端,另外一套为服务端,如果现在服务端发生了改变之后客户端也应该进行更新处理,这种开发可以由开发者自定义传输协议,并且使用一些比较私密的端口,所以安全性是比较高的,但是开发与维护成本比较高;
特点
服务端的特征:
被动的角色(从)。
等待来自客户端的请求。
处理请求并传回结果。
客户端的特征:
主动的角色(主)。
发送请求。
等待直到收到响应。

C/S分为两种开发:TCP(可靠的数据连接)、UDP(不可靠的数据连接);
TCP的程序开发是网络程序的最基本的开发模型,其核心的特点是使用两个类实现数据的交互处理:ServerSocket(服务端)、Socket(客户端)。ServerSocket的主要目的是设置服务器的监听端口,而Socket需要指明要连接的服务器地址和端口。

数据报发送与接收(UDP),基于数据报的网络编程实现,如果想要实现UDP程序需要两个类:DatagramPacket(数据内容)、DatagramSocket(网络的发送与接收)。数据报就好比发送的短消息一样,客户端是否收到与发送者无关。
UDP发送的数据一定是不可靠的,但是TCP由于需要保证可靠的连接,所以所需要的服务器资源就越多。

2、B/S(Browser/Server、浏览器与服务端):只开发一套服务端的程序,而后利用浏览器作为客户端进行访问,这种开发与维护的成本较低(只有一套程序),但是由于其使用的是公共的HTTP协议并且使用的公共的80端口,所以其安全性相对较差,现在的开发基本上以“B/S”结构为主。

|参考资料|


[1] 阿里云大学Java视频课程
[2] Java开发者
[3] 维基百科

目录
打赏
0
0
0
0
9
分享
相关文章
单位网络监控软件:Java 技术驱动的高效网络监管体系构建
在数字化办公时代,构建基于Java技术的单位网络监控软件至关重要。该软件能精准监管单位网络活动,保障信息安全,提升工作效率。通过网络流量监测、访问控制及连接状态监控等模块,实现高效网络监管,确保网络稳定、安全、高效运行。
115 11
Java网络编程,多线程,IO流综合小项目一一ChatBoxes
**项目介绍**:本项目实现了一个基于TCP协议的C/S架构控制台聊天室,支持局域网内多客户端同时聊天。用户需注册并登录,用户名唯一,密码格式为字母开头加纯数字。登录后可实时聊天,服务端负责验证用户信息并转发消息。 **项目亮点**: - **C/S架构**:客户端与服务端通过TCP连接通信。 - **多线程**:采用多线程处理多个客户端的并发请求,确保实时交互。 - **IO流**:使用BufferedReader和BufferedWriter进行数据传输,确保高效稳定的通信。 - **线程安全**:通过同步代码块和锁机制保证共享数据的安全性。
83 23
Java网络编程封装
Java网络编程封装原理旨在隐藏底层通信细节,提供简洁、安全的高层接口。通过简化开发、提高安全性和增强可维护性,封装使开发者能更高效地进行网络应用开发。常见的封装层次包括套接字层(如Socket和ServerSocket类),以及更高层次的HTTP请求封装(如RestTemplate)。示例代码展示了如何使用RestTemplate简化HTTP请求的发送与处理,确保代码清晰易维护。
Java工程师如何理解张量?
刚接触AI和PyTorch,理解“张量(Tensor)”是入门关键。张量可类比为Java中的多维数组,但更强大,尤其在AI领域支持GPU加速、自动求导等特性。它不仅能高效存储数据,还能进行复杂运算,是深度学习的核心数据结构。掌握张量的维度、数据类型及GPU加速特性,对学习PyTorch至关重要。
66 3
JAVA网络IO之NIO/BIO
本文介绍了Java网络编程的基础与历史演进,重点阐述了IO和Socket的概念。Java的IO分为设备和接口两部分,通过流、字节、字符等方式实现与外部的交互。
Nping工具详解:网络工程师的瑞士军刀
### Nping工具详解:网络工程师的瑞士军刀 Nping是Nmap项目的一部分,支持TCP、UDP、ICMP和ARP等多种协议,用于生成和分析网络数据包。它提供灵活的命令行界面,适用于网络探测、安全测试和故障排除。本文介绍Nping的基础与高级用法,包括发送不同类型的网络请求、自定义TCP标志位、路由跟踪等,并通过实战案例展示其应用。掌握Nping有助于更好地理解和管理网络环境。 (239字符)
180 9
网络工程师必知:什么是OSPF多区域?如何配置?
网络工程师必知:什么是OSPF多区域?如何配置?
274 2
网络工程师必知:什么是OSPF多区域?如何配置?