Sockets und NullPointerException



  • Hi Leute,
    hab heute mal aus Langeweile angefangen nen Chat zu programmieren, also Server plus Client dazu... Nya weit bin ich ned gekommen, weil ich mich noch nicht mal anmelden kann (nya wär bis jetzt eh unsicher). Ich bekomm ne NullPointerException kann mir die aber leider ned erklären...

    Ich post hier erst mal in Auszügen, von denen ich denke, dass dort die fehler zu finden sind...

    aus LoginThread.java (hier spastet es wohl bei der nicknamen erkennung rum und wenn ich die auskommentiere kommt eben die NullPointerException in der Zeile "lnkServer.addUser(..)"

    Socket userSocket = srvSocket.accept();
    System.out.println("Ein User hat sich angemeldet, muss noch den namen wählen");
    BufferedReader in = new BufferedReader(new InputStreamReader(userSocket.getInputStream()));
    String nickname = "";
    if((nickname = in.readLine()) != null) {
        System.out.println(nickname);
    } else {
        nickname = "moep";
    }
    lnkServer.addUser(userSocket, nickname);
    

    und hier der aufruf vom client

    connection = new Socket("localhost",1024);
    System.out.println("Connected");
    in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
    out = new BufferedWriter(new OutputStreamWriter(connection.getOutputStream()));
    out.write("testuser");
    out.flush();
    

    wenn ihr den ganzen code braucht, dann verlink ich den natürlich, müsst ihr nur schreiben...
    bin für jede hilfe dankbar 😉



  • Seit wann geht den sowas in Java:

    if((nickname = in.readLine()) != null) {
    

    Ok das geht tatsächlich... war das nicht mal in Java verboten?



  • nicht das ich das wüsste ^^ allerdings programmier ich noch ned so lange in java ^^



  • poste doch mal den Exception Stacktrace. Da kann man doch sehen in welcher Zeile es passiert.

    Achja, wenn du mit ner besseren IDE z.B. Eclipse arbeitest, dann kann man sowas ganz einfach debuggen.



  • nya ich benutz netbeans, aber da hat mir der Debugger ned viel gebracht.
    der Stacktrace sagt mir jetzt au ned viel:

    java.lang.NullPointerException
    at Server.Server.addUser(Server.java:60)
    at Server.LoginThread.run(LoginThread.java:45)

    dann ergänz ich noch schnell den code für Server.addUser()

    public void addUser(Socket userSocket, String nickname) {
            userList.addUser(userSocket, nickname);
        }
    


  • ist userList null?



  • ach manno, ich hasse solche fehler ^^
    Danke für die Hilfe, hätt das jetzt ned gefunden 😃



  • DEvent schrieb:

    Seit wann geht den sowas in Java:

    if((nickname = in.readLine()) != null) {
    

    Ok das geht tatsächlich... war das nicht mal in Java verboten?

    warum sollte das nicht gehen, natürlich eght das, und das war auch nie "verboten"...

    gieser schrieb:

    nya

    deutsch?

    der Stacktrace sagt mir jetzt au ned viel:

    java.lang.NullPointerException
    at Server.Server.addUser(Server.java:60)
    at Server.LoginThread.run(LoginThread.java:45)

    dumm? dann lern java, der stacktrace sagt dir sogar in welcher zeile!!! der fehler auftritt
    und in
    userList.addUser(userSocket, nickname);
    kann nur eine variable null sein damit der fehler fliegt 😡



  • oO reg dich doch ab ^^ ich bin ja noch am Java Lernen -.-

    und nya = naja, sagt man halt so im schwäbschen


Anmelden zum Antworten