TCPIP Schnittstelle

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hallo,

ich habe ein Problem mit dem Öffnen der Ethernet- Schnittstelle, und zwar öffne ich eine TCPIP- Schnittstelle, indem ich unteren Konstruktor aufrufe,
sollte keine Verbindung zustande kommen, da das externe Gerät blockiert so ändere ich das externe Gerät und rufe nochmal den Konstruktor auf um es erneut zu versuchen, das funktioniert alle nur mein Problem ist, das beim 2. Aufruf des Konstruktors unten in der Methode mywrite(...) sockOut null ist (da ich ein anderes Objekt beim 2 aufruf erzeugt habe)

Wenn ich sockOut static mache, dann gehts natürlich aber wie kann ich es OO machen, ohne das ich sockOut static mache??

lf und vielen Dank

Code:
 public TcpipSchnittstelle(int adresse, String name, String IPAdresse, int port, String mode)       // Konstruktor                                                                       
	{
        this.mode = mode;
	this.IPAdresse = IPAdresse;
	this.port = port;
        try {
            sock = new Socket(IPAdresse, port);        
            socketMapTcp.put(adresse, sock);
            sockOut = sock.getOutputStream();
            sockIn = sock.getInputStream();
            }

public void mywrite(byte[] buf)
        {
        try {
            sockOut.write(buf, 0, buf.length);   // wenn ich den Konstruktor oben ein zweites mal
             }                                                // aufrufe, da beim ersten mal das externe Gerät blockierte dann 
catch (Exception e) {System.err.println("Fehler in der Klasse TcpipSchnittstelle: OutputStream von TCPIP nicht bekannt: " + sockOut + ": " + e);}                          // ist sockOut null

Das ist meine Fehlermeldung:

Code:
Fehler in der Klasse TcpipSchnittstelle: OutputStream von TCPIP nicht bekannt: null: java.lang.NullPointerException
 
Weiß da niemand etwas dazu, ich hab keine Ahnung, wie ich das machen kann, ich habe ein Objekt, mit dem ich keine Verbindung herstellen konnte, nach Änderungen am Client erzeuge ich ein neues Objekt, welches aber jetzt kein sockOut mehr hat???


bzw. wie kann ich es machen, dass, wenn ich keine Verbindung über TCP herstellen konnte -> etwas ändere und es dann nochmal versuche??


lg
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben