public void serialEvent(SerialPortEvent event)

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo,

ich habe noch ein Problem und zwar wenn ich bei meiner Klasse SerialPortEventListener implementiere (implements SerialPortEventListener) und die Methode public void serialEvent(SerialPortEvent event) überschreibe, wird dann jedes mal, wenn etwas empfangen wurde, die Methode public void serialEvent(SerialPortEvent event) aufgerufen.

Ich habe mich nämlich mit meinem JavaProgramm mit dem HyperTerminal eines anderen Comp verbunden und geben im Hyperterminal etwas ein, meine public void serialEvent(SerialPortEvent event)- Methode wird aber im Java Programm nicht aufgerufen.
Weiß vielleicht jemand was es da haben kann?

Vielen Dank

Code:
import javax.comm.*;
import java.io.*;
import java.util.*;

public class SerielleSchnittstelle extends Thread implements SerialPortEventListener   {
     private Enumeration portList;		   
     private CommPortIdentifier portId;
     private SerialPort serialPort;
     private OutputStream outs;    
     private InputStream ins;       
     
     public SerielleSchnittstelle()
	{
	try { 
	    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("COM1ViewPanelXML", 3000);
                            System.out.println("Ich verbinde mich mit " + serialPort);
                            } 
			catch (PortInUseException e) {System.out.println("Fehler bei open: " + e);}
			try {ins = serialPort.getInputStream();
			     outs = serialPort.getOutputStream();} 
			catch (IOException e) {System.out.println("Fehler bei Output Stream öffnen");}
			serialPort.notifyOnDataAvailable(true);
			try {serialPort.setSerialPortParams(57600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);} 
			catch (UnsupportedCommOperationException e) {System.out.println("Fehler bei der Initialisierung der seriellen Schnittstelle");}  
                        
                        outs.write("das zu schreibende".getBytes());    //schreiben
			}
		    }	    
		}		
	    }
	catch (Exception ex) {}
	}
     
     public void run()
	{
        System.out.println("Ich bin in run");
	try {	    
	    byte[] readBuf = new byte[643];
	    byte[] writeBuf = new byte[643];
	    boolean hasData = true;
            int len = 0;
	    try {
		while (hasData)
		    {
		    System.out.println("Available: " + ins.available());
                    len = ins.read(readBuf);                        //lesen	
                    outs.write("das zu schreibende".getBytes());    //schreiben				
		    }
		} 
	    catch (IOException e) {System.out.println("Fehler beim Lesen: " + e);}
	    } 
	catch (Exception e) {}
	} 
     
     public void serialEvent(SerialPortEvent event)                 
        {  
         System.out.println("Ich bin in serialEvent");
        if(event.getEventType() == SerialPortEvent.DATA_AVAILABLE){         
            String sNachricht = "";
        byte[] readBuffer = new byte[120];
        try {
            while (ins.available() > 0) 
                {
                int numBytes = ins.read(readBuffer);
                }
            String nachricht = new String(readBuffer);         
            char c = (char)0;
            System.out.println("Nachricht: " + sNachricht);
            }
        catch (IOException e) {System.out.println("Fehler: "+e);}     
            }
        }  
 }
 
S

SlaterB

Gast
> wenn ich bei meiner Klasse [Operation xy] überschreibe,
> wird dann jedes mal, wenn etwas empfangen wurde, die [Operation xy] aufgerufen.

> Weiß vielleicht jemand was es da haben kann?

was bitte ist das Problem? überschreiben ist doch dazu da, dass überschrieben wird,
oder wird die Operation nun öfter als vorher aufgerufen?
 

MQue

Top Contributor
sie wird gar nicht aufgerufen, das ist mein Problem und ich verstehs nicht warum, ich bin sicher mit COM1 verbunden, es werden sicher Daten empfangen aber es wird die Methode serialEvent nicht aufgerufen.

vielleicht hast du da eine Idee.


ah, jetzt verstehe ich: das sollte eine Frage sein (ob die Methode serialEvent bei jedem mal empfangen aufgerufen wird)
Tut mir leid

Vielen dAnk und lg
Michl
 
S

SlaterB

Gast
ein Listener macht nur Sinn, wenn man ihn irgendwo als Listener registiert,
machst du das irgendwo?
 

MQue

Top Contributor
AHHHHHH, ich bin ein trottel, ich hab vor lauter Wald die Bäume nicht mehr gesehen (oder so).

vielen DAnk!!!

lg
Michl
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Warum muss void main() public sein? Allgemeine Java-Themen 3
S auf public void Methode zugreifen ohne static Allgemeine Java-Themen 11
J Warum heißt es eig. "public static void main" ? Allgemeine Java-Themen 4
T public void init wird nicht aufgerufen Allgemeine Java-Themen 12
S public void actionPerformed Allgemeine Java-Themen 5
N this im public static void Allgemeine Java-Themen 3
G Public oder Private oder Protected Sinn Allgemeine Java-Themen 14
P einen public <Optinal String> in einer anderen Klasse mit einem Int vergleichen Allgemeine Java-Themen 2
T Abgeleitetes Interface public ohne Schlüsselwort "interface"? Allgemeine Java-Themen 3
ReinerCoder Klasse kann nicht public deklariert werden Allgemeine Java-Themen 2
I Java: public final Werte: Gute oder schlechte Praxis? Allgemeine Java-Themen 6
C Email mit public-key verschlüsseln Allgemeine Java-Themen 0
X public Getter ersetzen (Reflection?!) Allgemeine Java-Themen 3
Thallius Warum ist meine private porperty public? Allgemeine Java-Themen 7
T Schlüsselworte mehrere public-Klassen in einem Paket Allgemeine Java-Themen 7
B public class JarFilter extends FileFilter « Falsch? Allgemeine Java-Themen 4
M Public Static importRunning -> Bad Design oder ok ? Allgemeine Java-Themen 5
J public array? Allgemeine Java-Themen 5
N Polygon Klasse mit public Membern Allgemeine Java-Themen 4
P Private und public Allgemeine Java-Themen 2
S XML-Parsing / public-Member-Variablen / Design-Frage Allgemeine Java-Themen 8
V Public SVN benutzen? Allgemeine Java-Themen 11
D public boolean return Allgemeine Java-Themen 8
O Methoden in abstrakter Klasse: public oder protected? Allgemeine Java-Themen 16
lumo Row Header ist public, zeigt die funktion aber nicht public Allgemeine Java-Themen 8
F packages, public methods, assertions und argumentchecking. Allgemeine Java-Themen 3
M public class Cannix() Allgemeine Java-Themen 5
G Probleme bei String Übergabe um Public Key zu erzeugen ? Allgemeine Java-Themen 6
M ist "public abstract class * extends" möglich? Allgemeine Java-Themen 2
D Kein public Konstruktor Allgemeine Java-Themen 4
G private vs. public JRE Allgemeine Java-Themen 3
C public boolean containsAll(Collection c) Allgemeine Java-Themen 2
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
P Variablen Variable von void im ActionListener verwenden Allgemeine Java-Themen 3
M Variablen Variablenzugriff aus static void Allgemeine Java-Themen 21
D Frage zu der Methode void print(file File) Allgemeine Java-Themen 3
badfish Inerhalb der [void main] auf ein Objekt der [protected void] zugreifen Allgemeine Java-Themen 13

Ähnliche Java Themen

Neue Themen


Oben