diff options
author | Vidhu Kant Sharma <vidhukant@vidhukant.com> | 2024-11-16 02:16:16 +0530 |
---|---|---|
committer | Vidhu Kant Sharma <vidhukant@vidhukant.com> | 2024-11-16 02:16:16 +0530 |
commit | da6b366397aa15e2686840c1d9ffa5dae5d49d2a (patch) | |
tree | a53bc42092a564bfbf66a67b70e3aa9cb8689798 /src/Server/SocketServer.java |
First Commit
Diffstat (limited to 'src/Server/SocketServer.java')
-rw-r--r-- | src/Server/SocketServer.java | 53 |
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(); + } +} |