package org.socketdemo; import javax.microedition.io.Connector; import javax.microedition.io.SocketConnection; import javax.microedition.lcdui.Alert; import javax.microedition.lcdui.AlertType; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class SocketDEMO extends MIDlet implements CommandListener { protected SocketDEMO midlet = this; private Alert info; protected void destroyApp(boolean value) throws MIDletStateChangeException { notifyDestroyed(); } protected void pauseApp() { } protected void startApp() throws MIDletStateChangeException { new Thread() { public void run() { SocketConnection socket = null; try { socket = (SocketConnection) Connector.open("socket://193.204.114.233:13"); socket.openInputStream(); info = new Alert("Info", "Current IP: " + socket.getLocalAddress() + "\nPort: " + socket.getLocalPort(), null, AlertType.INFO); info.setTimeout(Alert.FOREVER); info.setCommandListener(midlet); getDisplay().setCurrent(info); } catch(Exception error) { info = new Alert("Info", "Current IP: N/A\nPort: N/A", null, AlertType.INFO); info.setTimeout(Alert.FOREVER); info.setCommandListener(midlet); getDisplay().setCurrent(info); } finally { if(socket != null) { try { socket.close(); } catch(Exception error) { } } } } }.start(); } protected Display getDisplay() { return Display.getDisplay(this); } public void commandAction(Command cmd, Displayable dsp) { if(cmd == Alert.DISMISS_COMMAND) { try { destroyApp(true); } catch(MIDletStateChangeException error) { } } } }
You need to create an account or log in to post comments to this site.
thank you so, so much for this useful code to get IP
I managed to get the IP, but I can't help wondering y u use the following code:
Connector.open("socket://193.204.114.233:13");
where this connection actually connected to?
and what is return from this connection that can help me to get the localIP?
Please tell me...
Thanks in advanced.
~Elaine