通信格式
通信涉及到数据传输,数据传输的格式有多种:
- xml
- json
- 字符串
JSON-RPC2.0
英语全称为 JSON Remote Procedure Call,远程函数调用。
request
{
"jsonrpc": "2.0",
"method": "sum",
"params": {
"a": 5,
"b": 6
},
"id": 1
}
response
{
"jsonrpc": "2.0",
"result": 11,
"id": 1
}
server.js
const utils = require("./utils.js");
process.stdin.on("data", (data) => {
const req = JSON.parse(data);
const funcName = req.method;
const params = req.params;
// 调用方法
const result = utils[funcName](params);
// 返回符合 JSON-RPC2.0 格式的响应
const res = {
jsonrpc: "2.0",
result,
id: req.id,
};
process.stdout.write(JSON.stringify(res) + "\n");
});
utils.js
const fs = require("fs");
module.exports = {
sum({ a, b }) {
return a + b;
},
createFile({ filename, content }) {
try {
fs.writeFileSync(filename, content);
return true;
} catch (error) {
console.log(error);
return false;
}
},
};




