| Home | Sobre | Contatos |

 

 

java para dispositivos móveis
desenvolvendo aplicações com j2me

| Home | Livro J2ME | Exemplos do livro | Contatos |

Login Form





Esqueceu sua senha?
Sem conta? Crie uma

Syndicate

Capítulo 13- ChatCliente.java PDF Imprimir E-mail

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
Apenas utilizadores registados podem comentar um artigo.

Nenhum comentário



mXcomment 1.0.5 © 2007-2010 - visualclinic.fr
License Creative Commons - Some rights reserved
 
< Anterior   Próximo >

Advertisement
2008- Todos os direitos reservados - Profa. Thienne Johnson
Desenvolvido por datamazon