在扭曲的应用程序中,我想通过 ajax POST 启动/停止 tcp 连接(到 modbus)。我有一个标题为连接或断开连接的按钮,具体取决于连接状态。
现在我的代码看起来像:
class ConnectHandler(Resource):
modbus_connection = None
def try_disconnect(self):
log.msg('Disconnecting...')
try:
self.modbus_connection.disconnect()
except:
log.err()
return self.modbus_connection.state
def try_connect(self):
try:
framer = ModbusFramer(ClientDecoder())
reader = DataReader()
factory = ModbusFactory(framer, reader) # inherits from ClientFactory
self.modbus_connection = reactor.connectTCP(ip, 502, factory)
except:
log.err()
return str(self.modbus_connection.state)
def render_POST(self, request):
if self.modbus_connection and \
self.modbus_connection.state == 'connected':
return self.try_disconnect()
else:
return self.try_connect()
现在我在连接开始时得到“连接”,在停止连接时得到“连接”。我想等待响应,直到连接建立或取消并返回连接状态(连接或断开+可选的错误描述)。
谢谢你。