Elixus-server is a Node.js library for setting up a messaging service with live messaging capabilities based on `socket.io`. This library simplifies the process of integrating live messaging in your Node.js applications.
npm install elixus-server
import messagesConnection from "elixus-server";
import { Server } from "http";
const httpServer = new Server();
const messagingService = messagesConnection(httpServer, {
timeout: 15000,
route: "/chat",
port: 3000,
});
messagingService.onSendMessage((message, room) => {
console.log("New message:", message);
// Add your message handling logic here
});
httpServer.listen(3000, () => {
console.log("Server is running on port 3000");
});
Sets up the messaging service.
-
server
: The HTTP server instance or the port number on which to run the server. -
options
(optional): An object with the following properties:-
timeout
(default:10000
): Connection timeout in milliseconds. -
route
(default:undefined
): Custom path for socket connection. -
port
(default:undefined
): Port number for the server to listen on.
-
Returns an object with the following properties:
-
onlineUsers
: An array of online users. -
onSendMessage(callback)
: Registers a callback function to handle incoming messages.
Updates the list of online users.
type MessagesConnectionOptions = {
timeout?: number;
route?: string;
port?: number;
};
type OnlineUser = {
room: string;
id: string;
};
Triggered when a user sends a message.
-
data
: An object containing:-
to
: The recipient's ID. -
message
: The message content. -
token
: The authentication token. -
payload
: Additional payload data.
-
Emitted to the recipient and sender when a new message is received.
Emitted when the online users list is updated.
import messagesConnection from "elixus-server";
import { Server } from "http";
const httpServer = new Server();
const messagingService = messagesConnection(httpServer, {
port: 3000,
});
messagingService.onSendMessage((message, room) => {
console.log("New message:", message);
// Handle the message here
});
httpServer.listen(3000, () => {
console.log("Server is running on port 3000");
});