Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [skrypt]WDC
Forum PHP.pl > Inne > Oceny
Mistrig
Kod: http://wdc.cba.pl/?a=download
Demo: http://wdc.cba.pl/?a=demo

Witam, chciałbym poprosić o ocenę skryptu czatu, oraz o wskazanie ewentualnych błędów. Czat jest napisany za pomocą modnych ostatnio technologii PHP i AJAX. Wrazie problemów proponuje przeczytać plik pomocy znajdujący się w prawym menu w skrypcie.
NoiseMc
Cytat
Ostrzeżenie
Twoja przeglądarka nie obsługuje XHTML 1.1, związku z czym dalsze przeglądanie tej strony jest niemożliwe.

Warning
Your web browser not operate XHTML 1.1.

Uzywam Safari
Mistrig
Widocznie safari nie akceptuje application/xhtml+xml (lub tego nie zgłasza). Demo możesz zobaczyć tutaj: http://wdc.cba.pl/wdc/test.php.
Moli
Na operze działa, więc potestowałem smile.gif Akurat trafilem na kogoś na kanale więc nie gadałem sam ze sobą smile.gif Dobrze że jest opcja rezerwacji loginu. Ale ogólnie taki chat to mało roboty ponieważ nie ma za dużo opcji. Czemu aby wejść w kanały albo rozmowę prywatną muszę komende wpisywać ?

Czyli jak już wspomniałem, mało opcji, skrypt ubogi czyli nic specjalnego.
Prph
Powinienes kolejkowac wiadomosci wysylane przez uzytkownika. Teraz jak wcisne enter to czekam, az wiadomosc dotrze do serwera. Moznaby zapisywac wiadomosci w kolejce i wysylac je na serwer. Wiadomosci moznaby wysylac paczka, czyli nie czekac na odpowiedz serwera na kazda wiadomosci, ale wyslac cala kolejke a do kolejki wstawiac juz nowe.
Mistrig
Cytat(Prph @ 12.09.2007, 22:04:35 ) *
Powinienes kolejkowac wiadomosci wysylane przez uzytkownika. Teraz jak wcisne enter to czekam, az wiadomosc dotrze do serwera. Moznaby zapisywac wiadomosci w kolejce i wysylac je na serwer. Wiadomosci moznaby wysylac paczka, czyli nie czekac na odpowiedz serwera na kazda wiadomosci, ale wyslac cala kolejke a do kolejki wstawiac juz nowe.


Jakby to wyglądało jakby użytkownik pisząc wiadomość wysłał ją i nie widząc jej w oknie rozmowy próbowałby napisać ją jeszcze raz? Niby mógłbym wyświetlać je bez kontaktu z serwerem, ale wtedy co z wiadomościami innych użytkowników które by były wysłane w tym samym czasie? Jak je ustawić w odpowiednim miejscu? Zmieniać kolejność wiadomości już po wyświetleniu? Po za tym wiadomości są długo wysyłane z innego powodu (więcej informacji w FAQ). W każdym razie rozumiem, że czat wymaga jeszcze dużo pracy.


Skrypt został dopracowany, więc proszę ponownie o ocenę.
.radex
w opisie czy tam instrukcji pisze wspierane przeglądarki: "Opera 9.50". Weź pod uwagę, że jest ona w stadium beta. Zamiast tego napisz "Opera 9.0>"
Mistrig
Szczerze mówiąc nie rozumiem co oznacza zapis "Opera 9.0>", tak poza tym to co to zmienia?

ps: Nikt już nie chce ocenić? (mała informacja: poprzednie posty są sprzed 4 miesięcy więc proszę się nie sugerować, piszę to bo kilka osób już się pomyliło i myślało, że dotyczą obecnej wersji dry.gif )
nowotny
Ależ proszę bardzo:
* przy dłuższej przerwie w pisaniu następna wysłana wiadomość pojawia się dwa razy...
* tooltipy po najechaniu na te niebieskie przyciski z boku jakoś dziwnie się zachowują... czasami działają dobrze, czasami znikają po ułamku sekundy... :/
* też jestem za jakimś sprawniejszym kolejkowaniem wiadomości... to trzeba koniecznie poprawić bo przy jakimś szybszym wysyłaniu wiadomości dzieją się najdziwniejsze rzeczy...

Przydałyby się:
* timestampy wiadomości...
* obsługa emotikon w normalnym stylu a nie w stylu bbcode...
* jeśli można wstawić jakiś element (nick, tagi pogrubienia, itp.) za pomocą kliknięcia myszą to dobrze by było gdyby te elementy wstawiały się w miejscu w którym znajduje się kursor a nie na końcu...
* analogicznie, jeśli zaznaczymy kawałek tekstu który wpisaliśmy i klikniemy wstawienie tagu pogrubienia to żeby został on wstawiony na około zaznaczonego tekstu a nie na końcu...

