COMP2396
Loading...
Searching...
No Matches
Server.Handler Class Reference
Inheritance diagram for Server.Handler:
Collaboration diagram for Server.Handler:

Public Member Functions

 Handler (Socket socket)
 
void run ()
 

Private Attributes

Scanner input
 
PrintWriter output
 
Socket socket
 

Detailed Description

Definition at line 37 of file Server.java.

Constructor & Destructor Documentation

◆ Handler()

Server.Handler.Handler ( Socket socket)
inline

Definition at line 42 of file Server.java.

42 {
43 this.socket = socket;
44 }
Socket socket
Definition Server.java:38

References Server.Handler.socket.

Member Function Documentation

◆ run()

void Server.Handler.run ( )
inline

Definition at line 47 of file Server.java.

47 {
48 System.out.println("Connected: " + socket);
49 try {
50 input = new Scanner(socket.getInputStream());
51 output = new PrintWriter(socket.getOutputStream(), true);
52
53 // add this client to the broadcast list
54 writers.add(output);
55
56 while (input.hasNextLine()) {
57 var command = input.nextLine();
58
59 System.out.println("Server Received: " + command);
60
61 if (command.startsWith("UP")) {
62 number.up();
63 } else if (command.startsWith("DOWN")) {
64 number.down();
65 }
66
67 // broadcast updated number to all clients
68 for (PrintWriter writer : writers) {
69 writer.println(number.getNumber());
70 }
71
72 System.out.println("Server Broadcasted: " + number.getNumber());
73
74 }
75 } catch (Exception e) {
76 System.out.println(e.getMessage());
77 } finally {
78 // client disconnected
79 if (output != null) {
80 writers.remove(output);
81 }
82 }
83 }
PrintWriter output
Definition Server.java:40
Scanner input
Definition Server.java:39
SharedNumber number
Definition Server.java:12
Set< PrintWriter > writers
Definition Server.java:15
synchronized int getNumber()
synchronized void up()
synchronized void down()

References SharedNumber.down(), SharedNumber.getNumber(), Server.Handler.input, Server.number, Server.Handler.output, Server.Handler.socket, SharedNumber.up(), and Server.writers.

Here is the call graph for this function:

Member Data Documentation

◆ input

Scanner Server.Handler.input
private

Definition at line 39 of file Server.java.

Referenced by Server.Handler.run().

◆ output

PrintWriter Server.Handler.output
private

Definition at line 40 of file Server.java.

Referenced by Server.Handler.run().

◆ socket

Socket Server.Handler.socket
private

Definition at line 38 of file Server.java.

Referenced by Server.Handler.Handler(), and Server.Handler.run().


The documentation for this class was generated from the following file: