Sun Microsystems V2.0 manual Http protocol support, Configuring the http protocol

Models: V2.0

1 54
Download 54 pages 11.11 Kb
Page 41
Image 41

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 socket-proxy

or

ant socket-proxy-gui

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:

com.sun.spot.io.j2me.socket.SocketConnection-BaseStationAddress: <IEEE address>

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

com.sun.spot.io.j2me.socket.SocketConnection-BaseStationPort: <radiogram port>

41

Page 41
Image 41
Sun Microsystems V2.0 manual Http protocol support, Configuring the http protocol