gpt4 book ai didi

linux - Tftp 命令实现在本地环形缓冲区中获取远程数据

转载 作者:太空宇宙 更新时间:2023-11-04 04:40:46 25 4
gpt4 key购买 nike

我正在寻找一种使用 tftp 命令集的实现,它可以从远程服务器获取数据,但不是完全获取整个数据,而是在大小小于远程文件大小的本地环形缓冲区中获取数据,并在环被循环后覆盖数据。因此,如果任何进程在数据可用期间使用该数据,则它会成功,否则会丢失数据。例如,假设我在远程文件中有 100 MB 的数据,并且(想要创建?)本地 10 MB 大小的环形缓冲区。因此,它获取远程数据并将其放入环形缓冲区中。圈出10MB后,开始覆盖。任何建议将受到高度赞赏。提前致谢。

最佳答案

当您使用 Linux 时,数据将通过 Linux 套接字到达您的 tftp 客户端。通常,您会在此套接字上调用read来获取数据。

但是,如果您想使用环形缓冲区,您只需设置套接字选项 PACKET_RX_RING 并从内存映射地址空间读取(根据 the packet_mmap documentation 在 Linux 2.4/2.6/3.x 中可用),而不是调用 read。无需自己实现环形缓冲区。

示例代码可从此处链接的 Wiki 获取,地址为 related Stack Overflow question ,或来自various websites .

关于linux - Tftp 命令实现在本地环形缓冲区中获取远程数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33032287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com