All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.cybergarage.upnp.ssdp.SSDP Maven / Gradle / Ivy

There is a newer version: 2.6.0
Show newest version
/******************************************************************
*
*	CyberUPnP for Java
*
*	Copyright (C) Satoshi Konno 2002
*
*	File: SSDP.java
*
*	Revision;
*
*	11/18/02
*		- first revision.
*	05/13/03
*		- Added constants for IPv6.
*	08/03/05
*		- Thanks for Stefano Lenzi 
*		  and Mikael 
*		- Fixed getLeaseTime() to parse normally when the value includes extra strings such as white space.
*	
******************************************************************/

package org.cybergarage.upnp.ssdp;

import org.cybergarage.util.Debug;

/**
 * 
 * This class defines constant value related to SSDP.
* All the values defined here are complaint to the UPnP Standard * * @author Satoshi "skonno" Konno * @author Stefano "Kismet" Lenzi * @version 1.0 * */ public class SSDP { //////////////////////////////////////////////// // Constants //////////////////////////////////////////////// /** * Default destination port for SSDP multicast messages */ public static final int PORT = 1900; /** * Default IPv4 multicast address for SSDP messages */ public static final String ADDRESS = "239.255.255.250"; public static final String IPV6_LINK_LOCAL_ADDRESS = "FF02::C"; public static final String IPV6_SUBNET_ADDRESS = "FF03::C"; public static final String IPV6_ADMINISTRATIVE_ADDRESS = "FF04::C"; public static final String IPV6_SITE_LOCAL_ADDRESS = "FF05::C"; public static final String IPV6_GLOBAL_ADDRESS = "FF0E::C"; private static String IPV6_ADDRESS; public static final void setIPv6Address(String addr) { IPV6_ADDRESS = addr; } public static final String getIPv6Address() { return IPV6_ADDRESS; } public static final int DEFAULT_MSEARCH_MX = 3; public static final int RECV_MESSAGE_BUFSIZE = 1024; //////////////////////////////////////////////// // Initialize //////////////////////////////////////////////// static { setIPv6Address(IPV6_LINK_LOCAL_ADDRESS); } //////////////////////////////////////////////// // LeaseTime //////////////////////////////////////////////// public final static int getLeaseTime(String cacheCont){ /* * Search for max-age keyword instead of equals sign Found value of * max-age ends at next comma or end of string */ int mx = 0; int maxAgeIdx = cacheCont.indexOf("max-age"); if (maxAgeIdx >= 0) { int endIdx = cacheCont.indexOf(',',maxAgeIdx); if (endIdx < 0) endIdx = cacheCont.length(); try { maxAgeIdx = cacheCont.indexOf("=",maxAgeIdx); String mxStr = cacheCont.substring(maxAgeIdx+1,endIdx).trim(); mx = Integer.parseInt(mxStr); } catch (Exception e) { Debug.warning (e); } } return mx; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy