ERLEDIGT
NEIN
NEIN
ANTWORTEN
5
5
ZUGRIFFE
3301
3301
EMPFEHLEN
-
09.05.07 23:05 #1
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
schaut mal hier:
Code java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
/** * */ package de.tutorials; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; import org.jgroups.ChannelClosedException; import org.jgroups.ChannelNotConnectedException; import org.jgroups.JChannel; import org.jgroups.Message; /** * @author Tom * */ public class JGroupsExample { /** * @param args */ public static void main(String[] args) throws Exception { String props = "UDP(mcast_addr=224.0.0.150;mcast_port=5555):PING"; final JChannel channel = new JChannel(props); System.out.println("Channel ready..."); channel.connect("BUBU"); ExecutorService executorService = Executors.newSingleThreadExecutor(); executorService.execute(new Runnable() { public void run() { while (channel.isOpen()) { try { String data = "XXX " + System.currentTimeMillis(); System.out.println(channel.getLocalAddress() + " Sending... " + data); channel.send(new Message(null, channel .getLocalAddress(), data)); } catch (ChannelNotConnectedException channelNotConnectedException) { channelNotConnectedException.printStackTrace(); } catch (ChannelClosedException channelClosedException) { channelClosedException.printStackTrace(); } try { System.out.println(channel.getLocalAddress() + " Received: " + channel.receive(0)); } catch (Exception exception) { exception.printStackTrace(); } try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException interruptedException) { interruptedException.printStackTrace(); } } } }); TimeUnit.MINUTES.sleep(2); executorService.shutdown(); channel.close(); } }
Startet man davon mehrere Anwendungen bekommt man beispielsweise folgende Ausgabe (für 3 Clients):
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
log4j:WARN No appenders could be found for logger (org.jgroups.JChannel). log4j:WARN Please initialize the log4j system properly. Channel ready... 192.168.174.1:1758 Sending... XXX 1178746249562 192.168.174.1:1758 Received: [dst: 224.0.0.150:5555, src: 192.168.174.1:1758 (1 headers), size = 21 bytes] 192.168.174.1:1758 Sending... XXX 1178746254562 192.168.174.1:1758 Received: [dst: 224.0.0.150:5555, src: 192.168.174.1:1761 (1 headers), size = 21 bytes] 192.168.174.1:1758 Sending... XXX 1178746259562 192.168.174.1:1758 Received: [dst: 224.0.0.150:5555, src: 192.168.174.1:1764 (1 headers), size = 21 bytes] 192.168.174.1:1758 Sending... XXX 1178746264562 192.168.174.1:1758 Received: [dst: 224.0.0.150:5555, src: 192.168.174.1:1755 (1 headers), size = 21 bytes] 192.168.174.1:1758 Sending... XXX 1178746269562 192.168.174.1:1758 Received: [dst: 224.0.0.150:5555, src: 192.168.174.1:1758 (1 headers), size = 21 bytes] 192.168.174.1:1758 Sending... XXX 1178746274562 192.168.174.1:1758 Received: [dst: 224.0.0.150:5555, src: 192.168.174.1:1761 (1 headers), size = 21 bytes] 192.168.174.1:1758 Sending... XXX 1178746279562 192.168.174.1:1758 Received: [dst: 224.0.0.150:5555, src: 192.168.174.1:1764 (1 headers), size = 21 b
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Hallo Tom,
was ist hier Client und was Server?
Vg Erdal
-
09.05.07 23:28 #3
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
das ist ein Peer to Peer Netz
Eine Nachricht die von einem "Peer" in den Channel geschickt wird, wird (in diesem Beispiel) auch von jedem Empfangen.
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Asso
!
Ein CS Beispiel würde mich interessieren
!
Vg Erdal
-
Hi Tom
224.0.0.0 ist ja der Multicast Bereich. Heist dass, dass bei dir im Netz kein Server mit der Addr 224.0.0.150 vorhanden ist?
Und wenn jetzt ein weiterer Client den Channel auf 224.0.0.151 aufbauen würde, dann würde er die Packete des ersten Clients gar nicht berücksichtigen?
Und wie würde das aussehen, wenn man sowas übers Internet betreiben will? Multicast wird dort ja eh nicht weitergeroutet, oder?
Sorry für die Grundlagenfragen, aber ihrgenwie blick ich da gerade nicht ganz durch.
Gruss & Danke
jeipack
-
Hallo Thomas,
danke für deine Post's..
Weißt du zufährlich wie kann ich Host spezifischen Informationen andseren Teilnehmen mitteilen!?
Z.B Ich möchte das jeder Host seine Name (HOST1, HOST2... etc.) anderen Teilnehmen mitteilt.
Muss ich ein Message dafür schreiben?
Momentan führe ich eine List von allen Hosts über ReceiverAdapter -> viewAccepted(View newView){ }
Aber die Informationen aus Addresse reichen mir nich aus [ip : port]
Danke für deine Hilfe!
Dima..Geändert von Nemos (15.03.10 um 15:38 Uhr)
Ähnliche Themen
-
Kleines Beispiel zur Verwendung der Derby DB in Java 6
Von Thomas Darimont im Forum JavaAntworten: 15Letzter Beitrag: 12.08.10, 11:58 -
Kleines Beispiel zum Thema Java 3D
Von Thomas Darimont im Forum JavaAntworten: 1Letzter Beitrag: 13.11.08, 19:35 -
Kleines Beispiel zur JExcel API
Von Thomas Darimont im Forum JavaAntworten: 3Letzter Beitrag: 11.09.07, 09:42 -
Kleines Beispiel zu RMI over IIOP
Von Thomas Darimont im Forum JavaAntworten: 0Letzter Beitrag: 24.05.05, 19:10






Zitieren
Login





