0.0.3 • Published 3 years ago

lets-connect-socket v0.0.3

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

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
});

Thanks