Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >netlink套接字中不正确的msg

我尝试使用netlink套接字将二进制数据从内核空间发送到用户空间。我学习了如何使用netlink套接字与内核模块通信?的例子

然而,在用户空间的接收端,我得到的数据长度要大于从内核空间发送的数据长度。然而,数据是相同的。数据被附加了一些垃圾值。

在netlink套接字中,接收到的数据长度是否与从内核空间发送的数据相同?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-22 14:06:18

您可能需要检查文档,以确保您正确地使用了"NLMSG_SPACE“、"NLMSG_PAYLOAD”和"NLMSG_DATA“等宏。

额外的数据可能来自数据帧中未使用的部分,而您的程序没有正确读取消息长度。(实际上,没有正确使用宏。)例如,如果您发送一个字节,我相信实际上会有4个字节发送,因为NLMSG_SPACE会将数据包中的数据“对齐”到4的倍数。

读取它应该是没有问题的,只是使用宏获得真实的数据长度,并且只读取那么多。

下面是一个获取缓冲区指针和缓冲区长度的示例。

代码语言:javascript
运行
AI代码解释
复制
// Get a pointer to the start of the data in the buffer and the buffer (payload) length
buf = (u_char *) (NLMSG_DATA(nlh));
len = NLMSG_PAYLOAD(nlh, 0);

以下是宏的定义。,如果你愿意的话,看看那些。这里的情况可能更容易理解。

您链接到的代码是发送字符,并通过“memset”将数据传递到0,这样打印char数组就可以了。

希望这能有所帮助。如果你不能让它工作的话,发布一些代码。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23170571

