RPC之一:基于TCP协议实现RPC

本文通过一个简单的例子介绍了如何基于TCP协议实现RPC。服务提供方监听端口,接收消费者发送的数据,进行处理并返回结果。RPC的核心在于序列化和反序列化,确保对象能在网络中传输并被正确解析。通过反射调用服务端方法,完成远程过程调用。
摘要由CSDN通过智能技术生成

先看代码

服务接口

public interface SayHelloService {

	String sayHello(String hello);
}

 

作为服务提供方,要对服务接口给出实现

public class SayHelloServiceImpl implements SayHelloService {

	@Override
	public String sayHello(String hello) {
		if ("hello".equals(hello)) {
			return "hello";
		} else {
			return "bye bye";
		}
	}
}

 

消费者代码,很简单,先与本地的8888端口建立一个TCP连接,然后获取输出流,向另一端发送一些数据,这里的另一端就是我们的提供方了。

public class Consumer {

	public static void main(String[] args) throws Exception {
		String interfaceName = SayHelloService.class.getName();
		Method method = SayHelloService.class.getMethod("sayHello", String.class);
		Object[] arguments = {"hello"};

        // 将调用接口名、方法名、方法形参、方法实参传到另一端
		Socket socket = new Socket("localhost", 8888);
		ObjectOutputStream outputStream = new ObjectOutputStream(soc
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网络协议是在计算机网络中识别、规范和处理通信数据的一种约定。在计算机网络的发展历程中,网络协议也发生了不断的变化和完善。从tcp协议rpc协议,经历了以下几个阶段: 1、TCP/IP协议:是一种计算机网络通信协议,被广泛用于因特网及局域网中。TCP/IP协议是一种分层协议,包括物理层、数据链路层、网络层、传输层和应用层五个层次。 2、UDP协议:是不可靠的数据报协议,与TCP协议不同,它不保证数据传输的可靠性。UDP协议被广泛应用于实时应用程序,如音频、视频、实时对话等。 3、HTTP协议:是一种用于传输超文本的协议,通常用于在Web浏览器和Web服务器之间传输HTML页面。HTTP协议是无状态的,即服务器不会存储客户端的信息,因此每次请求都是独立的。 4、SMTP协议:是一种用于电子邮件的传输协议,是Internet上常用的电子邮件传输协议。SMTP协议基于TCP协议,采用了三次握手的连接建立方式。 5、RPC协议:是一种远程过程调用协议,可以使程序在网络节点间像调用本地程序那样调用远程程序,使分布式应用程序的开发更加方便。RPC协议通常使用TCP或UDP传输协议。 综上所述,从TCP协议RPC协议,网络协议经历了层次化之后,出现了UDP、HTTP、SMTP等协议,最终趋于分布式的RPC协议。随着互联网应用的广泛普及,网络协议也将不断发展进步,为用户提供更加安全、高效和便捷的服务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值