http protocol support
The http protocol is implemented to allow remote SPOT applications to open http connections to any web service accessible from a correctly configured host computer.
To open a connection do:
HttpConnection connection = (HttpConnection)Connector.open("http://host:[port]/filepath");
Where host is the Internet host name in the domain notation, e.g. www.hut.fi or a numerical TCP/IP address. port is the port number, which can usually be omitted, in which case the default of 80 applies. filepath is the path/name of the resource being requested from the web server.
Here's a complete example that retrieves the source html of the home page from the http://www.sunspotworld.com website:
HttpConnection connection = (HttpConnection)Connector.open("http://www.sunspotworld.com/");
connection.setRequestProperty("Connection", "close"); InputStream in = connection.openInputStream(); StringBuffer buf = new StringBuffer();
int ch;
while ((ch = in.read()) > 0) { buf.append((char)ch);
}
System.out.println(buf.toString());
in.close();
connection.close();
In order for the http protocol to have access to the specified URL, the device must be within radio reach of a base station connected to a host running the Socket Proxy. This proxy program is responsible for communicating with the server specified in the URL. The Socket Proxy program is started by
ant
or
ant
Configuring the http protocol
The http protocol is implemented as an HTTP client on the Sun SPOTusing the socket protocol. When an http connection is opened, an initial connection is established with the Socket Proxy over radiogram on port 10 (or as specified in the MANIFEST.MF file of your project). The Socket Proxy then replies with an available radio port that the device connects to in order to start streaming data.
By default, a broadcast is used in order to find the base station that will be used to open a connection to the Socket Proxy. In order to use a specific base station add the following property to the project's MANIFEST.MF file:
By default, radiogram port 10 is used to perform the initial connection to the Socket Proxy. This can be overridden by including the following property in the project's MANIFEST.MF file
41