-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathServerThread.java
More file actions
105 lines (87 loc) · 2.41 KB
/
ServerThread.java
File metadata and controls
105 lines (87 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import java.io.*;
import java.net.*;
import java.util.*;
public class ServerThread extends Thread
{
//Needed Objects
Socket socket;
BufferedReader inputStream;
PrintStream outputStream;
//Needed Variables
String clientMessage;
int messageCounter;
/*
* Name: ServerThread Constructor
* Type: Constructor
* Description: This Constructor Takes in a Socket
* Object and Sets the Global Socket
* == to it
*/
ServerThread(Socket socket)
{
//Setting Global Socket to the Given Socket
this.socket = socket;
}
/*
* Name: Overload Run Function
* Type: Void
* Description: ...
*/
public void run()
{
try
{
//Input Stream To Get Data From The Client
inputStream = new BufferedReader(new InputStreamReader(socket.getInputStream()));
//Output Stream To Send Data To The Client
outputStream = new PrintStream(socket.getOutputStream());
clientMessage = inputStream.readLine();
//For Testing
System.out.println(clientMessage);
if(clientMessage.compareTo("client")==0)
{
List<createjob> Job = new ArrayList<>();
Job.add(new createjob("job1","job1name"));
Job.add(new createjob("job1","job1name"));
Job.add(new createjob("job1","job1name"));
try ( // send object
ObjectOutputStream objectOutputStream = new ObjectOutputStream(socket.getOutputStream()))
{
objectOutputStream.writeObject(Job);
objectOutputStream.flush();
}
catch(Exception e)
{
}
}
else {
//For Testing Purposes
messageCounter = 1;
//Loop Until Keyword Is Found
while (clientMessage.compareTo("stop") != 0) {
//Send Rebound Message To The Client
outputStream.println(messageCounter + " " + clientMessage + " Rebounded By Server\n");
//Clear outputStream Buffer
outputStream.flush();
//Display The Clients Message On Servers End
System.out.println("Client has sent the message: " + clientMessage);
//Get New Client Message
clientMessage = inputStream.readLine();
//Increase Message Counter
messageCounter++;
}
}
//Close All Streams
inputStream.close();
outputStream.close();
socket.close();
}
catch(Exception e)
{
//Printing The Stack Trace For The User
e.printStackTrace();
//Closing the ServerThread Program
System.exit(0);
}
}
}