-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathServer.java
More file actions
68 lines (61 loc) · 2.57 KB
/
Copy pathServer.java
File metadata and controls
68 lines (61 loc) · 2.57 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
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private static final int PORT = 5000;
private static final Logger logger = new Logger("Server");
private static ServerSocket server;
private static BufferedReader in;
private static PrintWriter out;
public static void main(String[] args)
throws Exception{
try {
server = new ServerSocket(PORT);
logger.log("Server is up on port " + PORT);
while (true) {
logger.log("Waiting for one single client to connect...");
Socket client = server.accept();
logger.log("Client connected");
in = new BufferedReader(new InputStreamReader(client.getInputStream()));
out = new PrintWriter(new OutputStreamWriter(client.getOutputStream()), true);
if (in.readLine().equals("connection check")) {
out.println("ok");
}
while(true) {
try {
String message = in.readLine();
if (message.equals("stop")) {
out.println("ok bye!!!");
disconnectClient(client);
break;
} if (message.contains("Hey") || message.contains("Hello") || message.contains("hey") || message.contains("hello")) {
logger.log("client message received -> " + message);
out.println("Hello I am a Java Socket Server");
} else {
logger.log("client message received -> " + message);
out.println("I am a pretty lame system and cannot understand anything till now :(");
}
} catch (Exception ignored) {
disconnectClient(client);
break;
}
}
}
} catch (IOException e) {
logger.log(e);
} finally {
server.close();
logger.log("Bye");
}
}
public static void disconnectClient(Socket client) {
try {
client.close();
logger.log("Client disconnected");
} catch (Exception ignored) {}
}
}