Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package serialization;
- import java.io.IOException;
- import java.io.Serializable;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.util.Scanner;
- public class Server extends Thread implements Serializable {
- private ServerSocket serverSocket;
- private static final int SERVER_PORT = 8080;
- DataQueue queue;
- public Server() throws IOException {
- this.serverSocket = new ServerSocket(SERVER_PORT);
- queue = new DataQueue();
- }
- @Override
- public void run() {
- Scanner scanner;
- while (true) {
- System.out.println("Server waiting connection...");
- Socket socket;
- try {
- socket = serverSocket.accept();
- System.out.println("Client connected...");
- scanner = new Scanner(socket.getInputStream());
- String id = scanner.nextLine();
- System.out.println("id: " + id);
- if (id.equals("producer")) {
- new ServerProducer(socket, queue).start();
- }
- if (id.equals("consumer")) {
- queue.addObserver(new ServerConsumer(socket));
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public static void main(String[] args) throws IOException {
- Server server = new Server();
- server.start();
- }
- }
- //////////////////////////DATAQUEUE//////////////////////////
- package serialization;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Observable;
- import java.util.Observer;
- public class DataQueue extends Observable {
- List<String> producerMsgs;
- public DataQueue() {
- producerMsgs = new ArrayList<String>();
- }
- public void addMsg(String msg){
- producerMsgs.add(msg);
- }
- public void msgsChanged(){
- setChanged();
- notifyObservers();
- }
- public void addObserver(Observer o){
- addObserver(o);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement