[英]web.py - server and simultaneous socket connection
我正在使用web.py中的应用程序,该应用程序可以通过带有按钮的网站将命令发送到设备。
我知道在我的网站上按下了哪些按钮,并且在python服务器程序中又得到了一些参数。 Python程序->从SQLite数据库中获取基本命令->添加接收到的参数。 但是我需要同时通过以太网(简单的套接字连接)与远程设备建立连接,以将这些命令发送到设备。 那就是我被困住的地方。
因此,我的网站正常运行,我还编写了一个单独的小型终端程序,以仅与设备建立连接并使用简单的终端接口发送命令。 所以基本上我有程序的两个主要部分,但不能同时工作,而且我不知道如何将它们组合在一起。
我一直在阅读一些信息,以使Web服务器在单独的线程中运行,或者每次我从网站获取信息(命令/参数)时都必须连接并关闭与设备的套接字连接? 有人可以在正确的方向推动我吗?
注意:服务器正在Raspberry Pi上运行
是的,您的问题似乎是由于套接字连接不是线程安全的。
对web.py服务器的每个请求都在其自己的线程中运行,并且如果您想访问与设备的套接字连接,那么如果您的设备支持多个连接,则必须使用锁或管理连接池。
要强制web.py在单线程模式下运行,请参见以下答案:
请注意,您不必锁定所有请求(如该答案所示),并且可以仅在使用连接的部分代码上设置锁定。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.