太相信chatGPT了,忽悠了我1周,请教!
我用AsyncWebsocketConsumer的channel_layer 来发送信息给特定用户,前端已经认证的用户发送简单的文本:
socket.send('ready');
后端判断用户,利用channel
class landgod_match_Consumer(AsyncWebsocketConsumer):
async def receive(self, text_data=None, bytes_data=None):
if text_data == 'ready':#收到前端的ready信息
channel_layer = get_channel_layer()#实例化channel_layer
if len(ready_users) == 2:#2个用户都发送了ready,开始循环发送不同的消息(ready_users已经定义过)
i =0
for user in ready_users.keys():
channel_name = ready_users[user]
init_card = json.dumps({'A':poker_list[17*i : 17*i + 17]})#init_card 调用函数,运行调试没问题
#下面是重点了:
await channel_layer.send(channel_name, {
"type": "palycard", # 关联palycard处理函数
"message": palycard() # 由palycard函数retrun回来并发送给客户端的信息
})
i = i + 1
async def palycard():
#......do something
rerurn c
await channel_layer.send(channel_name, {
"type": "palycard", # type字段必须提供
"message": palycard() # 自定义消息内容
})
?"message": playcard() 的palycard直接报错没有定义。
请教:
1)type和message是必填字段吗?tpye的内容是什么?如何关联?与前端有什么关系?
2)非得定义一个函数来处理并关联type吗?
3)message代表什么意思?自己取得名还是固定的?
好复杂的逻辑啊!
你还用GPT写代码呀,也敢用。哈哈、