// Path: shared/src/net/blanu/sneakermesh/udp/SyncServer.java
// public class SyncServer
// {
// 	private static final String TAG = "UDPLANProbe";	
// 	private static final int MAX_PROBES=10;
// 	Sneakermesh mesh;
//     DatagramSocket socket;
//     DatagramSocket broadcastSocket;
//     String data="\0x00";
//     
// 	ListenThread listener;
// 	BroadcastListenThread broadcastListener;
// 			
// 	public SyncServer(Sneakermesh sm, InetAddress broadcastAddress)
// 	{
// 		mesh=sm;
// 		
// 		try {
// 			socket = new DatagramSocket(11917);
// 			
// 			broadcastSocket = new DatagramSocket(11916);
// 			broadcastSocket.setBroadcast(true);			
// 		} catch (SocketException e) {
// 			e.printStackTrace();
// 		}
// 
// 		listener=new ListenThread();
// 		listener.start();
// 		
// 		broadcastListener=new BroadcastListenThread();
// 		broadcastListener.start();
// 	}
//     
//     public void log(String s)
//     {
//     	mesh.log(s);
//     }
//     
//     private class ListenThread extends Thread
//     {
//     	public void run()
//     	{
//     		List<String> ips=Util.getLocalIpAddresses();
//     		
//     		log("running ListenThread");
//     		while(true)
//     		{
//     			try {
//         			byte[] buf = new byte[1024];
//         			DatagramPacket packet = new DatagramPacket(buf, buf.length);
//         			log("ready to receive udp packet");
//         			socket.receive(packet);
//         			log("received udp packet from "+packet.getAddress().toString());
//         			log("I am "+ips);
//                 
//         			InetAddress peer=packet.getAddress();
//         			if(!ips.contains(peer.toString())) // Don't connect to self
//         			{
//         				log("real peer!");
//         				mesh.addPeer(peer);
//         				Command cmd=Command.readCommand(peer.toString(), buf);
//         				mesh.execute(cmd);
//         			}
//         		} catch (Exception e) {
//         				e.printStackTrace();
//         				return;
//         		}
//     		}
//     	}
//     }
//     
//     private class BroadcastListenThread extends Thread
//     {
//     	public void run()
//     	{
//     		List<String> ips=Util.getLocalIpAddresses();
//     		
//     		log("running ListenThread");
//     		while(true)
//     		{
//     			try {
//         			byte[] buf = new byte[1024];
//         			DatagramPacket packet = new DatagramPacket(buf, buf.length);
//         			log("ready to receive udp broadcast");
//         			broadcastSocket.receive(packet);
//         			log("received udp broadcast from "+packet.getAddress().toString());
//                 
//         			InetAddress peer=packet.getAddress();
//         			if(!ips.contains(peer.toString())) // Don't connect to self
//         			{
//         				mesh.addPeer(peer);
//         			}
//         		} catch (Exception e) {
//         				e.printStackTrace();
//         				return;
//         		}
//     		}
//     	}
//     }    
// }


import net.blanu.sneakermesh.udp.SyncServer;

package net.blanu.sneakermesh;


public class LANProbeService implements Logger
{
	private static final String TAG = "LANProbeService";	
	
	Sneakermesh mesh=null;
	LANProbe probe=null;	
	
	public LANProbeService()
	{
		mesh=new LaptopSneakermesh();		
		    			
		try
		{

// Path: shared/src/net/blanu/sneakermesh/udp/SyncServer.java
// public class SyncServer
// {
// 	private static final String TAG = "UDPLANProbe";	
// 	private static final int MAX_PROBES=10;
// 	Sneakermesh mesh;
//     DatagramSocket socket;
//     DatagramSocket broadcastSocket;
//     String data="\0x00";
//     
// 	ListenThread listener;
// 	BroadcastListenThread broadcastListener;
// 			
// 	public SyncServer(Sneakermesh sm, InetAddress broadcastAddress)
// 	{
// 		mesh=sm;
// 		
// 		try {
// 			socket = new DatagramSocket(11917);
// 			
// 			broadcastSocket = new DatagramSocket(11916);
// 			broadcastSocket.setBroadcast(true);			
// 		} catch (SocketException e) {
// 			e.printStackTrace();
// 		}
// 
// 		listener=new ListenThread();
// 		listener.start();
// 		
// 		broadcastListener=new BroadcastListenThread();
// 		broadcastListener.start();
// 	}
//     
//     public void log(String s)
//     {
//     	mesh.log(s);
//     }
//     
//     private class ListenThread extends Thread
//     {
//     	public void run()
//     	{
//     		List<String> ips=Util.getLocalIpAddresses();
//     		
//     		log("running ListenThread");
//     		while(true)
//     		{
//     			try {
//         			byte[] buf = new byte[1024];
//         			DatagramPacket packet = new DatagramPacket(buf, buf.length);
//         			log("ready to receive udp packet");
//         			socket.receive(packet);
//         			log("received udp packet from "+packet.getAddress().toString());
//         			log("I am "+ips);
//                 
//         			InetAddress peer=packet.getAddress();
//         			if(!ips.contains(peer.toString())) // Don't connect to self
//         			{
//         				log("real peer!");
//         				mesh.addPeer(peer);
//         				Command cmd=Command.readCommand(peer.toString(), buf);
//         				mesh.execute(cmd);
//         			}
//         		} catch (Exception e) {
//         				e.printStackTrace();
//         				return;
//         		}
//     		}
//     	}
//     }
//     
//     private class BroadcastListenThread extends Thread
//     {
//     	public void run()
//     	{
//     		List<String> ips=Util.getLocalIpAddresses();
//     		
//     		log("running ListenThread");
//     		while(true)
//     		{
//     			try {
//         			byte[] buf = new byte[1024];
//         			DatagramPacket packet = new DatagramPacket(buf, buf.length);
//         			log("ready to receive udp broadcast");
//         			broadcastSocket.receive(packet);
//         			log("received udp broadcast from "+packet.getAddress().toString());
//                 
//         			InetAddress peer=packet.getAddress();
//         			if(!ips.contains(peer.toString())) // Don't connect to self
//         			{
//         				mesh.addPeer(peer);
//         			}
//         		} catch (Exception e) {
//         				e.printStackTrace();
//         				return;
//         		}
//     		}
//     	}
//     }    
// }


// Path: laptop/src/net/blanu/sneakermesh/LANProbeService.java
import net.blanu.sneakermesh.udp.SyncServer;

package net.blanu.sneakermesh;


public class LANProbeService implements Logger
{
	private static final String TAG = "LANProbeService";	
	
	Sneakermesh mesh=null;
	LANProbe probe=null;	
	
	public LANProbeService()
	{
		mesh=new LaptopSneakermesh();		
		    			
		try
		{

			SyncServer server=new SyncServer(mesh);
