aboutsummaryrefslogtreecommitdiff
path: root/src/Server/SocketServer.java
diff options
context:
space:
mode:
authorVidhu Kant Sharma <vidhukant@vidhukant.com>2024-11-16 02:16:16 +0530
committerVidhu Kant Sharma <vidhukant@vidhukant.com>2024-11-16 02:16:16 +0530
commitda6b366397aa15e2686840c1d9ffa5dae5d49d2a (patch)
treea53bc42092a564bfbf66a67b70e3aa9cb8689798 /src/Server/SocketServer.java
First Commit
Diffstat (limited to 'src/Server/SocketServer.java')
-rw-r--r--src/Server/SocketServer.java53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/Server/SocketServer.java b/src/Server/SocketServer.java
new file mode 100644
index 0000000..f3a8f2e
--- /dev/null
+++ b/src/Server/SocketServer.java
@@ -0,0 +1,53 @@
+package Server;
+
+import Store.Book;
+import Store.User;
+import com.corundumstudio.socketio.SocketIOServer;
+import com.corundumstudio.socketio.listener.ConnectListener;
+import com.corundumstudio.socketio.listener.DisconnectListener;
+import com.corundumstudio.socketio.Configuration;
+
+public class SocketServer {
+ public static SocketIOServer server;
+
+ public SocketServer(Configuration config) {
+ server = new SocketIOServer(config);
+
+ server.addConnectListener(onConnected());
+ server.addDisconnectListener(onDisconnected());
+
+ server.addEventListener("login", JSONMessage.class, User.loginHandler());
+ server.addEventListener("signUp", JSONMessage.class, User.signUpHandler());
+
+ server.addEventListener("issue", JSONMessage.class, Book.issueHandler());
+ server.addEventListener("return", JSONMessage.class, Book.returnHandler());
+ server.addEventListener("getAllBooks", JSONMessage.class, Book.getListHandler(false));
+ server.addEventListener("getAvailableBooks", JSONMessage.class, Book.getListHandler(true));
+ }
+
+ private ConnectListener onConnected() {
+ return (client -> {
+ System.out.println("New connection!");
+ });
+ }
+
+ private DisconnectListener onDisconnected() {
+ return (client -> {
+ System.out.println("Disconnected!");
+ });
+ }
+
+ public void start() {
+ server.start();
+
+ Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
+ public void run() {
+ server.stop();
+ }
+ }, "Shutdown-thread"));
+ }
+
+ public void stop() {
+ server.stop();
+ }
+}