ubus c语言例子,ubus客户端向服务器请求信息的例子

本文展示了OpenWRT环境中使用C语言通过ubus进行通信的一个实例,包括服务器端和客户端代码。服务器端创建一个名为'server_fun'的对象,并实现一个名为'fun2'的方法,用于返回AP的站数信息。客户端通过查找并调用服务器端的'fun2'方法,获取并打印站数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

openwrt用户空间进中通信常用的通信方式是使用ubus通信,下面给出一个例子,是客户端向服务器请求ap的个数。

服务器端代码

#include

#include

#include "libubus.h"

static struct ubus_context *ctx;

static struct blob_buf b;

enum {

REQ_STATION_COUNT,

REQ_AP_NAME,

__REQ_MAX

};

/* 接收的解析格式, client发送过来的调用是 blobmsg_add_u32(&b, "getcnt", ap_index); */

static const struct blobmsg_policy fun2_message_parse_policy[__REQ_MAX] = {

[REQ_STATION_COUNT] = { .name = "getcnt", .type = BLOBMSG_TYPE_INT32 },

[REQ_STATION_COUNT] = { .name = "apname", .type = BLOBMSG_TYPE_STRING },

};

static int fun2_handler(struct ubus_context *ctx, struct ubus_object *obj,

struct ubus_request_data *req, const char *method,

struct blob_attr *msg)

{

stru

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值