/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Broadcasting?
Fra : Ricco Madsen


Dato : 27-11-01 12:29

Mojn,

Hvordan får man en serverapplikation til at sende den samme besked til
flere brugere/klienter via DatagramSockets?

Med venlig hilsen / Regards

Ricco F. Madsen
ricco@fiskeben.dk

 
 
Mikkel Bundgaard (27-11-2001)
Kommentar
Fra : Mikkel Bundgaard


Dato : 27-11-01 17:10

Ricco Madsen <ricco@fiskeben.dk> wrote in message
news:3c03781c.6481760@sunsite.dk...
> Mojn,
>
> Hvordan får man en serverapplikation til at sende den samme
> besked til flere brugere/klienter via DatagramSockets?
>
> Med venlig hilsen / Regards
>
> Ricco F. Madsen
> ricco@fiskeben.dk
Hej Ricco

Mener du broadcast eller multicast ? Hvis du mener broadcast
kan du bare sende pakken ud på ip 255.255.255.255. Hvorimod
ved multicast kan bruge klassen MulticastSocket der arver fra
DatagramSocket.

For et eksempel på broadcast kan du se på min hjemmeside
under "SpaceCommunicator". Du skal kigge på klasserne
"BroadcastThread" og "ReceiveThread". Dog er kode hist og her
lidt rodet, da jeg aldrig har fået tid til at kigge den igennem .
--
Mikkel Bundgaard
IT University of Copenhagen
http://officehelp.gone.dk
ICQ# 116946261
Se SpaceCommunicator - en peer-to-peer chat-applikation i Java



Ricco Madsen (27-11-2001)
Kommentar
Fra : Ricco Madsen


Dato : 27-11-01 21:08

"Mikkel Bundgaard" <mikkelbu@teliamail.dk> wrote Tue, 27 Nov 2001
17:09:42 +0100:

>Ricco Madsen <ricco@fiskeben.dk> wrote in message
>news:3c03781c.6481760@sunsite.dk...
>> Mojn,
>>
>> Hvordan får man en serverapplikation til at sende den samme
>> besked til flere brugere/klienter via DatagramSockets?
>>
>> Med venlig hilsen / Regards
>>
>> Ricco F. Madsen
>> ricco@fiskeben.dk
>Hej Ricco
>
>Mener du broadcast eller multicast ? Hvis du mener broadcast
>kan du bare sende pakken ud på ip 255.255.255.255. Hvorimod
>ved multicast kan bruge klassen MulticastSocket der arver fra
>DatagramSocket.
>
>For et eksempel på broadcast kan du se på min hjemmeside
>under "SpaceCommunicator". Du skal kigge på klasserne
>"BroadcastThread" og "ReceiveThread". Dog er kode hist og her
>lidt rodet, da jeg aldrig har fået tid til at kigge den igennem .
>--
>Mikkel Bundgaard
>IT University of Copenhagen
>http://officehelp.gone.dk
>ICQ# 116946261
>Se SpaceCommunicator - en peer-to-peer chat-applikation i Java
>
>

Hejsan,

Det ser jo meget rart ud. Jeg vil lige uddybe lidt, for at få det hele
på plads:

Hvis man broadcaster til 255.255.255.255, er det så ikke kun på
lokalnettet, der bliver sendt data til? Min applikation (et
client/server spil over Internettet) skal kunne sende data til alle de
klienter, som den har kendskab til - hvadenten de er lokale eller på
Internettet. Kan man så broadcaste som du beskriver det her?

Noget andet er, at det ville være helt i top, hvis man kan få noget
multicasting op at stå i stedet for - det skulle gøre serverens
arbejde lettere, og mindske trafikken over netværket. Er det noget, du
gider at uddybe lidt mere?

Med venlig hilsen / Regards

Ricco F. Madsen
ricco@fiskeben.dk

Mikkel Bundgaard (27-11-2001)
Kommentar
Fra : Mikkel Bundgaard


Dato : 27-11-01 21:28


Ricco Madsen <ricco@fiskeben.dk> wrote in message
news:3c03f19c.37586105@sunsite.dk...
<SNIP>
> >Mener du broadcast eller multicast ? Hvis du mener broadcast
> >kan du bare sende pakken ud på ip 255.255.255.255.
> >Hvorimod ved multicast kan bruge klassen MulticastSocket
> >der arver fra DatagramSocket.
> >
> >For et eksempel på broadcast kan du se på min hjemmeside
> >under "SpaceCommunicator". Du skal kigge på klasserne
> >"BroadcastThread" og "ReceiveThread". Dog er kode hist og
> >her lidt rodet, da jeg aldrig har fået tid til at kigge den
> >igennem .
> Hejsan,
>
> Det ser jo meget rart ud. Jeg vil lige uddybe lidt, for at få det
> hele på plads:
>
> Hvis man broadcaster til 255.255.255.255, er det så ikke kun
> på lokalnettet, der bliver sendt data til? Min applikation (et
> client/server spil over Internettet) skal kunne sende data til alle
> de klienter, som den har kendskab til - hvadenten de er lokale
> eller på Internettet. Kan man så broadcaste som du beskriver
> det her?
>
> Noget andet er, at det ville være helt i top, hvis man kan få
> noget multicasting op at stå i stedet for - det skulle gøre
> serverens arbejde lettere, og mindske trafikken over netværket.
> Er det noget, du gider at uddybe lidt mere?
>
> Med venlig hilsen / Regards
>
> Ricco F. Madsen
> ricco@fiskeben.dk
Hej Ricco

