Django Kanalları, WebKontrolleri ve sohbet uygulamaları hakkında çok az soru var. Google ile hizmet vermek, kullanıcıların sohbet edebileceği ve sohbet edebilecekleri sohbet odalarına yönlendirir. Ancak bir kullanıcının başka bir kullanıcı anlık mesajını nasıl gönderebileceğini bilmiyorum. ÖrneğinDjango Kanalları
:
1) arkadaşlara John ekleyin ve sohbet başlatmak istiyoruz. 2) Sunucu tarafında, benimle ve John ile üye olarak nesne Odası oluşturabilirim. 3) Bu odaya WebSocket'e aracılığıyla mesaj gönderdiğinizde, bu mesajı kim için biliyorum ama Basitçe kullanıcı için "otomatik eşsiz odalar" make John'un kanalını
@channel_session_user_from_http
def ws_connect(message):
rooms_with_user = Room.objects.filter(members=message.user)
for r in rooms_with_user:
Group('%s' % r.name).add(message.reply_channel)
@channel_session_user
def ws_receive(message):
prefix, label = message['path'].strip('/').split('/')
try:
room = Room.objects.get(name=label)
except Exception, e:
room = Room.objects.create(name=get_random_string(30))
for u in message.chmembers:
room.members.add(u)
# here can be somethis like this
# try
reply_channel = Channels.objects.get(online=True, user=u)
Group('%s' % r.name).add(reply_channel)
Group('%s' % room.name).send({
"text": "%s : %s" % (message.user.username, message['text']),
})
@channel_session_user
def ws_disconnect(message):
prefix, label = message['path'].strip('/').split('/')
Group(label).discard(message.reply_channel)