对routing疑问
来源:9-14 前端WebSocket API讲解
慕容7472185
2021-03-20
想请问下老师,通过channel_layers把私信发送给consumers中后,是怎么通过routing里的路由进入到consumers里的数据函数里的,这个过程在学习课程中还是有点晕。麻烦老师给讲解下。不理解是怎么找到这个路由的,转而进入consumers对应的函数中的。
写回答
1回答
-
您好,这里是通过路由的名称匹配。
在routings.py里面,
path('ws/<str:username>/', MessageConsumer) # 前面 ws/默认的
在Messager/views.py里面,
async_to_sync(channel_layer.group_send)(recipent.username, payload)
A给B发私信,是先把消息存到redis了,B登陆的时候,通过 ws/b_username/ 建立websocket连接,从缓存中获取消息
payload里的 'type': 'receive' 指定了使用reiceive方法
042021-03-23
相似问题