Server Socket Connection : ServerSocketConnection « J2ME « Java Tutorial





import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.io.Reader;

import javax.microedition.io.Connector;
import javax.microedition.io.ServerSocketConnection;
import javax.microedition.io.SocketConnection;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.midlet.MIDlet;

public class PatchyMIDlet extends MIDlet implements CommandListener, Runnable {
  private Display mDisplay;

  private Form mForm = new Form("PatchyMIDlet");

  private ServerSocketConnection mServerSocketConnection;

  private boolean mTrucking = true;

  public void startApp() {
    mDisplay = Display.getDisplay(this);
    mForm.addCommand(new Command("Exit", Command.EXIT, 0));
    mForm.setCommandListener(this);

    Thread t = new Thread(this);
    t.start();

    mDisplay.setCurrent(mForm);
  }

  public void pauseApp() {
  }

  public void destroyApp(boolean unconditional) {
    shutdown();
  }
  private void shutdown() {
    mTrucking = false;
    try {
      mServerSocketConnection.close();
    } catch (IOException ioe) {
    }
  }

  public void commandAction(Command c, Displayable s) {
    if (c.getCommandType() == Command.EXIT) {
      shutdown();
      notifyDestroyed();
    }
  }

  public void run() {
    try {
      mServerSocketConnection = (ServerSocketConnection) Connector.open("socket://:80");
      SocketConnection sc = null;
      while (mTrucking) {
        sc = (SocketConnection) mServerSocketConnection.acceptAndOpen();
        Reader in = new InputStreamReader(sc.openInputStream());

        PrintStream out = new PrintStream(sc.openOutputStream());
        out.print("HTTP/1.1 200 OK\r\n\r\n");
        out.print("Message");
        out.close();
        in.close();
        sc.close();
      }
    } catch (Exception e) {
      
    }
  }
}










31.43.ServerSocketConnection
31.43.1.Server Socket Connection