thufir

server

Jul 5th, 2014
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.34 KB | None | 0 0
  1. thufir@dur:~$
  2. thufir@dur:~$
  3. thufir@dur:~$ java -jar NetBeansProjects/Server/dist/Server.jar
  4. Jul 05, 2014 9:02:19 PM dur.bounceme.net.server.controller.Driver startServer
  5. INFO: started server
  6. Jul 05, 2014 9:02:22 PM net.bounceme.dur.server.pools.WorkerRunnable run
  7. INFO:
  8. id  1
  9. phone   0
  10. title   created on Server.RecordQueue
  11. state   undefined
  12. Jul 05, 2014 9:02:22 PM net.bounceme.dur.server.pools.WorkerRunnable run
  13. INFO: sent recordFromServer to objectOutputStream
  14. Jul 05, 2014 9:02:22 PM net.bounceme.dur.server.pools.WorkerRunnable run
  15. WARNING: why is there no record from client?
  16.  
  17. java.io.EOFException
  18.     at java.io.ObjectInputStream$BlockDataInputStream.peekByte(ObjectInputStream.java:2598)
  19.     at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1318)
  20.     at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
  21.     at net.bounceme.dur.server.pools.WorkerRunnable.run(WorkerRunnable.java:36)
  22.     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  23.     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  24.     at java.lang.Thread.run(Thread.java:744)
  25.  
  26. ^Cthufir@dur:~$
  27. thufir@dur:~$
  28. thufir@dur:~$ cat NetBeansProjects/Server/src/net/bounceme/dur/server/pools/
  29. MyProps.java              RecordsQueueWrapper.java  Server.java               WorkerRunnable.java
  30. thufir@dur:~$ cat NetBeansProjects/Server/src/net/bounceme/dur/server/pools/WorkerRunnable.java
  31. package net.bounceme.dur.server.pools;
  32.  
  33. import dur.bounceme.net.data.Title;
  34. import java.io.IOException;
  35. import java.io.ObjectInputStream;
  36. import java.io.ObjectOutputStream;
  37. import java.net.Socket;
  38. import java.util.NoSuchElementException;
  39. import java.util.logging.Level;
  40. import java.util.logging.Logger;
  41.  
  42. public class WorkerRunnable implements Runnable {
  43.  
  44.     private static final Logger log = Logger.getLogger(WorkerRunnable.class.getName());
  45.     protected Socket socket = null;
  46.     private RecordsQueueWrapper recordsQueue = null;
  47.  
  48.     public WorkerRunnable(Socket clientSocket, RecordsQueueWrapper recordsQueue) {
  49.         this.socket = clientSocket;
  50.         this.recordsQueue = recordsQueue;
  51.     }
  52.  
  53.     @Override
  54.     public void run() {
  55.         Title recordFromServer = null;
  56.         Title recordFromClient = null;
  57.         boolean queueEmpty = false;
  58.         try (ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream());
  59.                 ObjectInputStream objectInputStream = new ObjectInputStream(socket.getInputStream())) {
  60.             do {
  61.                 try {
  62.                     recordFromServer = recordsQueue.pop();
  63.                     log.info(recordFromServer.toString());
  64.                     objectOutputStream.writeObject(recordFromServer);
  65.                     log.info("sent recordFromServer to objectOutputStream");
  66.                     recordFromClient = (Title) objectInputStream.readObject();
  67.                 } catch (NoSuchElementException nse) {
  68.                     queueEmpty = true;
  69.                 }
  70.             } while (!queueEmpty);
  71.         } catch (java.io.EOFException eofe) {
  72.             log.log(Level.WARNING, "why is there no record from client?\n", eofe);
  73.         } catch (IOException | ClassNotFoundException ex) {
  74.             Logger.getLogger(WorkerRunnable.class.getName()).log(Level.SEVERE, null, ex);
  75.         }
  76.     }
  77. }
  78. thufir@dur:~$
  79. thufir@dur:~$
Advertisement
Add Comment
Please, Sign In to add comment