Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 是否可以将套接字映射到虚拟内存?_Sockets_Io_Rust_Virtual Memory - Fatal编程技术网

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

Sockets 是否可以将套接字映射到虚拟内存?,sockets,io,rust,virtual-memory,Sockets,Io,Rust,Virtual Memory,我正在寻找类似于内存映射文件的东西。它将使虚拟内存逐字节匹配套接字的输出,并在没有收到新字节时阻塞。这可能吗 我正在专门寻找一种解决生锈问题的方法,但如果有人知道另一种语言有这样的功能,我可能可以与之交互。不,这没有意义。套接字不是随机访问设备,映射长度未定义。创建内存映射文件时,指定要映射的文件以及文件中的数据范围。映射的文件区域是固定的。如果内存映射文件因任何原因而增长,则新数据不会被映射 在许多系统中,内存映射文件的实现方式与分页相同。虚拟内存不是映射到页面文件,而是映射到调用者选择的文件

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


我正在专门寻找一种解决生锈问题的方法,但如果有人知道另一种语言有这样的功能,我可能可以与之交互。

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

创建内存映射文件时,指定要映射的文件以及文件中的数据范围。映射的文件区域是固定的。如果内存映射文件因任何原因而增长,则新数据不会被映射

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


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

当内存映射文件填满时会发生什么?它只是满了?我看没问题。您只需重新映射即可访问更多。这假设在您需要更多页面时,有一个连续的页面范围可用。如果不是套接字,则只需分配内存即可。恐怕这不是支持内存映射套接字的编程语言指定功能。以下文件可能会对您有所帮助。如果有人感兴趣,这个家伙解决了OP的问题,还为内核2.0.36提供了补丁。