• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czat losujący rozmówcę

VPS Starter Arubacloud
0 głosów
654 wizyt
pytanie zadane 24 kwietnia 2018 w Nasze projekty przez Śwież4k Bywalec (2,570 p.)
Witam. Chcę wykonać czat taki jak 6obcy.com.pl, na którym rozmówca będzie „losowany”. Mój plan jest taki, że osoba klika przycisk dołączenia do czatu i tym samym jest tworzony rekord w bazie w tabeli „rozmówców oczekujących na drugą osobę do rozmowy”. Taka osoba miała by nieparzysty numer id w kluczu głównym( dajmy na ten przykład 1). Dopiero, gdyby znalazła się druga osoba z numerem parzystym (np. 2), wykonałby się warunek sprawdzający, czy id danej osoby jest parzyste, jeśli tak to Stworzyłbym tabelę, w której odbywała by się rozmowa między osobą z id parzystym, a osobą z id o 1 mniejszym i usunął ich z tabeli dla osób oczekujących na rozmowę. Po zakończonej rozmowie tabela z ich rozmową byłaby usuwana, a oni wracali by do tabeli dla osób oczekujących, bądź też byliby całkowicie z tej bazy usunięci w wypadku opuszczeniu strony. Warunek napisałbym w php i ajaxie, dane przechowywałbym w bazie danych mysql. To jest  moje wyobrażenie działania tego typu strony, zastanawiam się, na ile takie rozwiązanie może być zawodne i jakie mogą inne potencjalne rozwiązania dla tego typu strony. Pozdrawiam

2 odpowiedzi

+1 głos
odpowiedź 24 kwietnia 2018 przez Ehlert Ekspert (212,630 p.)
Twoje rozwiązanie moim zdaniem jest zawodne. Do takich rzeczy używa się Node, Socket.io, Mongo.
komentarz 24 kwietnia 2018 przez Śwież4k Bywalec (2,570 p.)
Tzn. Dane składować w MongoDB? Socket.io do wielokanałowego działania aplikacji? Mógłbyś proszę trochę jaśniej, bo te pojęcia są mi obce.
komentarz 24 kwietnia 2018 przez Ehlert Ekspert (212,630 p.)
Dlatego Cię nakierowałem. Dokumentacja tych technologii jest o wiele bogatsza od mojej wiedzy.
komentarz 24 kwietnia 2018 przez Śwież4k Bywalec (2,570 p.)
To może inaczej. Czemu MongoDB, a nie mysql?
komentarz 24 kwietnia 2018 przez CzikaCarry Szeryf (75,340 p.)
A po co Ci relacyjna baza danych w takim projekcie? To tak, jakby używać siekiery do krojenia kotleta - można, zadziała, ale po co? :D
0 głosów
odpowiedź 24 kwietnia 2018 przez marcin99b Szeryf (81,480 p.)
Problem polega na tym, że nie każdy może sie połączyć z każdym

Ja zrobiłbym to na zasadzie, że bierzemy losowego albo pierwszego z brzegu użytkownika i przydzielamy mu innego użytkownika który też czeka (zwracamy id, reszta zabawy to chat gdzie użytkownicy znający swoje id wysyłają swoje wiadomości)
Działa synchronicznie i w oparciu o kolejkowanie, więc nie dochodzi do sytuacji, że jeden użytkownik jest jednocześnie połączony z dwoma osobami

Ale to tylko moja pierwsza myśl, tylko podrzucam pomysł jak ja bym to zrobił
Nigdy nie robiłem aplikacji tego typu, ale teraz tak zacząłem się zastanawiać nad zrobieniem czegoś pobocznego jako open source
komentarz 24 kwietnia 2018 przez Chess Szeryf (76,710 p.)

połączony z dwoma osobami

Powinno być raczej: "połączony z dwiema osobami".

komentarz 24 kwietnia 2018 przez Śwież4k Bywalec (2,570 p.)

@marcin99b, No takie coś mam właśnie na myśli. Natomiast jakich technologii użyć, bo już wiem, że mój pomysł nie dobry.

Podobne pytania

0 głosów
1 odpowiedź 274 wizyt
pytanie zadane 8 sierpnia 2018 w JavaScript przez Śwież4k Bywalec (2,570 p.)
0 głosów
1 odpowiedź 278 wizyt
pytanie zadane 2 listopada 2017 w PHP przez Krzysztofson Użytkownik (620 p.)
0 głosów
1 odpowiedź 273 wizyt
pytanie zadane 28 sierpnia 2015 w PHP przez Weenter Użytkownik (830 p.)

92,452 zapytań

141,262 odpowiedzi

319,077 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...