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;








0















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")










share|improve this question




























    0















    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")










    share|improve this question
























      0












      0








      0








      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")










      share|improve this question














      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 23 at 4:52









      Mukul MantoshMukul Mantosh

      77112




      77112






















          1 Answer
          1






          active

          oldest

          votes


















          1














          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.






          share|improve this answer























            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
            );



            );













            draft saved

            draft discarded


















            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









            1














            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.






            share|improve this answer



























              1














              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.






              share|improve this answer

























                1












                1








                1







                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.






                share|improve this answer













                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.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 23 at 6:01









                spiritsreespiritsree

                1,8801523




                1,8801523





























                    draft saved

                    draft discarded
















































                    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.




                    draft saved


                    draft discarded














                    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





















































                    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







                    Popular posts from this blog

                    Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                    Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                    Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript