[P2play-commit] SF.net SVN: p2play: [55] trunk/P2PlayBoot
Status: Pre-Alpha
Brought to you by:
tisoft
|
From: <ti...@us...> - 2007-07-02 13:02:39
|
Revision: 55
http://p2play.svn.sourceforge.net/p2play/?rev=55&view=rev
Author: tisoft
Date: 2007-07-02 06:02:39 -0700 (Mon, 02 Jul 2007)
Log Message:
-----------
added jmdns for local discovery of p2play nodes
Modified Paths:
--------------
trunk/P2PlayBoot/pom.xml
trunk/P2PlayBoot/src/main/java/org/p2play/boot/pastry/Pastry.java
Added Paths:
-----------
trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/
trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/LocalDiscovery.java
trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/ServiceInfo.java
trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/ServiceListener.java
Modified: trunk/P2PlayBoot/pom.xml
===================================================================
--- trunk/P2PlayBoot/pom.xml 2007-07-02 09:53:43 UTC (rev 54)
+++ trunk/P2PlayBoot/pom.xml 2007-07-02 13:02:39 UTC (rev 55)
@@ -28,14 +28,19 @@
</plugin>
</plugins>
</build>
-
- <dependencies>
- <dependency>
- <groupId>commons-vfs</groupId>
- <artifactId>commons-vfs</artifactId>
- <version>1.0</version>
- </dependency>
+
+ <dependencies>
<dependency>
+ <groupId>jmdns</groupId>
+ <artifactId>jmdns</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-vfs</groupId>
+ <artifactId>commons-vfs</artifactId>
+ <version>1.0</version>
+ </dependency>
+ <dependency>
<groupId>de.tisoft.maven.freepastry</groupId>
<artifactId>FreePastry</artifactId>
<version>2.1-SNAPSHOT</version>
Added: trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/LocalDiscovery.java
===================================================================
--- trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/LocalDiscovery.java (rev 0)
+++ trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/LocalDiscovery.java 2007-07-02 13:02:39 UTC (rev 55)
@@ -0,0 +1,38 @@
+package org.p2play.boot.discovery;
+
+import java.io.IOException;
+import java.net.InetSocketAddress;
+
+import javax.jmdns.JmDNS;
+import javax.jmdns.ServiceEvent;
+
+public class LocalDiscovery {
+ private JmDNS jmdns;
+
+ public LocalDiscovery() throws IOException {
+ jmdns = new JmDNS();
+ }
+
+ public void addService(String name, int port) throws IOException {
+ jmdns.registerService(new javax.jmdns.ServiceInfo("_p2play._tcp.local.", name
+ + "._p2play._tcp.local.", port, "P2Play - Service"));
+
+ }
+
+ public void discoverService(final ServiceListener listener) {
+ jmdns.addServiceListener("_p2play._tcp.local.", new javax.jmdns.ServiceListener(){
+ public void serviceAdded(ServiceEvent arg0) {
+ jmdns.requestServiceInfo(arg0.getType(), arg0.getName());
+ }
+
+ public void serviceRemoved(ServiceEvent arg0) {
+
+ }
+
+ public void serviceResolved(ServiceEvent arg0) {
+ listener.addServiceInfo(new ServiceInfo(arg0.getName(), new InetSocketAddress(arg0.getInfo().getInetAddress(),arg0.getInfo().getPort())));
+
+ }
+ });
+ }
+}
Added: trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/ServiceInfo.java
===================================================================
--- trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/ServiceInfo.java (rev 0)
+++ trunk/P2PlayBoot/src/main/java/org/p2play/boot/discovery/ServiceInfo.java 2007-07-02 13:02:39 UTC (rev 55)
@@ -0,0 +1 @@
+.http://www.otrforum.com/showthread.php?t=35150[203155796.4oE |