Używam programów node.js i socket.io do utworzenia aplikacji do czatu. Jak wysłać wiadomość do innego gniazda, znam identyfikator gniazda lub nazwę użytkownika. Nie ma pokoi, klienci czatują jeden na jednego.Wysyłanie wiadomości do unikalnego gniazda
8
A
Odpowiedz
21
Z Socket.IO, nie jesteś ograniczony do używania tylko obiektu gniazda w ramach wywołania zwrotnego funkcji połączenia. Można utworzyć obiekt, który przechowuje obiekt gniazda dla określonej nazwy użytkownika i wyszukać gniazdo, aby wysłać wiadomość, gdy klient wyśle wiadomość. Będziesz musiał przesłać zamierzony cel przy każdej wiadomości.
przykład:
var sockets = {};
...
io.on('connection', function(socket){
socket.on('set nickname', function (name) {
sockets[name] = socket;
});
socket.on('send message', function (message, to) {
sockets[to].emit(message);
});
});
Więcej przykładów na examples page of Socket.IO's website.
0
można sprawdzić właściwość nazwę użytkownika wszystkich gniazd tak:
socket.on('send message', function(message,to){
io.sockets.clients().forEach(function (socket) {
if (socket.username==to){socket.emit(message);}
});
});
Powiązane problemy
- 1. Wysyłanie wiadomości e-mail
- 2. Wysyłanie wiadomości między komputerami
- 3. Wysyłanie wiadomości "w imieniu"
- 4. wysyłanie wiadomości json do wyrażania - nieprawidłowy json
- 5. Wysyłanie wiadomości do WhatsApp przy użyciu java
- 6. Wysyłanie wiadomości do klienta za pośrednictwem jej socket.id
- 7. Sails.js + socket.io: Wysyłanie wiadomości z serwera do klientów
- 8. wysyłanie wiadomości z pliku wsadowego
- 9. Wysyłanie wiadomości e-mail - MFMailComposeResult
- 10. Wysyłanie wiadomości Firebase NoSuchMethodError.zzUr wyjątek
- 11. Wysyłanie wiadomości xmpp przy użyciu biblioteki python
- 12. Wysyłanie treści PartialView jako wiadomości e-mail
- 13. Wysyłanie wiadomości przez WhatsApp Przez zamiarem
- 14. Wysyłanie zamówionej, masowej wiadomości e-mail
- 15. Wysyłanie bezpośrednich wiadomości ze Twittera API
- 16. Wysyłanie wielu wiadomości e-mail z codeigniter
- 17. Wysyłanie wiadomości e-mail - symulator iPhone'a
- 18. Wysyłanie wiadomości za pośrednictwem XMPPFramework dla iOS
- 19. Wysyłanie wiadomości SM5100B za pomocą cutecom
- 20. Wysyłanie wiadomości e-mail w Sharepoint
- 21. Wysyłanie wiadomości między dwoma obiektami JPanel
- 22. Wysyłanie wiadomości e-mail przy użyciu C#
- 23. Wysyłanie wiadomości e-mail na konto Yahoo
- 24. Wysyłanie wiadomości między wątkami klas Python
- 25. Automatyzuj wysyłanie wiadomości do kanału Telegram za pośrednictwem interfejsu API
- 26. Wysyłanie wiadomości do klienta okresowo przez Spring Web-Socket
- 27. Toast "wysyłanie wiadomości do Handler'a na martwym wątku"
- 28. Rails Mailer: wysyłanie wiadomości e-mail do lokalnego pliku
- 29. Wysyłanie wiadomości w formacie PHP mail() do spamu GMAIL
- 30. Wysyłanie wiadomości do wszystkich klientów (klient - komunikacja z serwerem)
wielki, że jest to rozwiązanie –
Jak obsługiwać „na” jest nie należą do żadnego pseudonimu? Na przykład; Pseudonim "A" jest wysyłany msg do pseudonimu "B", pseudonim "B" jest wysyłany msg do pseudonimu "C". I nie ma pseudonimu "C". Następnie podaj błąd = "nie można odczytać właściwości" wyślij "o niezdefiniowanym" – drojokef