Du har helt ret i, at du skal bruge multicast, hvis én eller flere af
maskinerne ikke befinder sig på det samme lokalnet.
Hvis du kigger på klassen MulticastSocket
http://java.sun.com/j2se/1.3/docs/api/java/net/MulticastSocket.html
så er der et lille eksempel, som du måske kan bruge noget af.
Eller måske her
http://www.cdt.luth.se/~peppar/java/multicast_example/
Prøv at søge på MulticastSocket og java, så burde du finde nogle
gode eksempler .

Mht. til performance på serveren, når man bruger broadcast eller
multicast, så tror jeg ikke, at der er den helt store forskel. Men
man belaster netværket (switche mm.) mere ved broadcast.
--
Mikkel Bundgaard
IT University of Copenhagen
http://officehelp.gone.dk
ICQ# 116946261
Se SpaceCommunicator - en peer-to-peer chat-applikation i Java



Ricco Madsen (28-11-2001)
Kommentar
Fra : Ricco Madsen


Dato : 28-11-01 12:04

"Mikkel Bundgaard" <mikkelbu@teliamail.dk> wrote Tue, 27 Nov 2001
21:28:03 +0100:
<SNIP>
>Hej Ricco
>
>Du har helt ret i, at du skal bruge multicast, hvis én eller flere af
>maskinerne ikke befinder sig på det samme lokalnet.
>Hvis du kigger på klassen MulticastSocket
>http://java.sun.com/j2se/1.3/docs/api/java/net/MulticastSocket.html
>så er der et lille eksempel, som du måske kan bruge noget af.
>Eller måske her
>http://www.cdt.luth.se/~peppar/java/multicast_example/
>Prøv at søge på MulticastSocket og java, så burde du finde nogle
>gode eksempler .
>
>Mht. til performance på serveren, når man bruger broadcast eller
>multicast, så tror jeg ikke, at der er den helt store forskel. Men
>man belaster netværket (switche mm.) mere ved broadcast.
>--
>Mikkel Bundgaard
>IT University of Copenhagen
>http://officehelp.gone.dk
>ICQ# 116946261
>Se SpaceCommunicator - en peer-to-peer chat-applikation i Java
>
>

Mjello,

Det ser ud til at det er lige nøjagtigt det jeg skal bruge, og jeg har
også for så vidt også fundet et rigtig godt eksempel, der fungerer.
Jeg har bare fået et nyt problem; hvis jeg afvikler min server/sender
applikation på min lokale server og afvikler client/modtager
applikationen på min egen maskine, så kommer der ikke noget frem,
selvom de joiner den samme MultiCast gruppe.
Hvis jeg derimod afvikler begge applikationer på samme maskine (enten
min server eller min workstation), så virker det helt fint - og det
fatter jeg ikke... :-/

En anden ting er, at så vidt jeg kan forstå kan en applet ikke
multicaste. Jeg har brug for, at min server applikation kan multicaste
til en række appletter. Er det ikke muligt, at appletterne
tilkendegiver sig overfor serveren, der så tilføjer applettens adresse
til multicast gruppen? Appletterne kan så bare sende almindelige
DatagramPackets til serveren.
Er jeg helt galt på den?


Med venlig hilsen / Regards

Ricco F. Madsen
ricco@fiskeben.dk

Morten Olsson (28-11-2001)
Kommentar
Fra : Morten Olsson


Dato : 28-11-01 18:34

>
> En anden ting er, at så vidt jeg kan forstå kan en applet ikke
> multicaste. Jeg har brug for, at min server applikation kan multicaste
> til en række appletter. Er det ikke muligt, at appletterne
> tilkendegiver sig overfor serveren, der så tilføjer applettens adresse
> til multicast gruppen? Appletterne kan så bare sende almindelige
> DatagramPackets til serveren.
> Er jeg helt galt på den?
>

Jeg sidder pt. og piller med noget der ligner du det laver - altså et
distribueret
spil som spilles over internettet, hvor klientdelen afvikles i java applets.

Hvis en applet ikke er "signed" nægter den pure at acceptere indgående
trafik den
ikke selv har "bedt" om - så vidt jeg kan se er den eneste metode så at lade
den
modtage info fra serveren i form af retur-værdier fra funktioner den kalder

serveren vha. rmi... Kræver multicast i øvrigt ikke at samtlige switches man
støder
på under vejen understøtter dette ?

Er hamrende træt efter en lang session foran pc'en - så hvis der er noget
ukorrekt i
ovenstående har du på forhånd min undskyldning

Du skal da i øvrigt være meget velkommen til at maile mig privat hvis det
er...

hilsen
Morten Olsson



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste