21. november 2005 - 11:05
Der er
1 kommentar og
1 løsning
Godt eksempel på seriel kommunikation i Java
Hej Experter
Jeg søger et rigtig godt eksempel på serielkommunikation i java. Jeg har været inde og se på simplereader og simplewriter, men jeg kunne godt tænke mig et eksempel, hvor write og send kører i seperate tråde. Videre nogle gode metoder til at starte og sende imformation. Jeg synes bare ikke man kan finde noget skide godt herinde, så kunne godt tænke mig at nogle kunne smide et link eller en kodestump som vidste et godt eksempel på ovenstående. Tror mange ville kunne få glæde af deet..
06. december 2005 - 12:13
#1
Hej Experter...jeg fandt selv en løsning:
Klassen receiver skal også oprettet....
package Network;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.TooManyListenersException;
import javax.comm.CommPortIdentifier;
import javax.comm.PortInUseException;
import javax.comm.SerialPort;
import javax.comm.UnsupportedCommOperationException;
import Core.Domain;
public class Communication {
static String tempString;
private CommPortIdentifier portId;
private Enumeration portList;
public OutputStream outputStream;
InputStream inputStream;
SerialPort serialPort;
public void initCommunication() {
portList = CommPortIdentifier.getPortIdentifiers();
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {
if (portId.getName().equals("COM1")) {
try {
serialPort = (SerialPort) portId.open("writereadobjectApp", 2000);
} catch (PortInUseException e) {
System.out.println(e);
}
try {
serialPort.setSerialPortParams(38400,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
}
catch (UnsupportedCommOperationException e) {
System.out.println("UnsupportedCommOperationException, Could not set the port: " + e);
}
try {
outputStream = serialPort.getOutputStream();
inputStream = serialPort.getInputStream();
}
catch (IOException e) {
System.out.println(e);
}
try {
serialPort.addEventListener(Domain.receiveThread);
}
catch (TooManyListenersException e) {
System.out.println(e);
}
serialPort.notifyOnDataAvailable(true);
}
}
}
}
void closePort() {
serialPort.close();
System.out.println("Port closed successfully.");
}
public Communication(){
/** Initialize the messagehandler */
Domain.outgoingMessageHandler = new OutgoingMessageHandler();
/** Initialize the messagehandler */
Domain.ingoingMessageHandler = new IngoingMessageHandler();
Domain.ingoingMessageHandler.start();
initCommunication();
}
}