시리얼통신 + 애플릿 질문드립니다.
율하
안녕하세요. 자바에 입문한지 얼마되지 않은 코드인입니다. ^^
고수님들의 도움이 필요해서 이렇게 글을 올립니다.
스스로 자바 코딩은한줄도 하지 못하지만, 회사일땜에 어쩔 수 없이 붙잡고 있습니다.
자바를 이용해서 웹에서 시리얼 통신을 구현하려고 합니다.
javax.comm 을 이용해서 시리얼통신을 한다는 건, 알았구요, Rs232c.java 란 소스도 구해서
테스트 해보니, 시리얼을 통해 문자가 전송이 되더군요..//Rs232c.java
import java.io.*;
import javax.comm.*;
public class Rs232c {
public static void main( String arg[] ) {
try {
CommPortIdentifier ports = CommPortIdentifier.getPortIdentifier( COM1 );
SerialPort port = ( SerialPort )ports.open( RS232C, 1000 );
port.setSerialPortParams( 9600,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );
port.setFlowControlMode( SerialPort.FLOWCONTROL_NONE );
OutputStream out = port.getOutputStream();
String msg = Hello;
out.write( msg.getBytes() );
out.flush();
out.close();
port.close();
}
catch( Exception e ) {
System.out.println( Error: + e.getMessage() );
}
}
}제가 지금 해야될 건, html 페이지에서 특정이미지를 마우스로 누르면 해당하는 값이 시리얼을 통해
전송되어야 하는 것입니다.
예를 들어, 이미지가 10개가 있고, 각이미지를 눌렀을때, 서로다른 시리얼이 나가는 것인데,
Rs232c.java 소스를 아래와 같이 조금 변형해서 실행 시킬 수 없는 것인지요.
해봤더니, 당연히 안됩니다..TT //Rs232c.java
import java.io.*;
import javax.comm.*;
import java.applet.*;public class Rs232c extends applet { public static void a01( String arg[] ) {
try {
CommPortIdentifier ports = CommPortIdentifier.getPortIdentifier( COM1 );
SerialPort port = ( SerialPort )ports.open( RS232C, 1000 );
port.setSerialPortParams( 9600,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );
port.setFlowControlMode( SerialPort.FLOWCONTROL_NONE );
OutputStream out = port.getOutputStream();
String msg = a01;
out.write( msg.getBytes() );
out.flush();
out.close();
port.close();
}
catch( Exception e ) {
System.out.println( Error: + e.getMessage() );
}
public static void a02( String arg[] ) {
try {
CommPortIdentifier ports = CommPortIdentifier.getPortIdentifier( COM1 );
SerialPort port = ( SerialPort )ports.open( RS232C, 1000 );
port.setSerialPortParams( 9600,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );
port.setFlowControlMode( SerialPort.FLOWCONTROL_NONE );
OutputStream out = port.getOutputStream();
String msg = a02;
out.write( msg.getBytes() );
out.flush();
out.close();
port.close();
}
catch( Exception e ) {
&nbnbsp; System.out.println( Error: + e.getMessage() );
}
public static void a03( String arg[] ) {
try {
CommPortIdentifier ports = CommPortIdentifier.getPortIdentifier( COM1 );
SerialPort port = ( SerialPort )ports.open( RS232C, 1000 );
port.setSerialPortParams( 9600,
SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE );
port.setFlowControlMode( SerialPort.FLOWCONTROL_NONE );
OutputStream out = port.getOutputStream();
String msg = a03;
out.write( msg.getBytes() );
out.flush();
out.close();
port.close();
}
catch( Exception e ) {
System.out.println( Error: + e.getMessage() );
}
}
}
애플릿은 아예 능력이 않되서 작성을 못하겠습니다. ^^;
개념없는 질문 드려서 죄송합니다만, 부디 방법을 알려주심 감사드리겠습니다.