Z uwagi na dużą liczbę wpisów stworzonych bez wątpienia wyłącznie w celu pozycjonowania stron na określone frazy, dodaliśmy do wszystkich linków (w postach i podpisach) atrybut rel="nofollow". Z tego względu wszystkie dodane linki straciły swoją moc pozycjonerską. Forum jest dla Was, dlatego prosimy o zamieszczanie wyłącznie "prawdziwych" tematów i odpowiedzi.

Chat, websocket server - logika działania

asp.NET, PHP oraz bazy danych
  • Wiadomości
Offline

zielu701

  • Posty: 1
  • Rejestracja: 17 lut 2014, o 22:30

Chat, websocket server - logika działania

Post29 lis 2014, o 17:20

Witam wszystkich,
niedawno kupiłem kurs Javascript - Techniki zaawansowane. Jest tam chat, który używa ws z node.js. Bardzo mi zależy aby ws był w php, znalazłem takie rozwiązanie: http://socketo.me/.

Chcę stworzyć aplikację coś ala chat z facebooka. Nasunęło mi się kilka pytań i liczę na Waszą pomoc. Do rzeczy.

1) Logowanie do chatu.
- osoba która loguje się do chatu, przesyła przez WS swoje dane do logowania,
- server sprawdza, czy dane są poprawne,
- jeżeli są, dodaje token do bazy danych (dowiązuje go do aktywnego połączenia) i wysyła użytkownikowi. Javascript odczytuje token i zachowuje w zmiennej.

Jest jeszcze możliwość użycia sesji. "Important: Sessions through WebSockets work as they do through a traditional webserver; a cookie is set and transmitted in each request header. This means that your website and your WebSocket server both must have access to the cookie.".

Nie wiem czy dobrze rozumiem, czy nagłówki wysyłane są przy każdej wiadomości? Czy rozwiązanie które zaproponowałem jest poprawne (pod względem bezpieczeństwa i prędkości działania aplikacji), czy jednak powinienem użyć sesji, lub całkowicie czegoś innego?

2) Wysyłanie wiadomości (JSON).
Gdy użytkownik przeszedł autoryzację, może wysyłać wiadomości, w których przekazywany jest token oraz id usera do którego ma dojść wiadomość (id zapisane w bazie danych, ponieważ można wysyłać wiadomości do osób, które nie są zalogowane).
- server sprawdza czy token jest powiązany z aktywnym połączeniem, które ten token otrzymało (łączy się z baza danych, i sprawdza czy wpis istnieje),
- jeżeli tak, to wysyła wiadomość oraz zapisuje ją w bazie, jeżeli nie zwraca błąd.

3) Konferencje lub chat roomy.
- Użytkownik wysyła id konferencji lub chatroomu w wiadomości do servera,
- server sprawdza id konferencji w bazie danych i wysyła wiadomość do przypisanych użytkowników.

To jest mój jedyny pomysł jak mogłoby to wyglądać, czy tak będzie dobrze?

4) Kto jest online.
Osoba która się dołącza, dodawana jest do bazy, a zaktualizowany status wysyłany do już zalogowanych.
Ktoś, kto się łączy pobiera z bazy osoby online.
Przy rozłączaniu wpis z bazy jest kasowany (czy może jednak lepiej przechowywać wpisy i tylko je aktualizować?), a do osób na chacie wysyłany jest zaktualizowany status użytkownika.

Proszę o podpowiedzi co do logiki działania takiej aplikacji. Po Waszej weryfikacji, zacznę od zaprojektowania bazy danych i wstawię tutaj jakiś szkic do sprawdzenia.

Z góry wielkie dzięki za pomoc :).

Wróć do Server side

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości

cron