| By Thienne M Johnson,
on 29-11-2007 20:05
|
/* Java para Dispositivos Móveis - Desenvolvendo aplicações com J2ME por Thienne M. Johnson Novatec Editora LTDa ISBN: 978-85-7522-143-3 */
package socketChat;
import java.io.*; import javax.microedition.io.*; import javax.microedition.lcdui.*; import javax.microedition.midlet.*;
import socketChat.EmissorMensagens;
public class ChatCliente extends MIDlet implements Runnable, CommandListener{ private Display display; private Form telaChat; private StringItem status; private TextField mensagem; private Command enviar, sair; EmissorMensagens emissor;
public ChatCliente() { display = Display.getDisplay(this); enviar = new Command("Enviar", Command.OK, 1); sair = new Command("Sair", Command.EXIT, 0); telaChat = new Form("CLIENTE"); status = new StringItem("Status da conexão:", " "); mensagem = new TextField("Enviar:", "", 30, TextField.ANY); telaChat.append(status); telaChat.append(mensagem); telaChat.addCommand(enviar); telaChat.addCommand(sair); telaChat.setCommandListener(this); display.setCurrent(telaChat); }
public void destroyApp(boolean unconditional) { notifyDestroyed(); } protected void pauseApp() {} protected void startApp(){ Thread t = new Thread(this); t.start(); }
public void commandAction(Command c, Displayable s) { if ((c == enviar)) { emissor.enviarMensagem(mensagem.getString()); StringItem texto = new StringItem("Enviado:",mensagem.getString()); telaChat.append(texto); mensagem.setString(""); }else if (c == sair) { destroyApp(true); } }
public void run() { InputStream IS; OutputStream OS; SocketConnection conexao; try { conexao = (SocketConnection)Connector.open("socket://localhost:5000"); status.setText("Conectado ao servidor"); IS = conexao.openInputStream(); OS = conexao.openOutputStream(); emissor = new EmissorMensagens(OS); while (true) { StringBuffer buff = new StringBuffer(); int dadosEntrada = 0; while (((dadosEntrada = IS.read()) != '\n') && (dadosEntrada != -1)) { buff.append((char)dadosEntrada); } if (dadosEntrada == -1) { break; } status.setText("Mensagem recebida - " + buff.toString()); StringItem texto = new StringItem("Recebido:",buff.toString()); telaChat.append(texto); } missor.stop(); IS.close(); OS.close(); conexao.close(); status.setText("Conexão fechada"); telaChat.removeCommand(enviar); } catch (ConnectionNotFoundException exc) { } catch (IOException ioe) { } catch (Exception e) { } } }
|
|
|
| Users' Comments |
|
Average user rating
(0 voto)
|
|
Adicionar comentário
|