Advertisement
Guest User

Untitled

a guest
Dec 20th, 2014
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.74 KB | None | 0 0
  1. package serialization;
  2.  
  3. import java.io.IOException;
  4. import java.io.Serializable;
  5. import java.net.ServerSocket;
  6. import java.net.Socket;
  7. import java.util.Scanner;
  8.  
  9. public class Server extends Thread implements Serializable {
  10.  
  11. private ServerSocket serverSocket;
  12. private static final int SERVER_PORT = 8080;
  13. DataQueue queue;
  14.  
  15. public Server() throws IOException {
  16. this.serverSocket = new ServerSocket(SERVER_PORT);
  17. queue = new DataQueue();
  18. }
  19.  
  20. @Override
  21. public void run() {
  22. Scanner scanner;
  23. while (true) {
  24. System.out.println("Server waiting connection...");
  25. Socket socket;
  26. try {
  27. socket = serverSocket.accept();
  28. System.out.println("Client connected...");
  29. scanner = new Scanner(socket.getInputStream());
  30. String id = scanner.nextLine();
  31. System.out.println("id: " + id);
  32. if (id.equals("producer")) {
  33. new ServerProducer(socket, queue).start();
  34. }
  35. if (id.equals("consumer")) {
  36. queue.addObserver(new ServerConsumer(socket));
  37. }
  38. } catch (IOException e) {
  39. e.printStackTrace();
  40. }
  41. }
  42.  
  43. }
  44.  
  45. public static void main(String[] args) throws IOException {
  46. Server server = new Server();
  47. server.start();
  48. }
  49.  
  50. }
  51.  
  52. //////////////////////////DATAQUEUE//////////////////////////
  53. package serialization;
  54.  
  55. import java.util.ArrayList;
  56. import java.util.List;
  57. import java.util.Observable;
  58. import java.util.Observer;
  59.  
  60. public class DataQueue extends Observable {
  61.  
  62. List<String> producerMsgs;
  63.  
  64. public DataQueue() {
  65. producerMsgs = new ArrayList<String>();
  66. }
  67.  
  68. public void addMsg(String msg){
  69. producerMsgs.add(msg);
  70. }
  71.  
  72. public void msgsChanged(){
  73. setChanged();
  74. notifyObservers();
  75. }
  76.  
  77. public void addObserver(Observer o){
  78. addObserver(o);
  79. }
  80.  
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement