j2me:Socket connection
/*J2ME: The Complete ReferenceJames KeoghPublisher: McGraw-HillISBN 0072227109*/// jad file (Please verify the jar size first)/*MIDlet-Name: socketconnectionMIDlet-Version: 1.0MIDlet-Vendor: MyCompanyMIDlet-Jar-URL: socketconnection.jarMIDlet-1: socketconnection, , socketconnectionMicroEdition-Configuration: CLDC-1.0MicroEdition-Profile: MIDP-1.0MIDlet-JAR-SIZE: 100*/import javax.microedition.midlet.*;import javax.microedition.lcdui.*;import java.io.*;import javax.microedition.io.*;public class socketconnection extends MIDlet implements CommandListener { private Command exit, start; private Display display; private Form form; public socketconnection () { display = Display.getDisplay(this); exit = new Command(“Exit”, Command.EXIT, 1); start = new Command(“Start”, Command.EXIT, 1); form = new Form(“Read Write Socket”); form.addCommand(exit); form.addCommand(start); form.setCommandListener(this); } public void startApp() throws MIDletStateChangeException { display.setCurrent(form); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command command, Displayable displayable) { if (command == exit) { destroyApp(false); notifyDestroyed(); } else if (command == start) { try { StreamConnection connection = (StreamConnection) Connector.open(“socket://www.myserver.com:80”); PrintStream output = new PrintStream(connection.openOutputStream() ); output.println( “GET /my.html HTTP/0.9\n\n” ); output.flush(); InputStream in = connection.openInputStream(); int ch; while( ( ch = in.read() ) != –1 ) { System.out.print( (char) ch ); } in.close(); output.close(); connection.close(); } catch( ConnectionNotFoundException error ) { Alert alert = new Alert( “Error”, “Cannot access socket.”, null, null); alert.setTimeout(Alert.FOREVER); alert.setType(AlertType.ERROR); display.setCurrent(alert); } catch( IOException error ) { Alert alert = new Alert(“Error”, error.toString(), null, null); alert.setTimeout(Alert.FOREVER); alert.setType(AlertType.ERROR); display.setCurrent(alert); } } }}