13、Java 客户端/服务器通信:对象流与 RMI 详解

Java 客户端/服务器通信:对象流与 RMI 详解

在 Java 开发中,实现客户端与服务器之间的通信是一个常见的需求。本文将详细介绍两种实现客户端/服务器通信的技术:对象流(Object Streams)和远程方法调用(Remote Method Invocation,RMI)。

1. 网络编程基础

1.1 TCP 协议

计算机之间通过传输 0 和 1 的序列进行通信,而协议则是程序员之间关于不同位序列含义以及对这些位序列的适当响应的约定。TCP 是一种低级协议,其主要目标是确保通信的可靠性。在大多数计算机通信中,由于通信往往通过电话线进行,而电话线容易受到各种环境因素的影响,因此可靠的协议至关重要。

TCP 协议会为消息的接收者提供大量关于消息结构的信息。如果接收到的消息与预期结构不匹配,接收者可以请求重新传输部分或全部消息。当然,可靠性是有代价的,验证每条消息的结构需要花费时间。许多高级协议,如 SMTP、HTTP 和 FTP,都使用 TCP 进行数据传输。

1.2 套接字和端口

TCP 使用套接字(Sockets)和端口(Ports)这两个抽象概念。需要注意的是,这里的套接字和端口并非实际的物理设备,它们只是用来描述如何使用 TCP 的隐喻。

从 Java 代码编写的角度来看,套接字可以被视为一个知道如何使用 TCP 与另一台计算机交换数据的对象。服务器能够提供多种服务,例如电子邮件和万维网服务。服务器通过将每个服务与一个称为端口号的数字关联起来,来跟踪所提供的服务。客户端若要使用服务器的服务,需要知道所需服务的端口号以及服务器的主机名或 IP 地址。例如,当你在浏览器中访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值