当前位置: 首页 > wzjs >正文

网站开发公司一站式服务网站开发属于固定资产吗

网站开发公司一站式服务,网站开发属于固定资产吗,贸易公司网站设计案例,国内做免费视频网站有哪些文章目录 🌐 一、什么是 JSON-RPC?📬 二、通信过程1️⃣ 客户端发起请求2️⃣ 服务端处理请求,调用方法,返回结果 📑 三、重要字段说明🛠️ 四、核心函数与概念(结合你的代码&#x…

文章目录

    • 🌐 一、什么是 JSON-RPC?
    • 📬 二、通信过程
      • 1️⃣ 客户端发起请求
      • 2️⃣ 服务端处理请求,调用方法,返回结果
    • 📑 三、重要字段说明
    • 🛠️ 四、核心函数与概念(结合你的代码)
      • 📤 客户端发送请求函数(如 `rpc_add`)
      • 📥 服务端处理请求函数(如 `add()`)
    • 🔁 五、通信流程详解
    • 📚 六、常见 JSON-RPC 用法场景
    • 🧱 七、常用 JSON-RPC C语言库
    • 🧩 八、扩展建议


我们来系统讲解一下 JSON-RPC 协议,包括它的 核心概念、通信过程、重要字段、常用函数/库,并结合你给的示例代码来加深理解。


🌐 一、什么是 JSON-RPC?

JSON-RPC(JSON Remote Procedure Call) 是一种基于 JSON 的远程过程调用协议,它允许你通过网络调用远程系统中的函数/方法。

它具有以下特点:

  • 轻量级:只使用 JSON,无需 XML 或复杂的结构。
  • 与平台无关:任何支持 JSON 的语言都可实现。
  • 双向通信:既可请求调用,也可异步响应。

📬 二、通信过程

JSON-RPC 基于客户端-服务器模式,主要包含以下步骤:

1️⃣ 客户端发起请求

{"jsonrpc": "2.0","method": "add","params": [1, 2],"id": 1
}

2️⃣ 服务端处理请求,调用方法,返回结果

{"jsonrpc": "2.0","result": 3,"id": 1
}

或者若出错,返回:

{"jsonrpc": "2.0","error": {"code": -32601,"message": "Method not found"},"id": 1
}

📑 三、重要字段说明

字段类型说明
jsonrpcstring固定值 "2.0"
methodstring要调用的远程函数名称
paramsarray/object传入参数
idstring/int客户端提供的 ID,服务端用于关联响应
result任意类型成功调用返回值(响应中)
errorobject调用失败时的错误信息(响应中)

🛠️ 四、核心函数与概念(结合你的代码)

📤 客户端发送请求函数(如 rpc_add

  • 构造 JSON 字符串:用 sprintf() 写入 JSON-RPC 格式
  • 通过 TCP socket 发送数据
  • 接收响应后,用 cJSON_Parse() 解析 JSON
sprintf(buf, "{\"method\": \"add\", \"params\": [%d,%d], \"id\": \"2\" }", a, b);
send(socket, buf, ...);
read(socket, buf, ...);
cJSON *root = cJSON_Parse(buf);
cJSON *result = cJSON_GetObjectItem(root, "result");

📥 服务端处理请求函数(如 add()

  • 使用 JSON-RPC 库 jrpc_server_init() 初始化服务
  • 使用 jrpc_register_procedure() 注册函数名和回调
  • 回调函数内部通过 cJSON 提取参数,构造响应 JSON
cJSON *a = cJSON_GetArrayItem(params, 0);
cJSON *b = cJSON_GetArrayItem(params, 1);
return cJSON_CreateNumber(a->valueint + b->valueint);

🔁 五、通信流程详解

假设客户端要调用远程函数 add(2, 3)

      Client                             Server│                                   ││--- JSON 请求(add) -------------->││   {"method": "add",              ││    "params": [2,3], "id": 1}     ││                                   ││                          查找方法 add│                          调用函数 add(2,3)│                          构造 JSON 返回值│<-- JSON 响应 --------------------││   {"result": 5, "id": 1}         ││                                   ││   解析 JSON → 输出结果           │

📚 六、常见 JSON-RPC 用法场景

场景示例
嵌入式设备远程控制通过 RPC 控制 LED、读取传感器
前后端通信浏览器与后端服务使用 JSON-RPC over WebSocket
自动化测试平台使用 JSON-RPC 调用接口模拟用户行为
区块链(如以太坊)Ethereum 节点之间通信使用 JSON-RPC API

🧱 七、常用 JSON-RPC C语言库

库名说明
jsonrpc-c你使用的轻量 JSON-RPC C 实现
cJSON轻量级 JSON 解析/生成库
jansson更完整的 JSON C 解析库

🧩 八、扩展建议

  • 加入 JSON-RPC 的 通知模式(即没有 id
  • 增加 错误处理机制(返回 error 字段)
  • 加入 方法权限控制(如认证)
  • 支持异步调用或多线程并发

http://www.dtcms.com/wzjs/556588.html

相关文章:

  • 个人服装定制网站有没有免费的写文案的软件
  • 网站解析密码wordpress文章批量上传
  • 徐汇做网站公司2017 如何做网站优化
  • 什么系统做网站好网站建设销售好做么
  • 网站的三要素惠州百度网络推广
  • 哪个网站做原创歌曲汕头企业网站推广技巧
  • 快速做网站教程大型门户网站有哪些
  • 淘宝做图片的网站网站开发7个基本流程图
  • 中山移动网站建设公司网站怎样做微信公众号
  • 贵州三线建设博物馆网站企业网站下周
  • 建设美食网站的目的和功能定位湖北德升建站
  • 网站的导航栏校企合作网站建设
  • 三只松鼠网络营销模式seo点评类网站
  • 长沙做网站咨询公司怎样给网站做图标
  • 网站建设销售模式如何提升做网站的效率
  • 创建个人网站怎么做移动应用开发就业方向和前景
  • 四川建设网站官网济南网站设计价格
  • wordpress用网站测速wordpress 惠喵
  • 投资公司网站建设网站建设是怎么挣钱的
  • 山东汽车行业网站开发企业网盘免费版
  • 黄骅港赶海时间表seo排名优化培训网站
  • 展示网站开发做网站就上微赞网
  • 赣州网站建设hyxxjs提供营销单页网站
  • 小型网站开发需要什么步骤郑州网站制作报价
  • 查建筑企业信息的网站高级网站开发工程师证书
  • 有机蔬菜哪个网站做的更好wordpress验证码注册
  • 贵阳网站开发公司推荐做物流行业网站
  • 服装公司网站建设策划书咸阳做网站
  • 网站布局建设查询网页怎么制作
  • 微网站建设方案书德州企业网站优化公司