Java分布式系统:RMI与CORBA客户端实现与Socket通信

需积分: 0 1 下载量 24 浏览量 更新于2024-08-18 收藏 832KB PPT 举报
本文档主要探讨了在Java分布式系统中,使用RMI (Remote Method Invocation) 和 CORBA (Common Object Request Broker Architecture) 进行客户端程序的运行。首先,它强调了软件体系结构的发展,从最初的Host-based架构,即所有组件(用户接口、业务逻辑和数据库)都整合在一个大型应用中,到后来的Client/Server架构,其中数据库通常放在服务器上,用户接口在客户端,而业务逻辑可以在客户端或服务器上执行,以提高灵活性和可扩展性。 分布式系统的核心概念是,应用由分布在不同计算机网络中的对象构成,这些对象能够互相调用对方的服务,形成跨系统的信息交换。在这个背景下,基于Socket的远程连接技术成为实现这一目标的关键手段。Java.net包提供了一系列工具,如Socket类,用于创建网络连接并进行数据传输。Socket类允许应用程序通过指定目标IP地址、传输层协议(如TCP或UDP)和端口号来区分不同的连接,从而实现并发的数据通信。 文章中给出了一个简单的示例,`SocketTest.java`,展示了如何使用Socket进行基础的网络通信。这个类定义了两个方法:`getBufferedReader(Socket socket)`用于从Socket接收输入流,并将其转换为可读的BufferedReader,以便处理接收到的数据;`main`方法中,创建了一个Socket实例,连接到指定的域名和端口,然后获取输入流,显示"Socket acquired"信息,表明连接成功。 在实际的客户端程序启动中,如使用`java SimpleCalcClient`命令行,可能需要额外指定`-ORBInitialHost`和`-ORBInitialPort`参数,这些参数与RMI或CORBA的名称服务相关,用于定位远程服务器提供的服务。 本文讨论了Java分布式系统中客户端程序的开发,重点介绍了RMI和CORBA在服务调用中的角色,以及如何利用Socket进行网络通信,特别是如何在`SimpleCalcClient`中配置和使用这些技术。开发者可以参考这些内容来构建和管理分布式应用中的客户端交互。