Java - przesył danych w sieci TCP/IP

0

Witam!

Piszę małą aplikację sieciową.
Problem polega na tym ,że na jednym sockecie chce przesyłać rożne informacje ( min. Tekst - taki mini komunikator oraz obiekty typu Point - kliknięte myszą przez użytkownika) . I każde z tych modułów musi mięć natychmiastowy dostęp do socketu.

Myślałem poprzedzić komunikaty tekstowe jakimś znakiem specjalnym ,ale nie wiem czy nie ma jakiegoś prostszego mechanizmu ,który zrealizowałby to efektywniej.

Chciałem jescze zapytać czy można zrobić coś takiego :

	in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
		out = new PrintWriter(socket.getOutputStream(), true);
		dIn = new BufferedReader(new InputStreamReader(socket.getInputStream()));
		dOut = new PrintWriter(socket.getOutputStream(),true); 

out, in - odnosiłyby się do chatu
dIn, dOut - do danych

Tylko nie wiem czy lecąc przez jeden strumień socket.getInputStream() zostaną później odpowiednio odebrane.

Z góry dzięki.


Próbowałem zrobić osobne połączenie na innym porcie i do przesyłania danych użyci ObjectOutput/InputStream ale gdy używam tych klas to nie mogę się połączyć :D Po zmianie na BufferedReader i PrintWriter działa. Tyle ,że ja chciałbym przesyłać obiekty :D

HELP :)

0

No to wysyłaj obiekty przez ObjectOutputStream i jeżeli obiekt instanceof String to wrzucaj go do czatu, a jeżeli instanceof Point to rób z nim to co robisz teraz

0

żeby przyjąć kolejne połączenie od klienta musisz odpalić kolejny wątek dla serversocket bo metoda accept blokuje wykonywanie wątku.

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