我正在寻找一些Web开发建议。我是该地区的新手,但是我敢肯定那里有一些大师愿意分享一些智慧。
目标:我对从个人Web托管站点控制计算机上的Python应用程序感兴趣。我知道,这个问题之前曾被问过几次,但每种情况下的要求都与我的要求有所不同。为了减少这篇文章的篇幅,我将在几个要点中总结一下我的目标:
到目前为止,我已经考虑过使用套接字(Python应用程序将作为网络服务器运行),IRC机器人以及对存储在网络服务器上的文本文件进行读写的HTTP Post和HTML表单。
我还希望有一种方法可以与Python应用程序通信而无需刷新网页,也许使用AJAX或JavaScipt?也许使用Flash?
有什么我不考虑的吗?我觉得我想念一些东西。在此先感谢您的建议!
最佳答案
只是大声思考我将如何开始。首先,关于网站本身,您可以使用最方便的方式,也可以使用您所处的环境。例如,基本的PHP页面就可以了,但是如果您也可以使网站运行在Python中,我更喜欢使用相同的语言。
也就是说,我不确定为什么需要使用托管网站?鉴于您已经被迫在家中拥有一台可从外部访问的PC进行通信,为什么不直接在该PC上运行Web服务器(Apache,Nginx甚至是CherryPy之类的服务器)呢?然后,该网络服务器可以与正在运行以控制您的Arduino的python进程进行通信(通过使用例如Python的 xmlrpclib
)。如果您要通过托管公司来运行服务器,您仍然需要一些可以安全地处理外部请求的流程... Web服务器非常擅长。自己运行即可为您提供所有想要的自由,并通过减少解决方案中的组件数量来简化事情。
我会保持站点上的更新非常基本:只需运行相关的(xmlrpclib
)调用,即可在Web服务器的请求处理程序中处理要运行的命令。我认为,最好通过一些AJAX调用来动态更新页面。根据您的故事,这些更新可以轻松地放入JSON对象中,适合仅定期更新页面的相关段。