数据字符串通过套接字连接接收。当收到动作变量='IDENTIFY'的第一个例子时,它可以工作。但是当收到动作变量='MSG'的第二个例子时,它不会比较。
最奇怪的是,当我使用Telnet而不是我的套接字客户端时,两者都是成功比较的。但字符串是相同的...字符串是否有可能以相同的方式编码?我怎么知道?
数据示例:
data = 'IDENTIFY 54143'
or
data = 'MSG allo'
action = data.partition(' ')[0]
if action == "MSG":
self.sendMessage(data)
elif action == "IDENTIFY":
self.sendIdentify(data)
else:
print "false"
答案 0 :(得分:5)
无法重现您的问题。要对其进行调试,请打印或记录repr()
和data
的{{1}}:这可能会显示原因(可能是某些不可见的二进制字节已经进入action
,基于你如何获得它[[你没有向我们展示]]并因此得到data
)。