是否可以将套接字映射到虚拟内存?

问题描述 投票:0回答:3

我正在寻找类似于内存映射文件的东西。它会使虚拟内存与字节的字节输出匹配,并在没有收到新字节时阻塞。这可能吗?

我正在寻找专门针对Rust的解决方案,但如果有人知道另一种语言具有这样的功能,我可能能够与它进行交互。

sockets io rust virtual-memory
3个回答
5
投票

不,这没有意义。套接字不是随机访问设备,并且映射的长度未定义。


3
投票

创建内存映射文件时,您可以指定要映射的文件以及文件中的数据范围。映射文件的区域是固定的。如果内存映射文件增长(无论出于何种原因),则不会映射新数据。

在许多系统中,内存映射文件的实现方式与分页相同。它不是将虚拟内存映射到页面文件,而是映射到调用者选择的文件。

您要求的内容没有意义,因为您要求使用固定长度数据结构的可变长度数据。


-1
投票

我担心它不是一种支持内存映射套接字的编程语言指定功能。以下文档可能对您有所帮助。

https://www.kernel.org/doc/Documentation/networking/packet_mmap.txt

© www.soinside.com 2019 - 2024. All rights reserved.