复制
相关文章
在Python游戏中模拟重力
我们的现实生活中充满了运动和生命。物理让我们的世界变得如此繁忙和生动。 同时我们要知道,物理阐释了物质在空间中移动的方式。 不过呢,因为我们的游戏世界本不存在物理,所以作为游戏程序员,我们必须在游戏中模拟物理。
五月Rambo
2019/12/09
2.1K0
在Python游戏中模拟重力
游戏中是如何模拟跳跃或抛射的
由于微信公众号不支持数学符号,部分公式用截图方式呈现。点击查看原文获取更好的体验。
keyle
2024/11/01
1080
游戏中是如何模拟跳跃或抛射的
在Python游戏中模拟重力【Programming(Python)】
现实世界充满了运动和生活。 使现实世界变得如此繁忙和动态的是物理。 物理是物质在太空中移动的方式。因为电子游戏世界没有物理,它也没有物理,所以游戏程序员必须模拟物理。
Potato
2019/12/01
2.3K0
在Python游戏中模拟重力【Programming(Python)】
有关信息安全的理解与思考
通过学习信息安全以及算法实践,我对于信息安全的理论有了更深层次的认识,明白了一些信息安全的基本理论与技术,例如密码技术、认证技术、数字签名技术、访问控制技术等等,此外,我也对信息安全在网络安全上的一些应用更加熟悉,例如一些网络安全协议SSL等。此外还有关于系统安全技术的认识,例如恶意代码分析蠕虫、特洛伊木马等等,此外,我还学习了不少有关于信息安全的数学基础知识,其中包括数论中有关群的知识、计算复杂性理论以及拓展欧几里得算法等等。可见信息安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。
timerring
2022/07/20
9530
有关信息安全的理解与思考
机器学习如何彻底改变游戏中的物理模拟
量子力学奠基者之一、英国理论物理学家保罗·狄拉克(Paul Dirac)在1929年说过:“大部分物理和化学所需要的数学理论的定律都是已知的,但这些定律的方程太复杂无法求得精确解”。他认为,从蛋白质折叠、材料失效到气候变化,所有的物理现象都可以模拟为量子计算。但由于控制方程太复杂,科学家无法在现实的时间尺度上求解。
AI科技评论
2021/09/16
1.1K0
机器学习如何彻底改变游戏中的物理模拟
来源:AI科技评论 本文约2600字,建议阅读10分钟 神经网络模拟物理比物理解算器快5000倍。 量子力学奠基者之一、英国理论物理学家保罗·狄拉克(Paul Dirac)在1929年说过:“大部分物理和化学所需要的数学理论的定律都是已知的,但这些定律的方程太复杂无法求得精确解”。他认为,从蛋白质折叠、材料失效到气候变化,所有的物理现象都可以模拟为量子计算。但由于控制方程太复杂,科学家无法在现实的时间尺度上求解。 那么,这是否意味着我们永远无法实现实时物理模拟? 以前物理学家通过模型开发、求近似解等方法可
数据派THU
2023/03/29
5400
机器学习如何彻底改变游戏中的物理模拟
Python模拟MOBA手游~铭文篇
当你真正为自己、为好朋友或家人做一些事时,你就不会轻易放弃。但如果你不热爱这件事,那么你就不会多走一步,也不情愿在周末加班,只会安于现状。
小Bob来啦
2021/04/29
9790
Python模拟MOBA手游~铭文篇
Python模拟MOBA手游~英雄篇
我们的命运也是如此,只是与有些人不同,我把失败当作一杯烈酒,咽下去的是苦涩,吐出来的却是精神。
小Bob来啦
2021/04/29
1.1K0
Python模拟MOBA手游~英雄篇
来傲游浏览器工作
帮公司发布一下一些职位的招聘,未来的小伙伴赶紧投递简历哈。投递给我,会有更大的面试特权哈。发送简历给我 andrewallanwallace#gmail.com, 请将#替换成@。
技术小黑屋
2018/09/04
3670
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
最近在项目开发中,由cs开发的exe的程序,需要自动升级,该exe程序放在linux下,自动升级时检测不到该exe程序的版本号信息,但是我们客户端的exe程序需要获取服务器上新程序的版本号信息。最后由我用java实现linux上exe文件的版本号读取功能。下面是详细代码:
业余草
2019/01/21
7K0
如何在windows下和linux下获取文件(如exe文件)的详细信息和属性
如何在 C# 中以表格形式存储临时信息?
在 C# 中,DataTable 类位于 System.Data 命名空间中,用于表示存储在内存中的数据表。该类允许创建、操作和与数据进行交互,并以行和列的形式呈现数据,类似于关系型数据库表。在应用程序中,它通常用于临时存储从数据库获取的数据,或在内存中处理数据。这种方法特别适用于需要增强 DataTable 基础功能的场景,例如添加特定功能、预定义的架构(列)或自定义的数据操作方法。
郑子铭
2024/11/23
2760
如何在 C# 中以表格形式存储临时信息?
浅谈NFT链游项目系统开发方案(技术原理)
NFT链游系统的开发是基于区块链技术的一种新型游戏开发方式。相对传统的游戏开发方式,NFT链游系统的开发具有许多独特的优势。
开发v_StPv888
2022/10/28
6640
对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈
2021年11月,全球首届“ AI《球球大作战》:Go-Bigger多智能体决策智能挑战赛”已正式开赛。作为面向全球技术开发者和在校学生的科技类竞赛活动,本次比赛旨在推动决策智能相关领域的技术人才培养,打造全球领先、原创、开放的决策AI开源技术生态。
AI科技评论
2021/12/08
7720
对战6亿用户竞技手游:聚焦复杂游戏中的多智能体博弈
matlab中imfinfo 有关图形文件的信息
大家好,又见面了,我是你们的朋友全栈君。 来源:https://ww2.mathworks.cn/help/matlab/ref/imfinfo.html?searchHighlight=imfinf
全栈程序员站长
2022/09/06
1.1K0
hash表存储方式_哈希表与数据的存储结构有关吗
HashSet集合的自身特点: * 1、底层数据结构:哈希表 * 2、存储,拿取都比较快 * 3、 线程不安全,运行速度快
全栈程序员站长
2022/11/15
8550
hash表存储方式_哈希表与数据的存储结构有关吗
php解析sitemap并提取有关信息
在昨天完善Magic主题的时候,突然想到一个需求,获取我另一个博客的文章和对应url。但是Halo博客没有提供api(可能是我不知道),但是它提供了sitemap。
Innei
2021/12/28
6560
【信息图】手游大数据研究:如何邂逅手游中的白富美?
白富美对大部分宅男来说可望不可即。想要接近她们,有办法吗?有!腾讯大数据通过手游大数据的研究为大家揭开白富美们的神秘面纱,让宅男们“零距离”接近女神。 End.
小莹莹
2018/04/20
1.9K0
【信息图】手游大数据研究:如何邂逅手游中的白富美?
如何在Selenium自动化Chrome浏览器中模拟用户行为和交互?
Selenium是一个用于自动化Web应用程序测试的工具,它可以模拟真实的用户在浏览器中进行各种操作,如点击、输入、滚动等。Selenium支持多种浏览器,如Chrome、Firefox、Edge等,但是每种浏览器都需要相应的驱动程序才能与Selenium进行通信。本文将介绍如何在Selenium中使用Chrome浏览器,并且设置代理服务器来避免被目标网站识别。
jackcode
2023/07/26
1K0
马斯克:人类极有可能活在更高文明模拟的矩阵游戏中
除了吸大麻、喝大酒、玩大宝剑,马斯克在上周的Joe Rogan播客中,还阐述了他对人类世界的认识:他认为人类文明很可能与游戏一样,都是许多模拟文明中的一部分,更古老的文明很有可能是我们的造物主。另一方面,他也对未来AI表示了担心:一旦人工智能变得危险,监管它就太晚了。
钱塘数据
2018/10/26
6070
​flash模拟eeprom存储日志的原理
做mcu开发时,涉及到数据存储时,往往都会考虑使用flash、eeprom,或者铁电存储器。从数据储存的角度上来说,安全性最高的肯定是FRAM,接着才会考虑使用EEPROM,对于一般的数据储存,flash就足够了。考虑到一般的MCU都不会携带EEPROM,最简单的方案可以利用flash模拟出eeprom,并且实现基本的日志文件系统操作,下面来描述一下基本的原理。
bigmagic
2021/03/09
2.3K0

相似问题

如何在游戏中安全地存储有关参与者的xml/json信息?

20

如何在我的Voxel游戏中存储块信息?

20

如何在基于浏览器的游戏中模拟定时攻击?

10

如何在游戏中模拟多普勒效应?

20

游戏中使用的这种技术的名称,如“我的世界”或“模拟人生”。

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档