Witam, chce napisac komunikator do mojego programu. Myslalem nad tym sporo, poczytalem i zastanawiam sie jak rozwiazac jedno zagadnienie, mianowicie nie mialbym problemu z userami, ktorzy maja publiczne ip, schody zaczynaja sie, gdy w gre wchodza userzy, ktorzy nie maja publicznego ip (gra jest warta swieczki, gdyz w moim przypadku sporo ich bedzie, jednak obsluga takich osob calkowicie zmienia mechanizmy rzadzace tym programem). Do dyspozycji mam baze mysql, dlatego tez utworzylem w niej 3 tabele:
komunikator_lista (przechowywani wszyscy uzytkownicy z unikatowymi numerami)
komunikator_aktywni (lista dostepnych userow)
komunikator_wiadomosci (przechowywane nieodebrane wiadomosci dla kazdego unikatowego numeru(usera))
Jesli program zostanie uruchomiony no to dodaj usera do tabeli aktywnych, jesli program zostanie wylaczony no to usun usera z tej tabeli. (gorzej jesli podczas dzialania programu zostanie utracone polaczenie z internetem, albo ktos wylaczy zasilanie od kompa :) )
Jesli user nie ma publicznego ip to niemozliwe jest, aby serwer wyslal do niego wiadomosc, dlatego tez to user bedzie musial sprawdzac czy nie ma dla niego nowej wiadomosci (uzylbym tu timerka, ktory sprawdzal by czy nie ma nowych wiadomosci dla usera w bazie danych, jednak sadze, ze takie rozwiazanie jest troche obciazliwe i prymitywne).
Interesuje mnie jak waszym zdaniem powinny wygladac ogolne mechanizmy rzadzace tego typu komunikatorem. Z gory dziekuje za posty, serdecznie pozdrawiam