Przesyłanie danych typowo TCP

0

Witam mam za zadanie porownac 3 rodzaje przesylania danych w Javie tj. TCP, UDP i RMI.

2 i 3 sa proste.

Ale caly czas sie glowie jak poróznic w widoczny sposob TCP od RMI i UDP?????

Jesli zserializuje obiekty i wrzuce do ObjectOutputStream to bedzie prawie jak RMI

a jesli potne na kawałki i zaczne wysylac tablica bajtową to bedzie prawie jak UDP

any ideas ??

0

RMI to protokół innej warstwy niż TCP i UDP
RMI używa IIOP, który z kolei używa TCP

Jeżeli zrobiłeś przykład z RMI, to jednocześnie zrobiłeś z TCP (ale pewnie nie o to chodziło osobie, która zleciała to zadanie)

0

Jesli zserializuje obiekty i wrzuce do ObjectOutputStream to bedzie prawie jak RMI
a jesli potne na kawałki i zaczne wysylac tablica bajtową to bedzie prawie jak UDP

? Od kiedy? Przecież idea RMI jest taka że wywołujesz metody na obiektach zdalnych! To znaczy ze przez sieć przesyłasz żądanie wywołania metody a nie żadne obiekty!
Żeby za pomocą TCP zasymulować RMI musiałbyś mieć:

  • identyfikatory obiektów żeby wiedzieć na jakim obiekcie wywołać metodę
  • jakiś format danych do przechowywania argumentów i wyników wywołań
    TCP zapewniłoby nam że żądanie prędzej czy później zostanie przesłane jeśli jest to możliwe.
    Gdybyś chciał to samo zrobić przez UDP to trzeba by jeszcze mieć:
  • mechanizm potwierdzania odebrania żądania i potwierdzania odebrania wyników
  • mechanizm retransmisji
  • mechanizm identyfikowania żądań, tak żeby, w przypadku zagubienia się potwierdzenia odebrania żądania, akcje nie były wywoływane więcej niż raz.
0

a jesli potne na kawałki i zaczne wysylac tablica bajtową to bedzie prawie jak UDP

Prawie robi wielką różnicę. W przeciwieństwie do TCP, UDP nie gwarantuje dostarczenia całości danych. "Pocięcie na kawałki" nie ma tu nic do rzeczy, bo przy transmisji przez TCP dane też są porcjowane.

0

Dzieki za odzew wszystkim.

Shalom napisał(a)

Jesli zserializuje obiekty i wrzuce do ObjectOutputStream to bedzie prawie jak RMI
a jesli potne na kawałki i zaczne wysylac tablica bajtową to bedzie prawie jak UDP

? Od kiedy? Przecież idea RMI jest taka że wywołujesz metody na obiektach zdalnych! To znaczy ze przez sieć przesyłasz żądanie wywołania metody a nie żadne obiekty!

Akurat tu ma byc tak ze po sieci beda latac dane w postaci obrazów, wiec RMI bedzie wykorzystywac na swoj sposob warstwe TCP do przesylu.

Chodzilo mi o jakis sposob dzie np dalo by sie wyslac obiekty bez serializacji jakims strumieniem (o ile wiem chyba sie nie da :?), albo tak jak mamy strumiem Streamingowy wrzucamy do "rury" i zbieramy na koncu. bajt po bajcie??

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