c - netlink 套接字是客户端/服务器模式吗?

标签 c linux netlink

现在我遇到了一个麻烦:我的网络链接用于内核和用户空间通信。当我只启动用户空间的 netlink 套接字时,它会给我一个错误:

proctol not supported

我的源代码是:

if((sk_fd = socket(PF_NETLINK, SOCK_RAW, netlink_id)) == -1)
    {
        printf("socket error:%s\n", strerror(errno));
        return false;
    }

其中netlink_id是1567。但是当我提前启动内核netlink时,它会很好用。 所以我认为netlink是c/s模型。你同意我的看法吗?

最佳答案

对于这个问题,我尝试了很多方法进行测试,现在我有一个结论:当我们使用netlink进行内核与用户空间的通信时,必须先在内核中创建netlink并启动成功,用户空间的netlink socket只能创造成功。所以只有做到以上几点,沟通才能取得成功。

关于c - netlink 套接字是客户端/服务器模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27613713/

相关文章:

c - 用于查找数字阶乘的递归函数

python - 遇到以下错误 : E: Unable to locate package python-empy

go - go语言中如何使用RTNETLINK socket监控ip地址变化

c - 每个 netlink 系列都有哪些多播组?

c - 通过netlink获取VLAN接口(interface)的真实设备

c - GNU 为 binutils、gcc 和 glib 配置选项

c - C 语言中的回溯迷宫算法一开始就是错误的

c - Kotlin native : C objects ownership and lifespan

linux - 在循环中使用两个变量来访问同一文件夹中的两种不同文件类型shell脚本linux

php - 如何减少 Debian 9 中的 PHP FPM 和 MySQL 内存使用