【问题标题】:send file content with a message queue C使用消息队列发送文件内容 C
【发布时间】:2013-12-16 14:15:07
【问题描述】:

我正在寻找读取文件并通过消息队列发送内容的最佳方式。 我试图逐行读取文件并将文件的内容插入到数组中,但可能不是最好的方法。 我想知道是否有另一种方法,也许最好发送整个文件,然后将其读取到接收它的进程。 你有什么建议吗? 提前致谢。

【问题讨论】:

    标签: c process ipc message-queue


    【解决方案1】:

    当我阅读它时,每行数组发送方法和完整文件发送方法之间几乎没有区别。您只是以这种方式分散网络上的负载。除非接收方的 CPU 和内存缓存有限,否则不会提高整体系统性能。

    我建议研究分析整个文件以获取相关数据。然后通过消息队列发送这个新数据。当然除非读取文件的程序资源有限,而接收端有足够的资源并且网络上的流量负载不是问题。

    【讨论】:

    • 感谢您的回复。我不确定我是否理解你告诉我的内容。更清楚地说,我想知道是否发送文件的内容。 txt 在消息队列上最好发送文件的文本(在读取它并添加到数组之后),或者如果有另一种更好的方式,例如在消息结构中包含指向文件或整个文件的指针(即使我不知道如何..)
    • 对不起,我在考虑消息队列是否通过以太网。如果发送者和接收者是两个不同的进程(不是线程),发送指针很可能会导致分段错误。在这里 (cs.cf.ac.uk/Dave/C/node25.html) 他们也使用数组,所以如果你想全部发送,只需在结构中为大多数文件创建一个足够大的缓冲区。也许cplusplus.com/reference/cstdio/fread 可以提供帮助。但是,我的建议仍然是压缩数据。
    猜你喜欢
    • 2020-01-01
    • 1970-01-01
    • 2014-02-01
    • 2017-02-07
    • 2013-01-16
    • 2020-04-05
    • 1970-01-01
    • 1970-01-01
    • 2014-01-28
    相关资源
    最近更新 更多