1

通过套接字连接接收数据字符串。当接收到动作变量将='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"
4

1 回答 1

5

无法重现您的问题。要调试它,请打印或记录repr()ofdataaction:这可能会向您显示原因(可能一些不可见的二进制字节已潜入data,基于您如何获得它[[您没有向我们展示]] action)。

于 2009-09-29T14:50:26.653 回答