Foros del Web » Programación para mayores de 30 ;) » Java »

API´s de Java

Estas en el tema de API´s de Java en el foro de Java en Foros del Web. Hola: estoy tratando de realizar un applet que utilice el api de java el javacomm para tener comunicacion con los puertos de la maquina del ...
  #1 (permalink)  
Antiguo 14/03/2005, 10:24
Avatar de zaceks  
Fecha de Ingreso: abril-2004
Ubicación: Mérida, Yucatán México
Mensajes: 37
Antigüedad: 20 años
Puntos: 0
API´s de Java

Hola:
estoy tratando de realizar un applet que utilice el api de java el javacomm para tener comunicacion con los puertos de la maquina del cliente, ya que lo necesito poner en una aplicacion web, quisiera saber si esto es posible, agradezco cualquier tipo de ayuda...
Gracias
__________________
:borracho: Si no me acuerdo, no paso!!! :-p
  #2 (permalink)  
Antiguo 14/03/2005, 10:27
 
Fecha de Ingreso: febrero-2005
Mensajes: 396
Antigüedad: 19 años, 2 meses
Puntos: 1
Probablemente no podrás a menos de que tengas privilegios suficientes, es decir, tendrás que firmar el applet.

Busca por el foro sobre como firmar un applet (y google) para hacerte una idea del tema

Un saludo

Zerjillo
  #3 (permalink)  
Antiguo 14/03/2005, 10:51
Avatar de zaceks  
Fecha de Ingreso: abril-2004
Ubicación: Mérida, Yucatán México
Mensajes: 37
Antigüedad: 20 años
Puntos: 0
okas y alguien tendra idea de como realizar el applet que propongo, soy nuevo en esto y aun no he podido ejecutar los ejemplos que trae el api...

cualquier tipo de ayuda es bienvenida
__________________
:borracho: Si no me acuerdo, no paso!!! :-p
  #4 (permalink)  
Antiguo 17/03/2005, 09:37
Avatar de zaceks  
Fecha de Ingreso: abril-2004
Ubicación: Mérida, Yucatán México
Mensajes: 37
Antigüedad: 20 años
Puntos: 0
ok, ya logre comunicarme con el dispositivo conectado al puerto serie, pero desde una aplicacion, aqui el codigo:

import java.awt.*;
import java.io.*;
import java.util.*;
import javax.comm.*;

public class Bascula implements Runnable, SerialPortEventListener {
static String messageString = "P";
static SerialPort serialPort;
static OutputStream outputStream;
static CommPortIdentifier portId;
static Enumeration portList;
static InputStream inputStream;
static Thread readThread;

public static void main(String[] args) {
portList = CommPortIdentifier.getPortIdentifiers();

while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {

//-------------------ciclo
//-------------------escritura
if (portId.getName().equals("COM1")) {
try {
serialPort = (SerialPort)
portId.open("BasculaApp", 2000);
} catch (PortInUseException e) {}
try {
outputStream = serialPort.getOutputStream();
} catch (IOException e) {}
try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {}
try {
outputStream.write(messageString.getBytes());
} catch (IOException e) {}
//---------------fin escritura
//---------------parametros lectura
Bascula reader = new Bascula();
}
}
}

}

public Bascula() {
try {
serialPort = (SerialPort) portId.open("BasculaApp", 2000);
} catch (PortInUseException e) {}
try {
inputStream = serialPort.getInputStream();
} catch (IOException e) {}
try {
serialPort.addEventListener(this);
} catch (TooManyListenersException e) {}
serialPort.notifyOnDataAvailable(true);
try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {}
readThread = new Thread(this);
readThread.start();
}

public void run() {
try {
Thread.sleep(20000);
} catch (InterruptedException e) {}
}

public void serialEvent(SerialPortEvent event) {
switch(event.getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE:
byte[] readBuffer = new byte[10];

try {
while (inputStream.available() > 0) {
int numBytes = inputStream.read(readBuffer);
}
System.out.print(new String(readBuffer));
} catch (IOException e) {}
break;
}
}

}
/*-----------------------------

ahora quiero convertir este programita en un applet lo que hice fue lo siguiente:
*/



import java.awt.*;
import java.io.*;
import java.util.*;
import javax.comm.*;
import java.applet.*;

public class bascapplet extends Applet
implements Runnable, SerialPortEventListener {

static String messageString = "P";
static SerialPort serialPort;
static OutputStream outputStream;
static CommPortIdentifier portId;
static Enumeration portList;
InputStream inputStream;
Thread readThread;
String dato;

public void init() {
portList = CommPortIdentifier.getPortIdentifiers();

while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
//-------------------ciclo
//-------------------escritura
if (portId.getName().equals("COM1")) {
try {
serialPort = (SerialPort)
portId.open("bascappletApp", 2000);
} catch (PortInUseException e) {}
try {
outputStream = serialPort.getOutputStream();
} catch (IOException e) {}
try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {}
try {
outputStream.write(messageString.getBytes());
} catch (IOException e) {}
//---------------fin escritura
//---------------parametros lectura
bascapplet reader = new bascapplet();
}
}
}
try {
serialPort = (SerialPort) portId.open("bascappletApp", 2000);
} catch (PortInUseException e) {}
try {
inputStream = serialPort.getInputStream();
} catch (IOException e) {}
try {
serialPort.addEventListener(this);
} catch (TooManyListenersException e) {}
serialPort.notifyOnDataAvailable(true);
try {
serialPort.setSerialPortParams(9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
} catch (UnsupportedCommOperationException e) {}
readThread = new Thread(this);
}

public void start() {
readThread.start();
}

public void run() {
try {
Thread.sleep(20000);
} catch (InterruptedException e) {}
}
public void serialEvent(SerialPortEvent event) {
switch(event.getEventType()) {
case SerialPortEvent.BI:
case SerialPortEvent.OE:
case SerialPortEvent.FE:
case SerialPortEvent.PE:
case SerialPortEvent.CD:
case SerialPortEvent.CTS:
case SerialPortEvent.DSR:
case SerialPortEvent.RI:
case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
break;
case SerialPortEvent.DATA_AVAILABLE:
byte[] readBuffer = new byte[10];

try {
while (inputStream.available() > 0) {
int numBytes = inputStream.read(readBuffer);
}
//System.out.print(new String(readBuffer));
dato=new String(readBuffer);
} catch (IOException e) {}
break;
}
}

public void paint( Graphics g ) {
g.drawString( "*"+dato+"*",25,25 );
}
}
/*
ya firme el applet, modifique la seguridad con el policytool, y nomas no funcia, si alguien me puede ayudar con este revoltijo, gracias...
saludos
*/
__________________
:borracho: Si no me acuerdo, no paso!!! :-p
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:55.