RPC - 入门

本文的示例代码参考rpc-hprose

目录

HTTP

Server

vim server-http.js
var hprose = require("hprose");
function hello(name) {
    return "Hello " + name + "!";
}
var server = hprose.Server.create("http://0.0.0.0:8080");
server.addFunction(hello);
server.start();

Client

vim client-http.js
var hprose = require("hprose");
var client = hprose.Client.create("http://127.0.0.1:8080/");
var proxy = client.useService();
proxy.hello("world", function (result) {
    console.log(result);
});
  • Test
cnpm i --save hprose

node server-http.js

node client-http.js # Hello world!

关于跨语言RPC框架hprose详细介绍 可以参考hprose

Package

基于Wireshark抓包如下

rcp-basic-01.png
rcp-basic-02.png

关于抓包工具Wireshark详细介绍 可以参考Wireshark

TCP

Server

vim server-tcp.js
var hprose = require("hprose");
function hello(name) {
    return "Hello " + name + "!";
}
var server = hprose.Server.create("tcp://0.0.0.0:8080");
server.addFunction(hello);
server.start();

Client

vim client-tcp.js
var hprose = require("hprose");
var client = hprose.Client.create("tcp://127.0.0.1:8080/");
var proxy = client.useService();
proxy.hello("world", function (result) {
    console.log(result);
});
  • Test
cnpm i --save hprose

node server-http.js

node client-http.js # Hello world!

Package

基于Wireshark抓包如下

rcp-basic-03.png
rcp-basic-04.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,923评论 18 139
  • RPC入门 1. PRC简介 远程过程调用,Remote Procedure Call。它是一种通过网络向远程计算...
    王小冬阅读 1,061评论 0 2
  • 总体架构: node-agent TARS框架中Node.js程序启动器,提供生产环境所需的服务属性。 deplo...
    宫若石阅读 4,797评论 0 1
  • 在被时光稀释的记忆里,唯有你像一朵永不凋零的花,璀璨在我鲜衣怒马的季节。故事有头无尾,你路过我的野蛮与惊慌,做作与...
    九米的花阅读 297评论 0 0
  • 芸芸众生里 有一群特殊的人 退伍的老兵 就像是散落在沧海桑田里 一个个不屈的 灵魂 无奈兄弟 也许今生别离 后会无...
    驷_51f6阅读 213评论 0 2