[급질!!!]"자바로 패래럴(병렬,프린터)포트 이용해 신호보내기"부탁드립니다^^;;
돋되다
안녕하세요.
다름이 아니고 제가 학교에서 유무선 소켓통신을 이용해
서버에서 신호를 받아서 AVR을 이용해 모터를 제어해모형엘리베이터를
움직이려합니다.
패래럴포트로 신호를 보내야 하는데 C++은
DlPortWritePortUchar(address, pin num)
명령어를 이용해 쉽게 패래럴 포트로 신호를 보냈는데
자바에서는 javax.comm api를 이용해야 한다고 나와있어
java I/O책도 보고 이리저리 뒤져서 소스를 짜긴 했다만
아직 기판이 완성되지 않아 이게 맞는지 모르겟습니다.
c++처럼 주소는 어디에 넣고 핀넘버도 어디에 넣어야
할지 모르겟습니다. 어디를 찾아바도 나와있지
않은 듯 하네요.
고수님들 답변부탁드립니다^^
아래는 엉성한 소스입니다. 다른부분은 대충 여러 소스 베끼면서 짯는데 빨간부분은 도저히 모르겟습니다.;;
참고로 이 소스는 서버부분의 소스입니다^^
import java.io.*;
import java.net.*;
import java.util.*;
import javax.comm.*;
class Server {
final static int PORT = 8001;
ServerSocket server = null;
Vector clients = new Vector(); class Client extends Thread {
Socket sock = null;
DataInputStreamis = null;
DataOutputStreamdos = null;
OutputStream os = null;
BufferedOutputStream bos = null;
CommPortIdentifier portId =null;
CommPort port =null;
Client (Socket sock) throws IOException {
this.sock = sock;
dos = new DataOutputStream(sock.getOutputStream());
is = new DataInputStream(sock.getInputStream());
portId = CommPortIdentifier.getPortIdentifier(portname);BRme);
port = portId.open(Application Name, 30000); //정확이 이부분(포트네임,어플리케이션네임)에 무엇이 들어가야 할지 모르겟네요.;;//
os = port.getOutputStream();
bos = new BufferedOutputStream(os);
start();
}
public void run() {
try {
while(true) {
String line = is.readUTF();
System.out.println(line);
if(line.equals(floor1)) bos.write(1); //1을 내보내면 1번핀을가리킬것같아 하였습니다만..;;//
else if(line.equals(floor2)) bos.write(2);
else if(line.equals(floor3)) bos.write(3);
else{
close();
break;
}
Server.this.broadcast(line);
}
}catch(IOException ie) {
System.err.println(getName()+:IOException.+ie.getMessage());
close();
}
}
public void close() {
synchronized(Server.this) {
try { if (bos != null) bos.close(); } catch (Exception e1) {}
try { if (port != null) port.close(); } catch (Exception e1) {}
try { if (is != null) is.close(); } catch (Exception e1) {}
try { if (dos != null) dos.close(); }catch(Exception e1) {}
try { if (sock != null) sock.close(); } catch (Exception e1) {}
sock = null;
}
}
}
public Server() {
try {
server = new ServerSocket(PORT);
} catch (IOException ie) {
System.err.println(Cannot create server socket);
System.exit(1);
}
while (true) {
try {
Socket sock = server.accept();
Client client = new Client(sock);
synchronized (this) {
clients.addElement(client);
}
} catch (IOException ie) {
System.err.println(IOException : + ie.getMessage());
}
}
}
public static void main(String args[]) {
new Server();
}
private synchronized void broadcast(String message) {
for (Enumeration enum=clients.elements(); enum.hasMoreElements(); )
{
Client client = (Client) enum.nextElement();
if(client == null)
continue;
if(client.sock == null) {
clients.removeElement(client);
continue;
}
try {
client.dos.writeUTF(message);
}catch(Exception e) {}
}
}
}
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2700359 | 3.0 ) SimpleButton 상태 강제 변경 (3) | 희선 | 2025-07-04 |
2700304 | ie8 전용핵 문의 (3) | 여자 | 2025-07-03 |
2700281 | 이런경우 어떻게 코딩해야 표준에 따르는건가요? (6) | 늘솜 | 2025-07-03 |
2700230 | 질문이여 ! | 뿡뿡몬 | 2025-07-03 |
2700205 | 액션스크립트책 좀 추천해주세요. (10) | 화이트캣 | 2025-07-02 |
2700173 | 자바 소스인데 어떤게 에러인지..? (1) | 호빵녀 | 2025-07-02 |
2700142 | 하단이 붙어있는 가변 레이아웃구조 질문드립니다. | 이플 | 2025-07-02 |
2700089 | 이미지를 사다리꼴로 비틀게 하는 액션코드가 있나요? (4) | 여름 | 2025-07-01 |
2700033 | 배경에 그라데이션을 넣으려고 하는데요.. (4) | 화이티 | 2025-07-01 |
2700005 | [질문] TextField 객체의 실제 높이 알아오는 방법 ? | 천사의눈물 | 2025-07-01 |
2699978 | FileReferenceList를 이용하여 업로드시 자꾸 실행속도가 느리다는 팝업이... (10) | 데이비드 | 2025-06-30 |
2699944 | 자바스크립트가 많은 사이트는... (6) | 희나리 | 2025-06-30 |
2699918 | 브라우저마다 다른 input과 텍스트 정렬 (3) | 늘봄 | 2025-06-30 |
2699887 | 동적텍스트를 그래픽으로?? (2) | 족장 | 2025-06-30 |
2699862 | scope넣기 (1) | 아인 | 2025-06-29 |
2699835 | exe로 만드는 방법을....알려주세요.. (5) | 방방 | 2025-06-29 |
2699809 | 롤오버할때 백그라운드 이미지로할때 alt설명은 어떻게해야하죠?..ㅠ (4) | 반혈 | 2025-06-29 |
2699757 | 리스트뷰에 있는 내용을 랜덤으로 추출 | 세실 | 2025-06-28 |
2699725 | JMX 질문입니다. (1) | 시나브로 | 2025-06-28 |
2699695 | 으으아으ㅏ으ㅏ 정말미쳐버리겟네요 | 진달래 | 2025-06-28 |