-
-
Save JerzySpendel/7773810e6372132193a157e4608bdafb to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. Zaraz po podłączeniu się do serwera przez jakieś: | |
var socket = io.connect(url); | |
należy wyemitować zdarzenie "hello" i przesłać obiekt o strukturze: | |
{token: <token>}. Po tym zdarzeniu serwer wyemituje zdarzenie "helloResponse" i jeśli bedzie ok to w odpowiedzi będzie struktura {status: "success"}, a jeśli nie to {status: "failed", message: "Invalid token"} (nie uda się tylko jeśli token będzie zły). | |
Dopiero po przywitaniu można odbierać wiadomości i je wysyłać, a zapewnić sobie przywitanie możnaby w promisie, jakoś tak: | |
var greeted = new Promise( (resolve, reject) => { | |
io.on('helloResponse', data => { | |
resolve(data); | |
// możnaby jeszcze spróbować wykorzystać reject | |
}); | |
io.emit('hello', {token: token}); | |
}); | |
tak jakoś Andrzej proponował i tak mam też w testach. | |
2. Wysyłanie i odbieranie wiadomości. | |
Wiadomość do użytkownika jest wysyłana najpierw do serwera przez: | |
socket.emit('sendMessage', {userId: <id do kogo chcemy wysłać>, mesage: <string z wiadomoscia tutaj>}); | |
Jak serwer otrzyma zdarzenei to prześle wiadomość do odpowiedniego usera i wyemituje zdarzenie "sendMessageResponse" do wysyłającego, żeby wysyłający mogł sprawdzić czy wszystko ok, sendMessageResponse ma strukturę: {status: <status>, message: <komunikat>, data: <dodatkowe info>} | |
Wiadomości są odbierane przy wykrywaniu zdarzenia "message" i mają strukturę {from: <id od kogo>, to: <id do kogo>, data: <tresc>}. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment