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