mt
Class ServidorTCP

java.lang.Object
  extended by javax.microedition.lcdui.Displayable
      extended by javax.microedition.lcdui.Canvas
          extended by mt.ServidorTCP
All Implemented Interfaces:
java.lang.Runnable, javax.microedition.lcdui.CommandListener

public class ServidorTCP
extends javax.microedition.lcdui.Canvas
implements java.lang.Runnable, javax.microedition.lcdui.CommandListener

Servidor no qual o celular está conectado.

O tempo de vida dessa classe é o tempo de vida da conexão com o servidor.

Ela também cuida da interação com o cliente quando o jogo não está rolando, exibindo listas de salas, prompts, etc., e atuando como CommandListener destes diálogos

A tela dentro da sala é o Canvas em si. Os outros elementos são Forms e Alerts

Author:
Chester

Field Summary
 java.lang.String apelido
          Apelido atual do usuário
(package private)  javax.microedition.lcdui.List listSalas
           
(package private)  javax.microedition.lcdui.TextField txtApelido
           
 
Fields inherited from class javax.microedition.lcdui.Canvas
DOWN, FIRE, GAME_A, GAME_B, GAME_C, GAME_D, KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4, KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9, KEY_POUND, KEY_STAR, LEFT, RIGHT, UP
 
Constructor Summary
ServidorTCP(java.lang.String endereco, MiniTruco midlet)
          Cria o objeto, iniciando a conexão com o servidor e botando uma thread pra monitorar essa conexão
 
Method Summary
 void abortaJogoAtual()
          Faz o jogo em andamento, se houver, ser abortado.
 void alerta(java.lang.String titulo, java.lang.String texto)
           
 void alerta(java.lang.String titulo, java.lang.String texto, boolean bloqueia)
           
 void commandAction(javax.microedition.lcdui.Command cmd, javax.microedition.lcdui.Displayable disp)
          Processa os comandos enviados para os forms/listas
 void enviaComando(java.lang.String comando)
          Envia um comando ao servidor
 void finalizaServidor()
           
 SalaTCP getSala()
           
 void mostraFormApelido()
           
 void mostraFormSalas(java.lang.String lista)
          Exibe o formulário de escolha de sala
 void mostraMsgAguarde()
          Permite que a mensagem de aguarde apareça
protected  void paint(javax.microedition.lcdui.Graphics g)
          Desenha a mensagem de "aguarde" (quando não houver outro diálogo)
 void run()
          Monitora a conexão, acionando os eventos conforme a necessidade
static java.lang.String[] split(java.lang.String original, char separador)
          Divide uma string com base em um separador (como o split()) da classe String do J2SE.
 
Methods inherited from class javax.microedition.lcdui.Canvas
getGameAction, getHeight, getKeyCode, getKeyName, getWidth, hasPointerEvents, hasPointerMotionEvents, hasRepeatEvents, hideNotify, isDoubleBuffered, keyPressed, keyReleased, keyRepeated, pointerDragged, pointerPressed, pointerReleased, repaint, repaint, serviceRepaints, showNotify
 
Methods inherited from class javax.microedition.lcdui.Displayable
addCommand, isShown, removeCommand, setCommandListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

apelido

public java.lang.String apelido
Apelido atual do usuário


txtApelido

javax.microedition.lcdui.TextField txtApelido

listSalas

javax.microedition.lcdui.List listSalas
Constructor Detail

ServidorTCP

public ServidorTCP(java.lang.String endereco,
                   MiniTruco midlet)
Cria o objeto, iniciando a conexão com o servidor e botando uma thread pra monitorar essa conexão

Parameters:
endereco - Endereço do servidor, no formato host:porta
Throws:
java.io.IOException - Caso não seja possível conectar
Method Detail

mostraFormApelido

public void mostraFormApelido()

mostraFormSalas

public void mostraFormSalas(java.lang.String lista)
Exibe o formulário de escolha de sala

Parameters:
lista - retorno do comando "L" (qtde de pessoas em cada sala)

getSala

public SalaTCP getSala()
Returns:
Sala em que estamos (ou que está sendo espiada)

run

public void run()
Monitora a conexão, acionando os eventos conforme a necessidade

Specified by:
run in interface java.lang.Runnable

finalizaServidor

public void finalizaServidor()

alerta

public void alerta(java.lang.String titulo,
                   java.lang.String texto)

alerta

public void alerta(java.lang.String titulo,
                   java.lang.String texto,
                   boolean bloqueia)

enviaComando

public void enviaComando(java.lang.String comando)
Envia um comando ao servidor

Parameters:
comando - texto do comando a enviar

commandAction

public void commandAction(javax.microedition.lcdui.Command cmd,
                          javax.microedition.lcdui.Displayable disp)
Processa os comandos enviados para os forms/listas

Specified by:
commandAction in interface javax.microedition.lcdui.CommandListener
Parameters:
cmd -
disp -

split

public static java.lang.String[] split(java.lang.String original,
                                       char separador)
Divide uma string com base em um separador (como o split()) da classe String do J2SE.

Ele efetua a operação em dois passos, mas esta abordagem tem a vantagem de não alocar nenhum objeto além das strings não-nulas do array.


paint

protected void paint(javax.microedition.lcdui.Graphics g)
Desenha a mensagem de "aguarde" (quando não houver outro diálogo)

Specified by:
paint in class javax.microedition.lcdui.Canvas

mostraMsgAguarde

public void mostraMsgAguarde()
Permite que a mensagem de aguarde apareça


abortaJogoAtual

public void abortaJogoAtual()
Faz o jogo em andamento, se houver, ser abortado.

O processo de abort irá levar o jogador ao lugar certo.