【问题标题】:Socket communication in char device driver字符设备驱动程序中的套接字通信
【发布时间】:2016-10-20 01:38:15
【问题描述】:

从linux中char设备驱动的内核模块打开socket是否可行?我正在尝试通过网络模拟 char 设备的输出/输入流。但据我搜索,从 char 设备打开套接字是不可能的?从 char 设备驱动程序访问 udp / tcp 端口的任何其他选项?

【问题讨论】:

    标签: c sockets linux-device-driver


    【解决方案1】:

    是的,您可以在内核代码中打开套接字并与远程主机通信,一个生动的例子是NFS模块,它使用sunrpc作为其协议,它们都运行在内核模块中。

    首先,查看kernel_connect[1] 启动连接,查看kernel_sock_shutdown 关闭连接。 socket.c 中有完整的 api 列表。

    [1]http://lxr.free-electrons.com/source/net/socket.c#L3212

    [2]http://lxr.free-electrons.com/source/net/socket.c#L3298

    [3]http://lxr.free-electrons.com/source/net/socket.c

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 2018-12-30
      相关资源
      最近更新 更多