用于传输列表的最佳python客户端/服务器解决方案

时间:2012-11-30 16:54:29

标签: python sockets python-2.7 client-server

我正在研究客户端/服务器模型,用于传输从客户端站点上的更改文件读取的一些数据(窗口tkinter客户端监视文件更改)并将其传输到服务器以处理数据(将数据拆分为列出并用它制作一些东西)。 在你眼中,最好的解决方案是什么?其中一个必须要的是它需要是安全的,所以我虽然将一些ssl加密包含在自己编写的证书中并将其包含在客户端中。我应该在python或gevent或twisted之类的东西中使用纯套接字编程吗?客户端仅在监视文件发生更改时连接,greps数据,连接到服务器,传输和断开连接。可能每天发生10次或每天发生10次,这是不可能实现的。

对类似问题的任何建议和经验持开放态度。

谢谢戴夫

更新仅供参考:总会有1台服务器和1台客户端!

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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