• Jueves 14 de Noviembre de 2024, 18:43

Autor Tema:  Chat Serial - Uso De Instance Of  (Leído 4713 veces)

perlita_ls

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Chat Serial - Uso De Instance Of
« en: Martes 10 de Abril de 2007, 05:35 »
0
Hola!
Estoy haciendo un chat que se comunica a través del puerto serie, he realizado la itnerfaz gráfica y he bajado el API de Java para Windows, en la página rxtx.org, encontré un ejemplo de como comunicar dos computadoreas a través del puerto serie, he estado analizando este código y hay ciertas cosas que no entiendo, me gustaría ver si alguien de este foro, me pudiera explicar ciertas cosas. Como por ejemplo para que se usa el instance of, y el uso del inputstream y el método de Serial Reader no me queda tampoco muy claro. A continuación pegó el código:

import gnu.io.CommPort;
import gnu.io.CommPortIdentifier;
import gnu.io.SerialPort;

import java.io.FileDescriptor;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

class PuertoSerial
{
    public PuertoSerial()
    {
        super();
    }
   
    void connect ( String portName ) throws Exception
    {
        CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName);
        if ( portIdentifier.isCurrentlyOwned() )
        {
            System.out.println("Error: Puerto en uso");
        }
        else
        {
            CommPort commPort = portIdentifier.open(this.getClass().getName(),2000);
           
            if ( commPort instanceof SerialPort )
            {
                SerialPort serialPort = (SerialPort) commPort;
                serialPort.setSerialPortParams(57600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);
               
                InputStream in = serialPort.getInputStream();
                OutputStream out = serialPort.getOutputStream();
               
                (new Thread(new SerialReader(in))).start();
                (new Thread(new SerialWriter(out))).start();

            }
            else
            {
                System.out.println("Error: Solo soporta puerto serie");
            }
        }    
    }
   
 
    public static class SerialReader implements Runnable
    {
        InputStream in;
       
        public SerialReader ( InputStream in )
        {
            this.in = in;
        }
       
        public void run ()
        {
            byte[] buffer = new byte[1024];
            int len = -1;
            try
            {
                while ( ( len = this.in.read(buffer)) > -1 )
                {
                    System.out.print(new String(buffer,0,len));
                }
            }
            catch ( IOException e )
            {
                e.printStackTrace();
            }            
        }
    }

 
    public static class SerialWriter implements Runnable
    {
        OutputStream out;
       
        public SerialWriter ( OutputStream out )
        {
            this.out = out;
        }
       
        public void run ()
        {
            try
            {                
                int c = 0;
                while ( ( c = System.in.read()) > -1 )
                {
                    this.out.write©;
                }                
            }
            catch ( IOException e )
            {
                e.printStackTrace();
            }            
        }
    }
   
    public static void main ( String[] args )
    {
        try
        {
            (new PuertoSerial()).connect("COM1");
        }
        catch ( Exception e )
        {
         
            e.printStackTrace();
        }
    }
}

De antemano, Gracias             Atte. PerLiTa

maldicion

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Re: Chat Serial - Uso De Instance Of
« Respuesta #1 en: Miércoles 11 de Abril de 2007, 03:16 »
0
bueno mira inputstream se utilia para indicar una entrada de datos a través del teclado
para lo que preguntas de serial reader, aqui te mando una liga donde explica su uso

http://www.itapizaco.edu.mx/paginas/JavaTu...19/cap19-3.html

y aqui mismo podras encontrar otras cosas de interes para tu chat

Espero te sirva

perlita_ls

  • Nuevo Miembro
  • *
  • Mensajes: 4
    • Ver Perfil
Re: Chat Serial - Uso De Instance Of
« Respuesta #2 en: Jueves 12 de Abril de 2007, 04:08 »
0
Hola.. me fui de gran utilidad el link que me mandaste, ahora tengo otra duda, como puedo implementar ese código a un ambiente gráfico, para eso hice dos textares, una para el texto enviado y otro para el texto recibido, así como un botón de Enviar y otros para conectar y desconectar, lo que no se es que métodos tendría que invocar para poder Enviar los mensajes y cual para desconectar y conectar. GraciaS!

maldicion

  • Miembro activo
  • **
  • Mensajes: 47
    • Ver Perfil
Re: Chat Serial - Uso De Instance Of
« Respuesta #3 en: Jueves 12 de Abril de 2007, 23:36 »
0
Bueno mira eso tambien viene en el link que te mande, se realiza a travéz de sockets, pero aqui hay otra liga con un codigo mas explicado :)

http://www.unav.es/cti/manuales/Java/materiales/indice.html

Espero te sirva

jpaler

  • Miembro MUY activo
  • ***
  • Mensajes: 479
    • Ver Perfil
Re: Chat Serial - Uso De Instance Of
« Respuesta #4 en: Viernes 13 de Abril de 2007, 16:39 »
0
Yo si te digo algo... no hay nada peor q intentar enteder el codigo de otros,
pero peor aun, es intentar correrlo.

....

Yo q he ya he trabajado con el puerto serial, te animo a q intentes crear tu
mismo el chat... q viendolo bien, no es tan complicado como parece.

Animate y de seguro aki muchos en el foro te iran colaborando...

Salu2 !!!