Results 1 to 6 of 6
- 10-18-2010, 05:38 PM #1
Member
- Join Date
- Sep 2010
- Posts
- 40
- Rep Power
- 0
null pointer exception in multi threading
Guys, I am getting null pointer exception in my server multi threading code.
The error occurs towards the end of the code where I close my server (server.close();)
I have intialized the server with a null value inside run(). But actually i want to close the server which i created inside main(). But I cant access it from outside main(). how do i solve this issue???
Java Code:import java.io.*; import java.net.*; import java.util.logging.Level; import java.util.logging.Logger; public class server implements Runnable { Socket socket = null; public server(Socket socket) { this.socket = socket; } public static void main(String args[]) { ServerSocket server = null; Socket socket = null; try { //create socket server = new ServerSocket(5000, 100); System.out.println("Waiting for connection"); } catch (IOException ex) { Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex); } while (true) { try { //accept nxt connection request socket = server.accept(); System.out.println("Connection received from " + socket.getInetAddress().getHostName()); server myServer = new server(socket); Thread t = new Thread(myServer); Thread t1 = Thread.currentThread(); String name = t1.getName(); t.start(); System.out.println(" thread name is:" +name); } catch (IOException ex) { Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex); } } } public void run() { ObjectInputStream in = null; ObjectOutputStream out = null; boolean exit = false; ServerSocket server = null; try { //get input and output streams out = new ObjectOutputStream(socket.getOutputStream()); in = new ObjectInputStream(socket.getInputStream()); System.out.println("Connection successfull"); //reading input string String inputStr = (String) in.readObject(); System.out.println("client> " + inputStr); if (!inputStr.equals("exit")) { if (inputStr.equals("vivek")) { out.writeObject("Granted"); } else { out.writeObject("Denied"); } } else { exit = true; out.writeObject("exiting"); } //close connection in.close(); out.close(); socket.close(); } catch (IOException ex) { Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception e) { System.err.println("Exception: " + e.getMessage()); e.printStackTrace(); } finally { try { server.close(); } catch (IOException ex) { Logger.getLogger(server.class.getName()).log(Level.SEVERE, null, ex); } } } }
-
Just use basic OOPs techniques. Give the server class a private ServerSocket variable and pass a reference to the ServerSocket created in main into your "server" class object via its constructor or via a public setServerSocket method that you create.
- 10-18-2010, 06:31 PM #3
Member
- Join Date
- Sep 2010
- Posts
- 40
- Rep Power
- 0
how do I do that? this si what I did. is it correct?
Java Code:private ServerSocket server = null; public server(Socket socket, ServerSocket server) { this.socket = socket; this.server = server; }
-
- 10-20-2010, 05:46 PM #5
Member
- Join Date
- Sep 2010
- Posts
- 40
- Rep Power
- 0
no it didnt. still getting null pointer exception
-
Similar Threads
-
Null pointer exception
By izzy in forum New To JavaReplies: 5Last Post: 03-22-2010, 05:19 PM -
null pointer exception
By anthonym2121 in forum New To JavaReplies: 7Last Post: 04-06-2009, 03:25 AM -
Null pointer exception
By Stephenmak in forum New To JavaReplies: 5Last Post: 04-01-2009, 02:17 PM -
Null Pointer Exception
By demiser55 in forum New To JavaReplies: 1Last Post: 09-22-2008, 06:33 PM -
getting a null pointer exception
By Rjava in forum XMLReplies: 4Last Post: 07-16-2008, 05:56 AM


LinkBack URL
About LinkBacks
Reply With Quote

Bookmarks