Sockets 如何读取内核空间中的UDP段?

Sockets 如何读取内核空间中的UDP段?,sockets,udp,kernel,Sockets,Udp,Kernel,我在内核空间中创建了一个模块,该模块使用socket RAW发送UPD段,但我的问题是从内核空间读取UDP段 我可以从用户空间读取UDP段,但当我证明从内核空间使用“sock_recvmsg”时,我得到的结果是-512 请帮帮我 我不知道为什么您觉得需要使用原始套接字来发送/接收UDP—只需使用UDP套接字即可 可能是您为地址提供给sock_recvmsg的结构不正确 通常,从内核内部使用网络是一个坏主意,应该避免(尤其是,它将代码绑定到特定的内核版本)。如果你告诉我们你想做什么(最好是以另一个

我在内核空间中创建了一个模块,该模块使用socket RAW发送UPD段,但我的问题是从内核空间读取UDP段

我可以从用户空间读取UDP段,但当我证明从内核空间使用“sock_recvmsg”时,我得到的结果是-512


请帮帮我

我不知道为什么您觉得需要使用原始套接字来发送/接收UDP—只需使用UDP套接字即可

可能是您为地址提供给sock_recvmsg的结构不正确


通常,从内核内部使用网络是一个坏主意,应该避免(尤其是,它将代码绑定到特定的内核版本)。如果你告诉我们你想做什么(最好是以另一个问题的形式),也许有人可以建议一个更好的方法。

我想创建一个简单的内核模块,可以从另一台计算机读取UDP消息。我证明使用这两个例子:但我的问题是使用“sock_recvmsg”