在我开发应用程序时,我遇到了一个有趣的情况。
我需要一个会话令牌,所以经过一些研究我决定选择:
sessionToken = uuid.UUID(bytes = M2Crypto.m2.rand_bytes(16))
我将它存储在MySQL表中,作为VARCHAR
当我从MySQL读取它(普通SELECT)并尝试将其作为套接字消息的第一部分发送时:
mytoken = ''
content = 'test message'
mytoken = myResultRow[1] # read from MySQL
msg = mytoken + content
self.sendMessage(msg, False)
我明白了:
self.sendMessage(msg,False)
文件" /usr/local/lib/python2.7/site-packages/autobahn/websocket/protocol.py",第2421行,在sendMessage中
断言(type(payload)== bytes)
exceptions.AssertionError:
我绕过这个:
msg = str(mytoken) + content
我可以打印令牌,但问题是当我尝试发送它而没有先在str()中...
我做错了什么,或者这是否正常'行为?不是来自数据库的varchar,存储在一个变量中,该变量声明一个空字符串是一个字符串......?