0

有没有办法将 socket() 创建的描述符映射到内存缓冲区?

我寻找这个的原因是因为我想让一个现有的应用程序从我创建的内存缓冲区而不是其关联的 TCP 缓冲区中读取。我不应该修改应用程序,所以我想将应用程序返回的 fd 映射到我创建的缓冲区。

我发现了一个类似的问题: 可以将套接字的描述符转换为文件指针吗?

但是我不知道 fdopen() 是否可以用于我的目的,因为 fdopen() 只需要两个参数(fd 和 mode),而且我不知道如何将 fd 重新关联到我用 malloc 创建的内存( )。

4

1 回答 1

0

有没有办法将 socket() 创建的描述符映射到内存缓冲区?

不,这没有意义。由于虚拟内存系统,映射文件才有意义。映射的套接字没有。

我想将应用程序返回的 fd 映射到我创建的缓冲区。

您必须编写代码才能从套接字读取到缓冲区中。

于 2013-06-18T01:24:55.043 回答