1

So i am running a online chat function using js that currently sends and receives messages and has a user count in the top right corner that updates when a user leaves or joins. I need help with making a js function that you can submit a name to and it saves it and prints it alongside your own messages. my current code on chat.js-

var WebSocketServer = require("ws").Server;
var wss = new WebSocketServer({port:3030});
var msgArray = new Array();
wss.on("connection", function(client) {

    client.on("message", function(message) {
        wss.clients.forEach(function(client) {
            sendChat(client, message);
        });
        msgArray.push(message); 
    });

    sendChat(client, `Welcome to chat :)`);
    sendUC();
    msgArray.forEach(function(item) {
        sendChat(client, item);
    })
});


function sendChat(client, message) {
    var msg = ["chat", message];
    client.send(JSON.stringify(msg));
}
function sendUC(){
    wss.clients.forEach(function(client){
        var UCmsg = ["uc",wss.clients.size];
        client.send(JSON.stringify(UCmsg));
    });
}

My current code on client.js-

var ws = new WebSocket("ws://jg.codesphere.net:3030");

ws.onmessage = function (payload) {
    var msg = JSON.parse(payload.data);
    if (msg[0] == "chat") {
        addMessage(msg[1]);
    }
    if (msg[0] == "uc") {
        addMessage("Another user joined");
        adduc(msg[1]);
    }
};


$(function () {
    document.forms[0].onsubmit = function () {
        var input = $("input#message").val();
        $("input#message").val('');
        ws.send(input);
    };
});

function User() {

}

function addMessage(m) {
    var html = "<p>" + m + "</p>";
    $("div#messages").append(html);
}

function adduc(m) {
    var html = "<p>" + m + "</p>";
    $("span#1").html(m + " users online");
}

So i need help with where i would call a user entry function and how to make the function.

JackGab
  • 37
  • 4

0 Answers0