【发布时间】:2019-04-26 23:02:21
【问题描述】:
我正在构建一个在线游戏,它使用 Django 频道 2.1.5 进行 websockets。
我能够在客户端和服务器之间建立连接,并且只能在消费者类中在它们之间发送数据:
from channels.generic.websocket import WebsocketConsumer
import json
from . import controller
class GameConsumer(WebsocketConsumer):
def connect(self):
self.accept()
print("Wohooo .. Connected to client!")
self.render()
controller.startTurn()
def render(self, type="render", message=None):
self.send(controller.renderMap(type, message))
def disconnect(self, close_code):
print("WebSocket connection is lost...")
def receive(self, text_data):
text_data_json = json.loads(text_data)
controller.handleRecieved(text_data)
...
现在,我想做的是从另一个模块调用函数render,它位于消费者类内部
我试过了:
from .. import consumer
def sendDeployments(owner, armies):
type = "renderDeployments"
message = owner + " has " + str(armies) + " to deploy"
dummyConsumer = consumer.GameConsumer()
consumer.GameConsumer.render(type, message)
但是失败了,因为我不能使用类外的“self”参数。
谁能想到实现我的目标的方法?
Ps:我现在不关心同步。
【问题讨论】:
标签: python django websocket django-channels