服务器与多个客户端之间数据交换的通信方法,为期10年以上

时间:2015-06-16 04:09:54

标签: c++ ssh openssl protocols

我们正在运行an experiment,这将涉及从世界各地的多个电台收集数据。每个电台将提供HDF5个文件,其磁场测量速率为1 kHz,一些辅助数据实时。延迟将持续几分钟。

我被分配设计这个程序(用C ++编写,有客户端/服务器模型,服务器在linux中,客户端是跨平台的),显然我将从头开始设计。我首先要关注的是不要真的从头开始做所有事情,因为这样会更容易出错并且出错,所以我的问题是:我应该使用哪些信息/文件传输协议/库,以便

  1. 该程序可以维持10年以上,维护量极少

  2. 当我需要帮助时,我可以得到社区的非常好的支持。

  3. 由于我们需要相对安全的东西,我的第一个想法是libssh(ssh中唯一可用的跨平台开源库),但在与一些专业人士讨论后,我意识到那里的支持没有太棒了,因为只有少数人和libssh一起工作。那些专业人士在建议使用OpenSSL时犹豫不决,但是使用OpenSSL,我必须编写自己的身份验证(显然,我不是专家,这就是我要问的原因)。

    你会建议什么?请分享您对我是否应该使用OpenSSL,libssh或其他内容的愿景。

    PS:请你说,如果你开始说这个问题是偏离主题的话,继续前进并忽略它。考虑有用而不是批评。

    如果您需要任何其他信息,请询问。

1 个答案:

答案 0 :(得分:2)

我认为OpenSSL可能是个不错的选择。 不,你不必“编写自己的身份验证” - 你只需要生成证书和密钥并将它们放在正确的位置 - 这就是全部。 我建议您查看<openssl-source-dir>/demos<openssl-source-dir>/apps中的示例,以帮助您入门。阅读一本关于OpenSSL的书也是一个好主意 - 出于许多其他原因(有时与SSL / TLS没有直接关系)。

我希望有所帮助。