2013-09-16 23 views
0

我工作在web.py的应用程序,可以通过与按钮的网站发送命令到设备。web.py - 服务器和同步套接字连接

我知道哪个按钮是在我的网站推,我得到一些参数回到我的蟒蛇serverprogram。 Python程序 - >从SQLite数据库中获取基本命令 - >添加收到的参数。但我需要同时建立通过以太网(简单的socket连接)将这些命令发送到设备与远程设备的连接。那就是我陷入困境的地方。

所以我有网站的正常工作,我也有写只是做与设备,并用一个简单的终端接口发送命令连接一个小的独立的终端程序。所以基本上我有两个主要部分的程序工作,但不是同时进行,我无法弄清楚如何将它们组合在一起。

我一直在阅读一些信息,让网络服务器在单独的线程中运行,或者每次从网站获取信息(命令/参数)时,我必须连接并关闭与设备的套接字连接?有人能把我推向正确的方向吗?

注:服务器上树莓派

+0

我不知道墙的文字拜物教有多普遍。也许一些结构会有所帮助。 – mnagel

+1

你真的需要更好地格式化这些单独的段落。没有人想要阅读如此巨大的文本块。另外,你可以提供代码示例 - 它会帮助我们更快地帮助你:-) – Jimbo

回答

0

运行是的,你的问题似乎是由套接字连接不是线程安全造成的。

每个请求的web.py在自己​​的线程服务器运行,如果您要访问套接字连接到您的设备,那么你必须使用锁或管理连接池,如果您的设备支持多个连接。

要强制web.py在单线程模式下运行,请参阅下面的答案:

Forcing single threaded request handling with web.py

注意,你不必锁定所有请求(在这个问题的答案),并可以把锁仅在使用连接的代码部分。