0.0.3 • Published 3 years ago
lets-connect-socket v0.0.3
lets-connect-socket
Install
$ npm install lets-connect-socket --save
Usage
const letsConnectSocket = require('lets-connect-socket');
const users = [{id:1,name:'Support 1',chat:0}];//Add Your user list
const port = 3010; //Add your port where you want to start sockt connection
Create socket server
letsConnectSocket.connect({users,port});
Connect socket server from frontend
$ npm install socket.io-client --save
import {io} from "socket.io-client";
const socket = io("http://localhost:3010");
socket.on("connect", (socket) => {
console.log(socket.id);
});
(Support) Passing user is login when support is login
socket.emit('supportLogin', { name: 'Support 1', id: socket.id });
socket.on("supportLoginCall", (data) => {
//
});
(User) Assign support to user when user is login
socket.emit("userLogin", { name: 'User 1', id: socket.id });
socket.on("assignSupport", (supportUserData) => {
// In data you get your support agent details
});
(User) Sending and receiving message
socket.emit("sentMessageRoom", {
support: supportUserData, // login support user info
name: '',
id: socket.id,
message: message, // message
sendTo: supportUserData.id // login support id
});
socket.on("receiveMessage", (messageData) => {
// In data you get your support agent details
});
(Support) Sending and receiving message
socket.emit("sentMessageRoom", {
support: {},
name: '',
id: socket.id,
message: message, // message
sendTo: userID // login user id
});
socket.on("receiveMessage", (messageData) => {
// In data you get your support agent details
});
(User) Notify when users leave chat
socket.emit("sentMessageLogoutToRoom", {
sendTo: user.id, // login user id
name: user.name, // login username
id: socket.id // socket id
});
socket.on("userOffline", (messageData) => {
// In data you get your support agent details
});
(Support) Notify when users leave chat
socket.emit("supportOffline", {
sendTo: support.id, // support id
});
socket.on("userOffline", (messageData) => {
// In data you get your support agent details
});