【问题标题】:best python client/server solution for transfering a list [closed]用于传输列表的最佳 python 客户端/服务器解决方案 [关闭]
【发布时间】:2012-11-30 16:54:28
【问题描述】:

我正在研究客户端/服务器模型,用于传输从客户端站点上的更改文件中读取的一些数据(监视文件更改的窗口 tkinter 客户端)并将其传输到服务器以处理数据(将数据拆分为列出并用它做一些东西)。 在您看来,最好的解决方案是什么。必须具备的条件之一是它需要安全,所以我想包括一些带有自写证书的 ssl 加密并将其包含到客户端中。我应该在python中使用纯套接字编程还是像gevent或twisted这样的东西?客户端仅在监视的文件发生更改时连接,grep 数据,连接到服务器,传输并断开连接。每小时可能发生 10 次或一天发生 10 次,这不是真正可计算的。

欢迎任何类似问题的建议和经验。

谢谢戴夫

更新仅供参考:永远只有 1 个服务器和 1 个客户端!

更新 2:也可以包含一种 ssl 方式,只有拥有证书一部分的客户端才能连接到此特定服务器,以便阻止其他人连接到它?

【问题讨论】:

    标签: python sockets python-2.7 client-server


    【解决方案1】:

    我只会使用 JSON over HTTP(s),这会让事情变得简单。看起来您不需要太多原始性能,并且所有 JSON 和 HTTP 库都已包含在标准库中。

    无需运行 Apache 或其他任何东西,您只需在 Python 中运行一个小型 Web 服务器:

    http://docs.python.org/2/library/wsgiref.html#module-wsgiref.simple_server

    您可以将客户端证书与 SSL 一起使用,但很少有人这样做,因此设置起来可能并不容易。相反,您可以选择一个足够大的随机字符串作为客户端必须包含在请求中的“密码”。如果你想得到所有的幻想,你可以使用 TOTP 一次性密码。

    【讨论】:

    • 所以你建议只使用类似flask的东西来构建一个带有ssl的小型http服务器并将其作为json数据处理。问题是数据是 csv 数据,我只想在服务器端处理它,以确保其处理正确,而不是从客户端修改或不正确。
    • 在网络服务器后面运行一个小型网络框架来处理 ssl 是不可取的,因为我们无法访问此服务器上的 apache。
    • 感谢您的更新,刚刚阅读了 basehttpserver 和 ssl,但感谢 wsgi 的建议
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2011-06-12
    • 2012-06-17
    • 1970-01-01
    • 2013-10-19
    相关资源
    最近更新 更多