我有一个脚本,该脚本旨在在用户连接时发送ENQ命令(ASCII 005)。如果用户无法提供自动回复,则我的脚本会发送“ Who Are You”。如果未对ENQ或文本请求给出任何响应,则该用户将被丢弃。文字部分有效,但客户端似乎看不到ENQ,因此可以触发自动响应。
我已经做了大量研究,但似乎找不到我想要的答案。似乎正确,但不起作用。通常,Google几乎可以解决我遇到的任何问题,但是在这种情况下,我必须问的问题是错误的。
这是Python 2.6.6。
def handle_send(self):
if self.curr_state == self.started:
return '\005' # Sends the control charactor E (ENQ)
elif self.curr_state == self.waiting:
return 'Who are you\r\n' # If no response to above, asks in plain language
elif self.curr_state == self.connected:
return 'GA+\r\n' # If the response is valid, this is hosting saying OK
elif self.curr_state == self.terminated:
return ''
else:
return ''
正常的有效响应为“ GA +”,表示系统已接受您的ENQ响应为有效。如果您在自动ENQ响应中放弃之后输入了有效信息,它将接受手动提交的有效数据,并允许您输入“ GA +”来继续。
应用程序的所有其他部分和相关程序都可以正常工作。
问题是,我认为我没有正确发送ASCII字符005。