Testowane na Opera 9.50 build 9755
Mistrig
Cytat
* tooltipy po najechaniu na te niebieskie przyciski z boku jakoś dziwnie się zachowują... czasami działają dobrze, czasami znikają po ułamku sekundy... :/

Błąd może być tylko i wyłącznie przeglądarki ponieważ jest to zwykły atrybut title i żadnych cudów z tym się nie da (raczej) zrobić.

Cytat
* jeśli można wstawić jakiś element (nick, tagi pogrubienia, itp.) za pomocą kliknięcia myszą to dobrze by było gdyby te elementy wstawiały się w miejscu w którym znajduje się kursor a nie na końcu...
* analogicznie, jeśli zaznaczymy kawałek tekstu który wpisaliśmy i klikniemy wstawienie tagu pogrubienia to żeby został on wstawiony na około zaznaczonego tekstu a nie na końcu...

Masz absolutną rację, do opracowania.

Cytat
timestampy wiadomości...

Szczerze mówiąc nie widzę sensu dat w czacie, aczkolwiek rozważę to.

Cytat
obsługa emotikon w normalnym stylu a nie w stylu bbcode...

To znaczy np. : ) zamiast [: )]? Faktycznie skoro można je wyłączyć to mogę to obsługiwać normalnie.

I na koniec:
Cytat
* też jestem za jakimś sprawniejszym kolejkowaniem wiadomości... to trzeba koniecznie poprawić bo przy jakimś szybszym wysyłaniu wiadomości dzieją się najdziwniejsze rzeczy...

Nie znam na razie przyczyny, będę musiał przejrzeć gruntownie kod.
nowotny
Cytat(Mistrig @ 4.02.2008, 20:56:21 ) *
Szczerze mówiąc nie widzę sensu dat w czacie, aczkolwiek rozważę to.

Mogą być opcjonalne i defaultowo wyłączone... winksmiley.jpg

Cytat(Mistrig @ 4.02.2008, 20:56:21 ) *
Nie znam na razie przyczyny, będę musiał przejrzeć gruntownie kod.

Jeśli mogę coś zaproponować:
* po klepnięciu w ENTER wyświetlaj od razu wiadomość w oknie i (jeśli się da) zleć obsługę błędów innemu wątkowi czy coś w ten deseń...
* jeśli wiadomość dotrze do serwera prawidłowo i dostaniesz potwierdzenie (zakładam że masz obsługę potwierdzenia dostarczenia wiadomości) to wszystko jest ok, nie trzeba nic więcej robić
* jeśli wystąpi błąd, możesz wtedy usunąć wiadomość z loga (zakładam że to jest możliwe) i wyświetlić błąd i czy użytkownik chce wysłać ponownie...
lord_t
Jak chciałem użyć /ping to mnie rozłączyło, po ponownym zalogowaniu (ale na innym nicku) poprzedni nick wisiał jeszcze. Drugi raz wpisałem ping i znowu połączenie zostało przerwane
Mistrig
Sprawdzałem kilka razy i mi działa. Jeśli byłeś wcześniej, wyczyść cache, być może masz jeszcze starą wersję i to powoduje problem. A nick był ponieważ wylogowywanie następuje po 16s od braku odpowiedzi (można sobie zmniejszyć na lepszych serwerach).
.radex
Miałem na myśli, że AJAX jest poprawnie obsługiwany począwszy od wersji 9.0, a jak ktoś używa powiedzmy obecnej Opery 9.25 i zobaczy, że ten skrypt jest obsługiwany od 9.50(która obecnie jest w stadium beta) to zostałby w pewnym sensie oszukany.

a "Opera 9.0>" miało znaczyć to samo co "Opera 9.0+"
Mistrig
Cytat
Miałem na myśli, że AJAX jest poprawnie obsługiwany począwszy od wersji 9.0, a jak ktoś używa powiedzmy obecnej Opery 9.25 i zobaczy, że ten skrypt jest obsługiwany od 9.50(która obecnie jest w stadium beta) to zostałby w pewnym sensie oszukany.

Tam nie są wymieniane przeglądarki na których działa skrypt, ale przeglądarki na jakich go testuje ( i naturalnie działa).

Wydaje mi się, że rozwiązałem już problem mnożenia się wiadomości co możecie zobaczyć tutaj: http://wdc.cba.pl/?a=demo
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2019 Invision Power Services, Inc.