Ich habe mir gevent-socketio angesehen und fragte mich, wie ich an einen bestimmten Benutzer senden soll. Sagen wir, ich möchte eine Nachricht an userX senden, wenn BenutzerY Daten übermittelt. Die Beispiele senden Nachrichten an alle Benutzer in einem Chatraum, können aber immer noch nicht herausfinden, wie sie an einen bestimmten Benutzer gesendet und von diesem Ereignis empfangen werden. Muss ich einen benutzerdefinierten Broadcast Mixin erstellen?So übertragen Sie ein Ereignis an einen bestimmten Benutzer mit Pyramid und socketio
Antwort
Wenn Sie einen speziellen Sender oder einen speziellen Raum implementieren möchten, müssen Sie Ihren eigenen Mixin implementieren. Ich habe gerade das Attribut 'session' zum Namespace- und Socket-Objekt hinzugefügt, auf dem Sie die gewünschten Informationen einstellen können (es ist ein Wörterbuch). Ich schlage vor, ein Ereignis zu haben, das den Spitznamen zum Beispiel auf self.session['nickname']
setzt, und dann eine Funktion ähnlich broadcast_event()
(auf dem BroadcastMixin), die alle Sockets durchlaufen wird, überprüfen ihre Sitzung, um zu überprüfen, ob der Socket zu diesem bestimmten Benutzer gehört , und senden Sie das Paket, wenn dies der Fall ist.
Werfen Sie einen Blick auf the code. Es ist ziemlich einfach zu benutzen. Sie müssen nur die Beziehung Socket/Namespace verstehen.
- 1. Flask: Ein RESTful API und SocketIO Server
- 2. So übertragen Sie ein C++ - Objekt an einen Web-Service mit POCO-Bibliothek
- 3. So autorisieren Sie das Serviceobjekt für einen bestimmten Benutzer
- 4. So senden Sie ein Ereignis an mehrere Formulare in Delphi
- 5. Fehler an Benutzer in ASP.net zurück übertragen
- 6. Senden Sie Updates an einen Benutzer mit Socket.io und Nodejs
- 7. Wie übertragen Sie einen Puffer über ein Netzwerk mit C++?
- 8. So senden Sie mehrere Benutzerorte von verschiedenen Geräten an einen bestimmten Benutzer
- 9. So senden Sie eine Parse Push-Benachrichtigung an einen bestimmten Benutzer
- 10. So übertragen Sie große Datei mit WCF
- 11. Senden Sie Daten an einen bestimmten Benutzer mit Socket IO, Laravel, Redis, Angularjs
- 12. So richten Sie einen Wert an einer bestimmten Ausrichtung aus
- 13. Pyramid erhält aktuellen Benutzer/Benutzer-ID ohne Zugriff auf Anfrage
- 14. Übertragen von Dateien an einen Nachrichtenbroker
- 15. So übertragen Sie Daten sicher an/von einem öffentlichen Webdienst
- 16. So übertragen Sie die .xls-Datei an einen anderen FTP-Pfad mit C#
- 17. Angular So erhalten Sie ein Onselect-Ereignis
- 18. So löschen Sie Benutzer mit einer bestimmten Rolle in Meteor
- 19. Antwort auf einen bestimmten Benutzer mit Tweepy
- 20. So übertragen Sie Bitmap mit TCP-Socket
- 21. So senden Sie einen Gutscheincode an den Benutzer, wenn Sie ein Konto in opencart registrieren:
- 22. So erweitern Sie ein Onchange-Ereignis mit JavaScript
- 23. So übertragen Sie HTML-Objekt an den Browser
- 24. So übertragen Sie Daten im Webformular an eine Datenbank
- 25. CloudKit Push Benachrichtigungen an einen anderen Benutzer
- 26. So speichern Sie Download-Datei an bestimmten Ort mit PHP
- 27. Cherrypy und Pyramid Integration
- 28. Dart Nodejs und Socketio
- 29. So tippen Sie auf einen bestimmten Punkt mit Xcode UITests
- 30. verschieben Sie ein Array und fügen Sie ein neues Element an einer bestimmten Position mit memcpy
Danke Alexandre für das Schreiben des Beispiels. Ich werde es mir ansehen. Bisher war es wirklich einfach zu implementieren, danke für all die Arbeit, die Sie an diesem Projekt geleistet haben. – webjunkie