sending notification to one user using Channels 2How to determine to message to particular set of listeners?Sending message to a specific connected users using webSocket?Websocket multiple Channels vs. One Channel + Server Side handling [GroupChat]Sending a message to a single user using django-channelsUsing Django Channels to send info to all connected clientsSend message on model save to anyone at WebSocket URL using Channels 2.0How do I send channels 2.x group message from django-celery 3 task?How to multithread AsyncConsumer with Django ChannelsSending data to django channels groups via django viewsdjango channels invalid state error after disconnnectRemove a specific user from a Django Channels group?
How to deal with employer who keeps me at work after working hours
How to preserve a rare version of a book?
Why does blending blueberries, milk, banana and vanilla extract cause the mixture to have a yogurty consistency?
Why would a military not separate its forces into different branches?
Is throwing dice a stochastic or a deterministic process?
How do I, as a DM, handle a party that decides to set up an ambush in a dungeon?
Can a player choose to add detail and flavor to their character's spells and abilities?
Do quaternary sulfur dications exist?
Ab major 9th chord in Bach
How did the Apollo guidance computer handle parity bit errors?
What does のそ mean on this picture?
All of my Firefox add-ons been disabled suddenly, how can I re-enable them?
Efficient deletion of specific list entries
Why increasing of the temperature of the objects like wood, paper etc. doesn't fire them?
Huffman Code in C++
Can I combine SELECT TOP() with the IN operator?
Given a safe domain, are subdirectories safe as well?
Make me a minimum magic sum
Find the area of the smallest rectangle to contain squares of sizes up to n
Do Jedi mind tricks work on Ewoks?
Has the United States ever had a non-Christian President?
How to speed up large double sums in a table?
Emergency stop in plain TeX, pdfTeX, XeTeX and LuaTeX?
Problem with estimating a sequence with intuition
sending notification to one user using Channels 2
How to determine to message to particular set of listeners?Sending message to a specific connected users using webSocket?Websocket multiple Channels vs. One Channel + Server Side handling [GroupChat]Sending a message to a single user using django-channelsUsing Django Channels to send info to all connected clientsSend message on model save to anyone at WebSocket URL using Channels 2.0How do I send channels 2.x group message from django-celery 3 task?How to multithread AsyncConsumer with Django ChannelsSending data to django channels groups via django viewsdjango channels invalid state error after disconnnectRemove a specific user from a Django Channels group?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I want to send notification to specific authenticated user using Channels 2.
In below code i am sending notification as a broadcast instead of that i want to send notification to a specific user.
from channels.generic.websocket import AsyncJsonWebsocketConsumer
class NotifyConsumer(AsyncJsonWebsocketConsumer):
async def connect(self):
await self.accept()
await self.channel_layer.group_add("gossip", self.channel_name)
print(f"Added self.channel_name channel to gossip")
async def disconnect(self, close_code):
await self.channel_layer.group_discard("gossip", self.channel_name)
print(f"Removed self.channel_name channel to gossip")
async def user_gossip(self, event):
await self.send_json(event)
print(f"Got message event at self.channel_name")
python django python-3.x websocket django-channels
add a comment |
I want to send notification to specific authenticated user using Channels 2.
In below code i am sending notification as a broadcast instead of that i want to send notification to a specific user.
from channels.generic.websocket import AsyncJsonWebsocketConsumer
class NotifyConsumer(AsyncJsonWebsocketConsumer):
async def connect(self):
await self.accept()
await self.channel_layer.group_add("gossip", self.channel_name)
print(f"Added self.channel_name channel to gossip")
async def disconnect(self, close_code):
await self.channel_layer.group_discard("gossip", self.channel_name)
print(f"Removed self.channel_name channel to gossip")
async def user_gossip(self, event):
await self.send_json(event)
print(f"Got message event at self.channel_name")
python django python-3.x websocket django-channels
add a comment |
I want to send notification to specific authenticated user using Channels 2.
In below code i am sending notification as a broadcast instead of that i want to send notification to a specific user.
from channels.generic.websocket import AsyncJsonWebsocketConsumer
class NotifyConsumer(AsyncJsonWebsocketConsumer):
async def connect(self):
await self.accept()
await self.channel_layer.group_add("gossip", self.channel_name)
print(f"Added self.channel_name channel to gossip")
async def disconnect(self, close_code):
await self.channel_layer.group_discard("gossip", self.channel_name)
print(f"Removed self.channel_name channel to gossip")
async def user_gossip(self, event):
await self.send_json(event)
print(f"Got message event at self.channel_name")
python django python-3.x websocket django-channels
I want to send notification to specific authenticated user using Channels 2.
In below code i am sending notification as a broadcast instead of that i want to send notification to a specific user.
from channels.generic.websocket import AsyncJsonWebsocketConsumer
class NotifyConsumer(AsyncJsonWebsocketConsumer):
async def connect(self):
await self.accept()
await self.channel_layer.group_add("gossip", self.channel_name)
print(f"Added self.channel_name channel to gossip")
async def disconnect(self, close_code):
await self.channel_layer.group_discard("gossip", self.channel_name)
print(f"Removed self.channel_name channel to gossip")
async def user_gossip(self, event):
await self.send_json(event)
print(f"Got message event at self.channel_name")
python django python-3.x websocket django-channels
python django python-3.x websocket django-channels
asked Mar 23 at 4:52
Mukul MantoshMukul Mantosh
77112
77112
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Most users new to Django-channels 2.x face this problem. let me explain.
self.channel_layer.group_add("gossip", self.channel_name)
takes two arguments: room_name and channel_name
When you connect from your browser via socket
to this consumer, you are creating a new socket connection called as channel
. So, when you open multiple pages in your browser, multiple channels are created. Each channel has a unique Id/name : channel_name
room
is a group of channels. If anyone sends a message to the room
, all channels in that room
will receive that message.
So, if you need to send a notification/message to a single user, then you must create a room
only for that particular user.
Assuming that current user
is passed in the consumer's scope
.
self.user = self.scope["user"]
self.user_room_name = "notif_room_for_user_"+str(self.user.id) ##Notification room name
await self.channel_layer.group_add(
self.user_room_name,
self.channel_name
)
Whenever you send/broadcast a message to user_room_name
, It will only be received by that user.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55310717%2fsending-notification-to-one-user-using-channels-2%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Most users new to Django-channels 2.x face this problem. let me explain.
self.channel_layer.group_add("gossip", self.channel_name)
takes two arguments: room_name and channel_name
When you connect from your browser via socket
to this consumer, you are creating a new socket connection called as channel
. So, when you open multiple pages in your browser, multiple channels are created. Each channel has a unique Id/name : channel_name
room
is a group of channels. If anyone sends a message to the room
, all channels in that room
will receive that message.
So, if you need to send a notification/message to a single user, then you must create a room
only for that particular user.
Assuming that current user
is passed in the consumer's scope
.
self.user = self.scope["user"]
self.user_room_name = "notif_room_for_user_"+str(self.user.id) ##Notification room name
await self.channel_layer.group_add(
self.user_room_name,
self.channel_name
)
Whenever you send/broadcast a message to user_room_name
, It will only be received by that user.
add a comment |
Most users new to Django-channels 2.x face this problem. let me explain.
self.channel_layer.group_add("gossip", self.channel_name)
takes two arguments: room_name and channel_name
When you connect from your browser via socket
to this consumer, you are creating a new socket connection called as channel
. So, when you open multiple pages in your browser, multiple channels are created. Each channel has a unique Id/name : channel_name
room
is a group of channels. If anyone sends a message to the room
, all channels in that room
will receive that message.
So, if you need to send a notification/message to a single user, then you must create a room
only for that particular user.
Assuming that current user
is passed in the consumer's scope
.
self.user = self.scope["user"]
self.user_room_name = "notif_room_for_user_"+str(self.user.id) ##Notification room name
await self.channel_layer.group_add(
self.user_room_name,
self.channel_name
)
Whenever you send/broadcast a message to user_room_name
, It will only be received by that user.
add a comment |
Most users new to Django-channels 2.x face this problem. let me explain.
self.channel_layer.group_add("gossip", self.channel_name)
takes two arguments: room_name and channel_name
When you connect from your browser via socket
to this consumer, you are creating a new socket connection called as channel
. So, when you open multiple pages in your browser, multiple channels are created. Each channel has a unique Id/name : channel_name
room
is a group of channels. If anyone sends a message to the room
, all channels in that room
will receive that message.
So, if you need to send a notification/message to a single user, then you must create a room
only for that particular user.
Assuming that current user
is passed in the consumer's scope
.
self.user = self.scope["user"]
self.user_room_name = "notif_room_for_user_"+str(self.user.id) ##Notification room name
await self.channel_layer.group_add(
self.user_room_name,
self.channel_name
)
Whenever you send/broadcast a message to user_room_name
, It will only be received by that user.
Most users new to Django-channels 2.x face this problem. let me explain.
self.channel_layer.group_add("gossip", self.channel_name)
takes two arguments: room_name and channel_name
When you connect from your browser via socket
to this consumer, you are creating a new socket connection called as channel
. So, when you open multiple pages in your browser, multiple channels are created. Each channel has a unique Id/name : channel_name
room
is a group of channels. If anyone sends a message to the room
, all channels in that room
will receive that message.
So, if you need to send a notification/message to a single user, then you must create a room
only for that particular user.
Assuming that current user
is passed in the consumer's scope
.
self.user = self.scope["user"]
self.user_room_name = "notif_room_for_user_"+str(self.user.id) ##Notification room name
await self.channel_layer.group_add(
self.user_room_name,
self.channel_name
)
Whenever you send/broadcast a message to user_room_name
, It will only be received by that user.
answered Mar 23 at 6:01
spiritsreespiritsree
1,8801523
1,8801523
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55310717%2fsending-notification-to-one-user-using-channels-2%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown