データ文字列は、ソケット接続を介して受信されます。アクション変数が'IDENTIFY'である最初の例を受け取ると、それは機能します。しかし、アクション変数が'MSG'である2番目の例を受け取った場合、それは比較されません。
そして、最も奇妙なことは、ソケットクライアントの代わりに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"