Komunikacja klienta z serwerem w javie

0

Witam, mam pewien problem związany właśnie z komunikacją klienta z serwerem. Aplikację tworzę w języku Java.
Pierwszy problem tkwi w tym, że user wysyła do serwera ciąg w stylu "nick%wiadomośc". Jest ok dopóki nie znajdzie się ktoś kto mi w wiadomości albo nicku wpisze znak procenta, bo później wszystko się posypie. (Ma to być obsługa dla kilku userów na później, taki chat, żeby rozpoznawać nicki).
Drugi problem tkwi w obsłudze kilku klientów. Aktualnie stworzyłem z użyciem wątków obsługę jednego klienta (jednocześnie może wysyłać do serwera i odbierać od niego wiadomości). Więc w jaki sposób obsługiwać kilku klientów na serwerze ? Dla każdego tworzyć osobne wątki ? I jak to później obsłużyć?

0

Co do pierwszego problemu może warto przesyłać wiadomości w innym formacie? Np. coś na wzór xml

<wiadomosc>
    <nick>Tutaj nick autora</nick>
    <tresc>Tutaj tresc wiadomosci</tresc>
</wiadomosc>

Wtedy albo zabezpieczasz pole tekstowe żeby nie można było wpisać < ani >, albo te znaki usuwasz w javie przed podstawieniem, albo używasz CDATA w autorze i w treści, wtedy nieważne co tam będzie napisane to się nie wysypie.

Co do obsługi wielu klientów przez serwer to najlepiej zrobić każdy na osobnym wątku. Wtedy jak ktoś napisze wiadomość to wysyłasz powiadomienie o tym do każdego usera i klient pobiera wiadomości, których jeszcze nie ma pobranych. Nie wiem co mam napisać więcej co do obsługi, jak będziesz miał konkretne pytania to pisz.

1 użytkowników online, w tym zalogowanych: 0, gości: 1